Oracle如何把数据库表迁移到指定表空间
问题描述:
将测试数据库中的表结果导入到正式数据库。需要在正式库中建立独立的表空间存放新导入的表,以避免和正式库中原来的表混淆。
处理步骤:
1. 在命令行中用exp指令导出测试库中指定表到指定的dmp文件
exp wm/wm@orcl file=d:daochu.dmp tables=( wm.BI_GYS, wm.BI_BMXP, wm.BI_DJXS, wm.BI_KS, wm.BI_MD, wm.BI_PHJY, wm.BI_SPLB)
该命令以wm用户将7个表(表原来位于测试库的表空间WFBI)导出到daochu.dmp文件中。
导出报告如下:
C:\Documents and Settings\Administrator>exp wm/wm@orcl file=d:daochu.dmp tables=
( wm.BI_GYS, wm.BI_BMXP, wm.BI_DJXS, wm.BI_KS, wm.BI_MD, wm.BI_PHJY, wm.BI_SPLB)
Export: Release 10.2.0.1.0 – Production on 星期二 1月 25 20:31:41 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production
With the Partitioning, OLAP and Data Mining options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径…
. . 正在导出表 BI_GYS导出了 2222 行
. . 正在导出表 BI_BMXP导出了 2 行
. . 正在导出表 BI_DJXS导出了 209 行
. . 正在导出表 BI_KS导出了 140 行
. . 正在导出表 BI_MD导出了 45 行
. . 正在导出表 BI_PHJY导出了 9108 行
. . 正在导出表 BI_SPLB导出了 220 行
成功终止导出, 没有出现警告。
也可以用指令将数据库完全导出如下:
exp wm/wm@orcl file=d:daochu.dmp full=y
2. 在正式库中建立表空间wftsp,该表空间为目的表空间。
Create tablespace wftsp datafile ‘D:\data\wfbi.dbf’ size 10M UNIFORM SIZE 128K;
3. 在正式库中新建用户wfdba,指定用户的默认表空间wftsp,回收用户unlimited tablespace权限,这样就可以导入到用户缺省表空间wftsp。
1)新建用户wfdba,密码wfdba,默认表空间wftsp。
create user wfdba identified by wfdba
default tablespace wftsp
temporary tablespace temp;2)授予用户相应权限,并回收用户的unlimited tablespace权限。
SQL> grant connect,resource to wfdba;
Grant succeeded
SQL> grant dba to wfdba;
Grant succeeded
SQL> revoke unlimited tablespace from wfdba;– 回收unlimited tablespace权限,用户在表空间无限制配额先废除
Revoke succeeded
SQL> alter user wfdba quota 0 on users;–将用户wfdba在users表空间下的配额设置为0.让其无法写入
User altered
SQL> alter user wfdba quota unlimited on wftsp;– 将用户wfdba在wftsp表空间下的配额设置成无限
User altered
4. 在命令行用imp指令导入数据
imp wfdba/wfdba file=d:\daochu.dmp fromuser=wm touser=wfdba grants=n
该命令将文件d:\daochu.dmp中所属用户wm的数据导入另一个用户wfdba。
导出报告如下:
C:\Documents and Settings\Administrator>imp wfdba/wfdba file=d:\daochu.dmp fromuser=wm touser=wfdba grants=n
Import: Release 10.2.0.1.0 – Production on 星期二 1月 25 20:56:53 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production
With the Partitioning, OLAP and Data Mining options
经由常规路径由 EXPORT:V10.02.01 创建的导出文件
警告: 这些对象由 WM 导出, 而不是当前用户
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 WM 的对象导入到 WFDBA
. . 正在导入表 “BI_GYS”导入了 2222 行
. . 正在导入表 “BI_BMXP”导入了 2 行
. . 正在导入表 “BI_DJXS”导入了 209 行
. . 正在导入表 “BI_KS”导入了 140 行
. . 正在导入表 “BI_MD”导入了 45 行
. . 正在导入表 “BI_PHJY”导入了 9108 行
. . 正在导入表 “BI_SPLB”导入了 220 行
成功终止导入, 没有出现警告。
5. 以用户wfdba登录,查看表及其所在空间。
SQL> select table_name,tablespace_name from user_tables;
TABLE_NAME TABLESPACE_NAME
—————————— ——————————
BI_GYS WFTSP
BI_BMXP WFTSP
BI_DJXS WFTSP
BI_KS WFTSP
BI_MD WFTSP
BI_PHJY WFTSP
BI_SPLB WFTSP
7 rows selected
以上查询结果表明测试库的表已经被成功的导入到正式库新建立的表空间WFTSP。
注意:如果用具有dba权限的用户导入,那么导入时会按照原来的位置导入数据,即导入到原表空间
比如用如上方法建立一个用户wfdba1,赋予相应的权限.
create user wfdba identified by wfdba
default tablespace wftsp
temporary tablespace temp;
grant connect,resource to wfdba;
grant dba to wfdba1;
该用户导入表得出如下导出报告,表被成功的导入,但是没有被导入至指定的表空间。
C:\Documents and Settings\Administrator>imp wfdba1/wfdba1 file=d:\daochu.dmp fromuser=wm touser=wfdba1 grants=n
Import: Release 10.2.0.1.0 – Production on 星期二 1月 25 21:18:47 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – Production
With the Partitioning, OLAP and Data Mining options
经由常规路径由 EXPORT:V10.02.01 创建的导出文件
警告: 这些对象由 WM 导出, 而不是当前用户
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 WM 的对象导入到 WFDBA1
. . 正在导入表 “BI_GYS”导入了 2222 行
. . 正在导入表 “BI_BMXP”导入了 2 行
. . 正在导入表 “BI_DJXS”导入了 209 行
. . 正在导入表 “BI_KS”导入了 140 行
. . 正在导入表 “BI_MD”导入了 45 行
. . 正在导入表 “BI_PHJY”导入了 9108 行
. . 正在导入表 “BI_SPLB”导入了 220 行
成功终止导入, 没有出现警告。
以用户wfdba1登录,查看表及其所在空间。
SQL> select table_name,tablespace_name from user_tables;
TABLE_NAME TABLESPACE_NAME
—————————— ——————————
BI_GYS WFBI
BI_BMXP WFBI
BI_DJXS WFBI
BI_KS WFBI
BI_MD WFBI
BI_PHJY WFBI
BI_SPLB WFBI
7 rows selected
查询结果表明,表被导入到了原来的表空间WFBI。
Oracle如何把数据库表迁移到指定表空间的更多相关文章
- Oracle 基础 导入数据库 删除用户、删除表空间、删除表空间下所有表
导入数据库 在cmd下用 imp导入 格式: imp userName/passWord file=bmp文件路径 ignore = y (忽略创建错误)full=y(导入文件中全部内容); 例: ...
- Oracle 查看一个数据库实例下面所有的表大小
1. 因为 oracle有一些 lob字段 在user_extents 里面取出来的结果不是表名, 所以需要与user_lobs 表做关联查询才可以 本来想通过 关联查询来实现, 发现字表查询更简单 ...
- SQL Server 和 Oracle 以及 MySQL 数据库
推荐:https://www.zhihu.com/question/19866767 三者是目前市场占有率最高(依安装量而非收入)的关系数据库,而且很有代表性.排行第四的DB2(属IBM公司),与Or ...
- 利用navcat为mysql数据库单独的表赋权限及表结构同步
为mysql数据库单独的表赋权限 场景:考勤系统需要拿OA数据库td_oa中的flow_run和flow_run_data表中的数据做考勤计算 考勤系统只需要读取这两张表的数据,所以只需要开通一个单独 ...
- MySQL&SQL server&Oracle&Access&PostgreSQL数据库sql注入详解
判断数据库的类型 当我们通过一些测试,发现存在SQL注入之后,首先要做的就是判断数据库的类型. 常用的数据库有MySQL.Access.SQLServer.Oracle.PostgreSQL.虽然绝大 ...
- SQL Server 表分区之水平表分区
什么是表分区? 表分区分为水平表分区和垂直表分区,水平表分区就是将一个具有大量数据的表,进行拆分为具有相同表结构的若干个表:而垂直表分区就是把一个拥有多个字段的表,根据需要进行拆分列,然后根据某一个字 ...
- ShardingJdbc-分表;分库;分库分表;读写分离;一主多从+分表;一主多从+分库分表;公共表;数据脱敏;分布式事务
目录 创建项目 分表 导包 表结构 Yml 分库 Yml Java 分库分表 数据库 Yml 读写分离 数据库 Yml 其他 只请求主库 读写分离判断逻辑代码 一主多从+分表 Yml 一主多从+分库分 ...
- 使用sql查询mysql/oracle/sql server/gp数据库中指定表的字段信息(字段名/字段类型/字段长度/是否是主键/是否为空)
1,根据数据库类型拼接不同URL /** * 根据类型不同拼接连接的URL * @param dbType 1:mysql.2:oracle.3:sql server.4:gp * @param ip ...
- Oracle 删除用户和表空间////Oracle创建删除用户、角色、表空间、导入导出、...命令总结/////Oracle数据库创建表空间及为用户指定表空间
Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一: 删除user drop ...
随机推荐
- Git&GitHub学习日志
Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件.作为一个 ...
- 工具类APP
应用名称 工具S 英文名称 未填写 应用描述 工具类APP 英文描述 未填写 应用官网 this 应用图标
- 数据库--oracle安装配置(本地安装的步骤及各种问题解决方案)
oracle版本:Oracle 11g 本地电脑配置:安装内存8G 64为操作系统win8.1 下载Oracle 11g压缩包: 1 网址http://www.oracle.com/technetwo ...
- C++调用C代码的两种方式
由于C++支持函数重载,在编译函数代码的时候会加上参数类型的信息,而C编译只有函数名信息,导致C++直接调用C代码在链接的时候会出现函数未定义的问题.解决这种问题有两种方法.方法一:在写C代码的时候考 ...
- sockets+proxychains代理,使内网服务器可以访问外网
Socks5+proxychains做正向代理 1. 应用场景: 有一台能上外网的机子,内网机子都不能连外网,需求是内网机子程序需要访问外网,做正向代理. 2. 软件 ...
- 基于VUE的SPA单页应用开发-加载性能篇
1.基于异步数据的vue页面刷新 先看看基于异步数据的vue页面刷新后,都发生了啥- 如图所示: 图1 基于异步数据的vue页面刷新 网络请求图 步骤如下: step1:请求页面: step2:请求页 ...
- Xshell 6 免费版本安装过程
下载 官网下载:https://www.netsarang.com/ 点击download 注册 填写下方红色方框标注的注册信息,注册类型填写“home or school use”,名字,邮箱.最后 ...
- IDEA相关设置
今天终于放弃了MyEclipse,在使用MyEclipse中的各种心酸就不多说,总结成一句话就是:珍爱生命,远离MyEclipse. 换到IDEA后,安装了IdeaVim插件,支持vim的操作,提高的 ...
- [C#]INI文件控制类
INI文件常用于保存各类设置或本地化文本,大概格式如下: [Section] key=value 然而.NET框架似乎并没有提供一个实用的工具来操作它,或许是因为MS想让我们都使用Settings类控 ...
- centos7安装 ftp 组件与开放防火墙端口命令
Linux 安装 ftp 组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是 vsftp 的配置文件. 1.执行 yum -y install vsftpd 2. 添加一个 f ...