设为首页 收藏本站
查看: 395|回复: 0

[经验分享] Oracle expdp/impdp 从高版本 到 低版本 示例

[复制链接]
YunVN网友  发表于 2016-8-16 07:25:20 |阅读模式
公司的一个测试库原来的版本是Oracle 11gR2的。 有些语法10g的有些出入,老大说把测试库重建一下,用10g的版本。

虽说可以停机,数据量也不大,不过白天研发的同事要使用测试库,所以只能晚上加班搞。 打算使用数据泵expdp/impdp 来做。 因为从高版本到低版本导需要加上version 参数,之前还没有测试过。 用这个机会测试一下。

  关于Version 的更多说明,参考:
  
Export/Import DataPump Parameter VERSION - Compatibility of Data Pump Between Different Oracle Versions [Video] [ID 553337.1]



数据泵的更多示例,参考我的Blog:
Oracle expdp/impdp 使用示例
http://blog.csdn.net/tianlesoftware/archive/2011/03/18/6260138.aspx


步骤如下:
1. 10g版本的库装好,并创建一个实例

2. 查看原用户对象总数
SQL> select count(*) from dba_objects where owner in ('WANGOU','SUP','QISHUN');
  

这样导完之后,就可以比较一下。

3. 创建目录,并用expdp导出数据
SQL>create directory backup as '/u01/backup';
#expdp /'/ as sysdba/' directory=backup full=y dumpfile=wgfullexp.dmp logfile=fullexp.log version=10.2.0.1 ;
-- 注意参数,我是从11gR2的库导的,我要导入10g的库,通过version指定版本信息。

4. Toad 导出原测试库 表空间用户等脚本。

5. 在新的测试库用之前导出的脚本把表空间创建好。

6. 创建dir,用impdp 导入数据
SQL>create directory backup as '/u01/backup';
#impdp /'/ as sysdba/' directory=backup full=y dumpfile=wgfullexp.dmp logfile=fullimp.log;

impdp 没有成功,最后的错误如下:
Processing object type DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS
ORA-39112: Dependent object type TABLE_STATISTICS skipped, base object type TABLE:"ORDDATA"."ORDDCM_PREFS_LOOKUP" creation failed
ORA-39112: Dependent object type TABLE_STATISTICS skipped, base object type TABLE:"ORDDATA"."ORDDCM_PREFS_LOOKUP" creation failed
ORA-39112: Dependent object type TABLE_STATISTICS skipped, base object type TABLE:"ORDDATA"."ORDDCM_PREFS_LOOKUP" creation failed
ORA-39125: Worker unexpected fatal error in KUPW$WORKER.PUT_DDLS while calling DBMS_METADATA.CONVERT [TABLE_STATISTICS]
ORA-06502: PL/SQL: numeric or value error
LPX-00225: end-element tag "HIST_GRAM_LIST_ITEM" does not match start-element tag "EPVALUE"

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "SYS.KUPW$WORKER", line 6241

----- PL/SQL Call Stack -----
object line object
handle number name
0x4de6dba8 14916 package body SYS.KUPW$WORKER
0x4de6dba8 6300 package body SYS.KUPW$WORKER
0x4de6dba8 12279 package body SYS.KUPW$WORKER
0x4de6dba8 3279 package body SYS.KUPW$WORKER
0x4de6dba8 6889 package body SYS.KUPW$WORKER
0x4de6dba8 1262 package body SYS.KUPW$WORKER
0x4de62824 2 anonymous block

Job "SYS"."SYS_IMPORT_FULL_01" stopped due to fatal error at 20:58:03#o b0d5j2u18982013

因为这里的用户比较多,同事给我的是3个用户,但我连上去看了一下,明显不止三个用户。 所以就不想按用户导,直接full =y 全库导了。

impdp 的时候,如果用户不存在会自动创建。 所以在我impdp的时候,我没有去创建用户。 不过如果是生产环境,还是按部就班的来。 先建好表空间,用户,按用户来导。

imdp失败了,但之前导的表,索引等对象导入过了。 用:
SQL> select count(*) from dba_objects where owner in ('WANGOU','SUP','QISHUN');

查看了新测试库上这3个用户的对象,比原库少了20个。

把2个库对象的详细数据导出到txt,用UC 比较了一下,少的20个对象是触发器。 用Toad 在原库上把这20个触发器的sql导出来,在新库上执行一下。 最后检查了一下。 两遍对象一致。

因为impdp 在最后统计信息那块报错, 所以查看了一下统计信息,已经导入了。 让开发的同事测试了一下,没有问题。





-------------------------------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
Email: dvd.dba@gmail.com
DBA1 群:62697716(满); DBA2 群:62697977(满) DBA3 群:62697850(满)
DBA 超级群:63306533(满); DBA4 群: 83829929 DBA5群: 142216823
DBA6 群:158654907 聊天 群:40132017 聊天2群:69087192
--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-258457-1-1.html 上篇帖子: Oracle的log_buffer该设为多大合适呢? 下篇帖子: oracle 跨数据库、跨机器、局域网查询
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表