加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle dmp文件导入(还原)到不同的表空间和不同的用户下

发布时间:2020-12-12 13:26:49 所属栏目:百科 来源:网络整理
导读:Oracle dmp文件导入(还原)到不同的表空间和不同的用户下 一、exp/imp解决方法: 1、可以用sed修改dmp文件,正常导入 sed?-i?'s/TEST_TS/USERS/g'?a.dmp 2、dmp文件包含导出时候表空间的信息,导入时候如果没有创建相应的表空间会提示表空间不存在 3、如果
Oracle dmp文件导入(还原)到不同的表空间和不同的用户下


一、exp/imp解决方法:

1、可以用sed修改dmp文件,正常导入

sed?-i?'s/TEST_TS/USERS/g'?a.dmp

2、dmp文件包含导出时候表空间的信息,导入时候如果没有创建相应的表空间会提示表空间不存在
3、如果几个表导出,导入时将错误忽略?ignore=y即可

4、用transport_tablespace参数,transport tablespace将一个表空间下的数据移到另一个表空间

4.1、使用transport_tablespace导出数据
????exp?用户名?transport_tablespace=y?tablespaces=(TEST_TS)?file=/opt/b.dmp
????exp?test1?file=test1.dmp(导出不加transport_tablespace参数也可以的)

4.2、在另外一台服务器上将数据移到test1相同用户下
????imp?test1?transport_tablespace=y?file=a.dmp?datafiles=/u01/app/oracle/
????oradata/gbksl/a01.dbf?ignore=y?full=y;

4.3、在另外一台服务器上将test1导出dmp文件数据移到test2用户下
????imp?test1?transport_tablespace=y?file=/opt/test1.dmp?fromuser=test1?
????touser=test2?datafiles='/u01/app/oracle/oradata/gbksl/a01.dbf'?
????ignore=y?full=y;


二、impdp解决办法:

?使用impdp命令进行导入

impdp?test1/test123?dumpfile=XXX.dmp?directory=dpdata1?
remap_schema=testl:test2?remap_tablespace=ts_test1_prod:test2_data

? 参数说明

? dumpfile:需要导入的dmp文件名称

? directory:dmp文件所在的目录文件夹

? REMAP_SCHEMA:?该选项用于将源方案的所有对象装载到目标方案中。?REMAP_SCHEMA=source_schema:target_schema

? REMAP_TABLESPACE:?将源表空间的所有对象导入到目标表空间中。? REMAP_TABLESPACE=source_tablespace:target:tablespace?

??其中:ts_test1_prod:原先dmp文件的表空间名称

? ? ? ? ? ? test2_data:需要导入到的表空间的名称

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读