oracle expdp exp高低版本间导入导出
2014-05-06 23:32
381 查看
ORACLE中逻辑备份可以用EXPDP,EXP,在这里我不想详细讨论这两者之间的区别,一句话,EXPDP是服务器端的工具,EXP是客户端的工具(EXPORTDUMP)
主机: ORACLE版本
A: 11.2.0.1.0
B: 10.2.0.1.0
主机A ORACLE除了系统用户还有两个用户 TSHIS、TSHIS2
主机B ORACLE除了系统用户还有一个用户 OWHIS
主机A可连接到主机B的数据库 TNSNAME 为TEST_XL
一、EXPDP 对应IMPDP的用法 (只简单说明)在主机A上进行操作
首先需要有一个DIRECTORY用来指向导出的文件或者导入的文件位置在哪里,一般都用系统用户建立如SYS、SYSTEM,创建语法如下:
CREATE DIRECTORY EXPDP_DIR AS 'D:\EXPDP_IMPDP';
需要授权给相应的用户使用如TSHIS:GRANT READ,WRITE ON DIRECTORY EXPDP_DIR TOTSHIS;
需要将TSHIS用户下的JK_ARCHIVE表中的数据导出后导入到TSHIS2中,并且表名改为JK_ARCHIVE2.脚本如下:
EXPDP TSHIS/TSHIS DIRECTORY=EXPDP_DIRDUMPFILE=JK_ARCHIVE_DATA.DMP TABLES=JK_ARCHIVE;导出成功。
IMPDP TSHIS2/TSHIS2 DIRECTORY=EXPDP_DIRDUMPFILE=JK_ARCHIVE_DATA.DMP REMAP_SCHEMA=TSHIS:TSHIS2
REMAP_TABLE=JK_ARCHIVE:JK_ARCHIVE2 导入成功。
二、EXP 对应 IMP 的用法(也是简单说明)在主机A上进行操作
需要将TSHIS用户下的JK_ARCHIVE_LIST表中的数据导出后导入到TSHIS2中(这个工具改不了表名)脚本如下:
exp tshis/tshis file=e:\exp\jk_archive_list_data.dmptables=jk_archive_list ;成功导出
imp tshis2/tshis2 file=e:\exp\jk_archive_list_data.dmpfromuser=tshis touser=tshis2;成功导入
三、EXPDP,IMPDP ORACLE高低版本之间导入导出的情况
将主机B中的GM_CODE表导出后导入主机A中
可以用两种方式(不一定都有用)
1.在主机B中执行导出,再将DMP文件复制到主机A的相应目录中(EXPDP_DIR中)后执行导入,脚本如下:
expdp owhis/owhis directory=data_dir dump=gm_code_data.dmptables=gm_code; OK
将gm_code_data.dmp复制到主机A的相应目录中
impdp tshis/tshis directory=expdp_dir dump=gm_code_data.dmpremap_schema=owhis:tshis; 成功。
2.在主机A上执行导出(主机A可连接到主机B的数据库 TNSNAME 为TEST_XL)
expdp owhis/owhis@test_xldirectory=data_dir dumpfile=gm_code_data.dmp tables=gm_code报下如错误
Export: Release 11.2.0.1.0 - Production on 星期二 8月 21 11:07:582012
Copyright (c) 1982, 2009, Oracle and/or itsaffiliates. All rights
reserved.
UDE-00018: 数据泵客户机与数据库版本 10.2.0.1.0 不兼容
将主机A中的gm_user表导入到主机B中(不可能)
1.在主机A上导出,将文件复制到主机B相应目录中,再执行导入报错
Import: Release 10.2.0.1.0 - 64bit Production on 星期二, 21 8月,2012
10:31:13
Copyright (c) 2003, 2005, Oracle. All rightsreserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 -64bit
Produc
tion
With the Partitioning, OLAP and Data Mining options
ORA-39001: 参数值无效
ORA-39000: 转储文件说明错误
ORA-39142: 版本号 3.1 (在转储文件 "D:\expdp\jk_archive.dmp" 中) 不兼容
2.在主机B上导出A的数据,此时数据文件还是在A上,将文件复制到主机B相应目录,再执行导入报错
Import: Release 10.2.0.1.0 - 64bit Production on 星期二, 21 8月,2012
14:21:39
Copyright (c) 2003, 2005, Oracle. All rightsreserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 -64bit
Produc
tion
With the Partitioning, OLAP and Data Mining options
ORA-39001: 参数值无效
ORA-39000: 转储文件说明错误
ORA-39142: 版本号 3.1 (在转储文件 "D:\expdp\test1.dmp" 中) 不兼容
四、EXP,IMP ORACLE高低版本之间导入导出的情况
将主机B中的GM_CODE表导出后导入主机A中
可以用两种方式(不一定都有用)
1.在主机B中执行导出,再将DMP文件复制到主机A的中后执行导入,成功。
2.在主机A上执行导出(主机A可连接到主机B的数据库 TNSNAME 为TEST_XL)
Export: Release 11.2.0.1.0 - Production on 星期二 8月 21 11:19:112012
Copyright (c) 1982, 2009, Oracle and/or itsaffiliates. All rights
reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 -64bit
Produc
tion
With the Partitioning, OLAP and Data Mining options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径...
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: "POLTYP": 标识符无效
EXP-00000: 导出终止失败
将主机A中的gm_user表导入到主机B中(不是都有用)
1.在主机A上导出,将文件复制到主机B相应目录中,再执行导入报错
Import: Release 10.2.0.1.0 - Production on 星期二 8月 21 11:23:232012
Copyright (c) 1982, 2005, Oracle. All rightsreserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 -64bit
Produc
tion
With the Partitioning, OLAP and Data Mining options
IMP-00010: 不是有效的导出文件, 头部验证失败
IMP-00000: 未成功终止导入
2.在主机B上导出A中的数据,再执行导入 成功。
总结:EXPDP,IMPDP不管以哪种方式,只能把低版本中的数据导入高版本中(只能把主机B中的数据导到主机A中)
EXP,IMP双向导数据都可以,但要从高版本中导数据到低版本中,只能在低版本服务器上进行导出导入,
从低版本导数据到高版本,也只能在低版本服务器上导出再把文件复制到高版本服务器上,进行导入操作。
一句话,在低版本服务器上执行导出,最好将DUMP文件复制到目标服务器上执行导入(加快效率),DUMP文件的盘最好与数据文件所在盘不一样
另说明:IMPDP中的参数REMAP_TABLE 11G才有
主机: ORACLE版本
A: 11.2.0.1.0
B: 10.2.0.1.0
主机A ORACLE除了系统用户还有两个用户 TSHIS、TSHIS2
主机B ORACLE除了系统用户还有一个用户 OWHIS
主机A可连接到主机B的数据库 TNSNAME 为TEST_XL
一、EXPDP 对应IMPDP的用法 (只简单说明)在主机A上进行操作
首先需要有一个DIRECTORY用来指向导出的文件或者导入的文件位置在哪里,一般都用系统用户建立如SYS、SYSTEM,创建语法如下:
CREATE DIRECTORY EXPDP_DIR AS 'D:\EXPDP_IMPDP';
需要授权给相应的用户使用如TSHIS:GRANT READ,WRITE ON DIRECTORY EXPDP_DIR TOTSHIS;
需要将TSHIS用户下的JK_ARCHIVE表中的数据导出后导入到TSHIS2中,并且表名改为JK_ARCHIVE2.脚本如下:
EXPDP TSHIS/TSHIS DIRECTORY=EXPDP_DIRDUMPFILE=JK_ARCHIVE_DATA.DMP TABLES=JK_ARCHIVE;导出成功。
IMPDP TSHIS2/TSHIS2 DIRECTORY=EXPDP_DIRDUMPFILE=JK_ARCHIVE_DATA.DMP REMAP_SCHEMA=TSHIS:TSHIS2
REMAP_TABLE=JK_ARCHIVE:JK_ARCHIVE2 导入成功。
二、EXP 对应 IMP 的用法(也是简单说明)在主机A上进行操作
需要将TSHIS用户下的JK_ARCHIVE_LIST表中的数据导出后导入到TSHIS2中(这个工具改不了表名)脚本如下:
exp tshis/tshis file=e:\exp\jk_archive_list_data.dmptables=jk_archive_list ;成功导出
imp tshis2/tshis2 file=e:\exp\jk_archive_list_data.dmpfromuser=tshis touser=tshis2;成功导入
三、EXPDP,IMPDP ORACLE高低版本之间导入导出的情况
将主机B中的GM_CODE表导出后导入主机A中
可以用两种方式(不一定都有用)
1.在主机B中执行导出,再将DMP文件复制到主机A的相应目录中(EXPDP_DIR中)后执行导入,脚本如下:
expdp owhis/owhis directory=data_dir dump=gm_code_data.dmptables=gm_code; OK
将gm_code_data.dmp复制到主机A的相应目录中
impdp tshis/tshis directory=expdp_dir dump=gm_code_data.dmpremap_schema=owhis:tshis; 成功。
2.在主机A上执行导出(主机A可连接到主机B的数据库 TNSNAME 为TEST_XL)
expdp owhis/owhis@test_xldirectory=data_dir dumpfile=gm_code_data.dmp tables=gm_code报下如错误
Export: Release 11.2.0.1.0 - Production on 星期二 8月 21 11:07:582012
Copyright (c) 1982, 2009, Oracle and/or itsaffiliates. All rights
reserved.
UDE-00018: 数据泵客户机与数据库版本 10.2.0.1.0 不兼容
将主机A中的gm_user表导入到主机B中(不可能)
1.在主机A上导出,将文件复制到主机B相应目录中,再执行导入报错
Import: Release 10.2.0.1.0 - 64bit Production on 星期二, 21 8月,2012
10:31:13
Copyright (c) 2003, 2005, Oracle. All rightsreserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 -64bit
Produc
tion
With the Partitioning, OLAP and Data Mining options
ORA-39001: 参数值无效
ORA-39000: 转储文件说明错误
ORA-39142: 版本号 3.1 (在转储文件 "D:\expdp\jk_archive.dmp" 中) 不兼容
2.在主机B上导出A的数据,此时数据文件还是在A上,将文件复制到主机B相应目录,再执行导入报错
Import: Release 10.2.0.1.0 - 64bit Production on 星期二, 21 8月,2012
14:21:39
Copyright (c) 2003, 2005, Oracle. All rightsreserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 -64bit
Produc
tion
With the Partitioning, OLAP and Data Mining options
ORA-39001: 参数值无效
ORA-39000: 转储文件说明错误
ORA-39142: 版本号 3.1 (在转储文件 "D:\expdp\test1.dmp" 中) 不兼容
四、EXP,IMP ORACLE高低版本之间导入导出的情况
将主机B中的GM_CODE表导出后导入主机A中
可以用两种方式(不一定都有用)
1.在主机B中执行导出,再将DMP文件复制到主机A的中后执行导入,成功。
2.在主机A上执行导出(主机A可连接到主机B的数据库 TNSNAME 为TEST_XL)
Export: Release 11.2.0.1.0 - Production on 星期二 8月 21 11:19:112012
Copyright (c) 1982, 2009, Oracle and/or itsaffiliates. All rights
reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 -64bit
Produc
tion
With the Partitioning, OLAP and Data Mining options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径...
EXP-00008: 遇到 ORACLE 错误 904
ORA-00904: "POLTYP": 标识符无效
EXP-00000: 导出终止失败
将主机A中的gm_user表导入到主机B中(不是都有用)
1.在主机A上导出,将文件复制到主机B相应目录中,再执行导入报错
Import: Release 10.2.0.1.0 - Production on 星期二 8月 21 11:23:232012
Copyright (c) 1982, 2005, Oracle. All rightsreserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 -64bit
Produc
tion
With the Partitioning, OLAP and Data Mining options
IMP-00010: 不是有效的导出文件, 头部验证失败
IMP-00000: 未成功终止导入
2.在主机B上导出A中的数据,再执行导入 成功。
总结:EXPDP,IMPDP不管以哪种方式,只能把低版本中的数据导入高版本中(只能把主机B中的数据导到主机A中)
EXP,IMP双向导数据都可以,但要从高版本中导数据到低版本中,只能在低版本服务器上进行导出导入,
从低版本导数据到高版本,也只能在低版本服务器上导出再把文件复制到高版本服务器上,进行导入操作。
一句话,在低版本服务器上执行导出,最好将DUMP文件复制到目标服务器上执行导入(加快效率),DUMP文件的盘最好与数据文件所在盘不一样
另说明:IMPDP中的参数REMAP_TABLE 11G才有
相关文章推荐
- 不同版本的SQL Server之间数据导出导入的方法及性能比较
- sql server数据库跨版本导入导出数据库的方法
- ORACLE不同版本间的数据库导入导出
- Oracle不同版本间的导入导出命令详解
- POI实现excel的导入导出-[未采用反射实现的版本]
- 不同版本的SQL Server之间数据导出导入的方法及性能比较
- [转]不同版本的SQL Server之间数据导出导入,降级还原等
- Oracle数据库中不同版本间的导入导出规则
- oracle不同版本间数据的导入导出
- MYSQL数据的导出导入与版本的转换
- Linux服务器导入导出SVN项目版本库
- exp/imp导入导出版本问题和ORA-6550报错
- oracle导入数据库时报错(高版本oracle导出的数据导入低版本oracle)
- oracle数据库版本不同的导入和导出问题
- 不同版本的SQL Server之间数据导出导入的方法及性能比较
- oracle不同版本间数据的导入导出/oracle IMP 命令详解
- Mysql5.6版本导出sql文件数据导入到5.7版本出现的问题
- 使用数据泵跨版本导出导入数据
- 快捷方便的Excel导入导出工具 Easy-Xls 1.0 版本发布
- oracle11g、10g同时安装数据导入导出无法识别数据库版本问题