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

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:需要导入到的表空间的名称

原文地址:http://blog.51cto.com/meiling/2156750

时间: 2024-12-09 07:54:01

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

Linux 中 Oracle dmp 文件导入导出

a. 用户名 system 密码 manager 导出到D:/daochu.dmp中 exp system/[email protected] file=d:/daochu.dmp full=y b. 将数据库中 system 用户与 sys 用户的表导出 exp system/[email protected] file=d:/daochu.dmp owner=(system,sys) c. 将数据库中的表 inner_notify.notify_staff_relat导出 exp aicha

关于Oracle字符集在dmp文件导入导出中的乱码影响

Oracle 在进行dmp备份和还原的时候,服务器端字符集和客户端字符集会对这个过程有较大影响,特别是数据表中存储了中文.存储过程中使用了中文编码(注释)的时候,如果没有处理好字符集的问题,在进行还原的时候就会遇到问题,我所遇到过的问题有一下几种: 1:导入后数据表中存储的中文字符成了乱码: 2:导入后存储过程中的中文字符成了乱码: 3:导入时,提示某些存储过程不存在,报IMP-00098 INTERNAL ERROR:impccr2错误: 其中问题1出现的原因是源数据库使用的字符集和你现在导入

oracle dmp文件的导入与导出

dmp文件的导入与导出: 整库的导入导出 1.从远程机器上导出expdp npmdb/[email protected] schemas=NPMDB directory=MY_DIR dumpfile=npmdb_87.dmp 参数说明schemas:可以看成是数据库名,directory:存放dmp,log文件的目录,dumpfile:导出的dmp文件名注:directory目录的创建create directory data_pump_dir as '/opt/data/oracle_tmp

oracle 数据库dmp文件导入导出

一.数据库dmp文件导出 在pl/sql中tool下选择export tales,选中所有表格 ,并选择导出路径export即可. 二.数据库dmp文件导入 创建用户表空间: 创建用户:grant dba to aml; 执行导入脚本:(前提:windows服务器已经创建了连接到数据库的tns) Imp 用户名/密码@tns用户 file=***.dmp(dmp文件路径) full=y:

【exp/imp】将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中

[exp/imp]将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 如何将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中(重点,2种方法)? ② 从dmp文件可以获取到哪些信息?如何从dmp文件获取到dmp文件的字符集(重点,N种方法)? ③ 如何从dmp

Oracle dmp文件损坏恢复案例

前一段时间帮一个朋友的朋友恢复了一个损坏的dmp文件,大概100多个G,记录一下恢复过程并简单总结一下 一.描述 这个dmp文件是从一个Oracle 9i的数据库上exp出来的,在导入Oracle 11g版本的时候,可能会随机出现两类错误,如下 (1)dmp文件导入的时候,一直停留在某张表上不动,两三天都是这样,导入操作无法进行,如下 导入了                                                             0 行 . . 正在导入表    

转-【exp/imp】将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中

原帖地址:http://blog.csdn.net/lihuarongaini/article/details/71512116 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 如何将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中(重点,2种方法)? ② 从dmp文件可以获取到哪些信息?如何从dmp文件获取到dmp文件的字符集(重点,N种方法)? ③ 如何从

Oracle:dump文件导入报错:只有DBA才能导入由其他DBA导出的文件

从SchemaA(DBA权限)导出一个表的dump文件,导入到SchemaB(非DBA权限),报错. 用OB工具设定SchemaA为DBA不管用(以前的表和视图都不见了), 上网查了一下以下两句执行后OK: grant dba to SchemaA; alter user  SchemaAdefault role DBA: 然后dump导入OK,利用OB工具取消SchemaA的DBA权限后, 又报错"ora-01045 :user system lacks create session priv

oracle imp导入数据到另一个表空间

http://blog.163.com/[email protected]/blog/static/7156283420100531431855/ 1.在第一个数据库导出数据:qlyg_xs_db_chinatelecom_0910191029.dmp(用户为QLYG_XS) 2.将qlyg_xs_db_chinatelecom_0910191029.dmp 扶着到第二个数据库所在主机上 3.第二个数据库建立需要导入的表空间和用户QLYGKQ,QLYGKQ1(用户QLYGKQ1的默认表空间为QL