expdp从高版本导入到低版本

来源:互联网 发布:软件管理器下载 编辑:程序博客网 时间:2024/04/30 00:01
expdp huang/huang directory=mydir dumpfile=huang.dmp full=yCopyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options启动 "HUANG"."SYS_EXPORT_FULL_01": huang/******** directory=mydir dumpfile=huang.dmp full=yORA-39126: 在 KUPW$WORKER.DISPATCH_WORK_ITEMS [] 中 Worker 发生意外致命错误ORA-25153: 临时表空间为空ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 86ORA-06512: 在 "SYS.KUPW$WORKER", line 8160----- PL/SQL Call Stack -----object line objecthandle number name000007FFBBA4BC60 18990 package body SYS.KUPW$WORKER000007FFBBA4BC60 8192 package body SYS.KUPW$WORKER000007FFBBA4BC60 8981 package body SYS.KUPW$WORKER000007FFBBA4BC60 1649 package body SYS.KUPW$WORKER000007FFBBA4FCA8 2 anonymous blockORA-39126: 在 KUPW$WORKER.DISPATCH_WORK_ITEMS [] 中 Worker 发生意外致命错误ORA-25153: 临时表空间为空ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 86ORA-06512: 在 "SYS.KUPW$WORKER", line 8160----- PL/SQL Call Stack -----object line objecthandle number name000007FFBBA4BC60 18990 package body SYS.KUPW$WORKER000007FFBBA4BC60 8192 package body SYS.KUPW$WORKER000007FFBBA4BC60 8981 package body SYS.KUPW$WORKER000007FFBBA4BC60 1649 package body SYS.KUPW$WORKER000007FFBBA4FCA8 2 anonymous block作业 "HUANG"."SYS_EXPORT_FULL_01" 因致命错误于 19:55:12 停止


 

基于上面的问题参照了下面的文章:

http://www.xifenfei.com/3264.html

使用impdp导入数据报如下错误导致导入终止处理对象类型 SCHEMA_EXPORT/TABLE/TRIGGER处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/FUNCTIONAL_AND_BITMAP/INDEX处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/FUNCTIONAL_AND_BITMAP/INDEX_STATISTICS处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICSORA-39126: 在 KUPW$WORKER.PUT_DDLS [TABLE_STATISTICS] 中 Worker 发生意外致命错误   ORA-06502: PL/SQL: 数字或值错误 LPX-00225: end-element tag "HIST_GRAM_LIST_ITEM" does not match start-element tag "EPVALUE"  ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 95 ORA-06512: 在 "SYS.KUPW$WORKER", line 9001   ----- PL/SQL Call Stack -----   object      line  object   handle    number  name 26ABF4B0     20462  package body SYS.KUPW$WORKER 26ABF4B0      9028  package body SYS.KUPW$WORKER 26ABF4B0     16665  package body SYS.KUPW$WORKER 26ABF4B0      3956  package body SYS.KUPW$WORKER 26ABF4B0      9725  package body SYS.KUPW$WORKER 26ABF4B0      1775  package body SYS.KUPW$WORKER 290D454C         2  anonymous block   ORA-39097: 数据泵作业出现意外的错误 -1427 ORA-39065: DISPATCH 中出现意外的主进程异常错误 ORA-01427: 单行子查询返回多个行   作业 "EAS"."SYS_IMPORT_SCHEMA_01" 因致命错误于 15:21:20 停止 从这里可以看出是在执行TABLE_STATISTICS的时候因为EPVALUE列的数据类型和导入数据不匹配,问题发生上面错误,导致impdp job终止.解决办法参考文档:[ID 878626.1]<span style="color:#ff0000;">1.如果数据已经expdp导出,建议在导入的时候屏蔽掉统计信息导入EXCLUDE=STATISTICS,导入后使用DBMS_STATS 重新收集统计信息2.如果数据尚未expdp导出,建议在导出的时候屏蔽掉统计信息导出EXCLUDE=STATISTICS导入后使用DBMS_STATS 重新收集统计信息</span>

 

 

添加EXCLUDE=STATISTICS参数,继续执行

 

C:\Users\Administrator>expdp huang/huang directory=mydir dumpfile=huang.dmp full=y exclude=statistics;Export: Release 11.2.0.1.0 - Production on 星期二 5月 20 20:01:57 2014Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsORA-25153: 临时表空间为空ORA-06512: 在 "SYS.DBMS_LOB", line 664ORA-06512: 在 "SYS.DBMS_DATAPUMP", line 3901ORA-06512: 在 line 1C:\Users\Administrator>



网上查了,说是做过控制文件恢复,导致临时表空间为空,|这是10g的一个bug,在11g里已经没有这个问题(以上两句不知是否正确)|。刚好被说中,下午却是做过控制文件的恢复,貌似要推翻这句话了,因为我是11g

SQL> select name from v$tablespace;NAME------------------------------SYSTEMSYSAUXUNDOTBS1USERSEXAMPLETEMP已选择6行。SQL> select tablespace_name,file_name from dba_temp_files;未选定行SQL> alter database  default temporary tablespace temp;alter database  default temporary tablespace temp*第 1 行出现错误:ORA-12907: 表空间 TEMP 已经是默认的临时表空间SQL>  alter tablespace temp add tempfile 'F:\app\Administrator\oradata\orcl\temp02.dbf' size 21m;表空间已更改。SQL>  select tablespace_name,file_name from dba_temp_files;TABLESPACE_NAME------------------------------FILE_NAME--------------------------------------------------------------------------------TEMPF:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP02.DBFSQL>

 

确实是做了控制文件恢复,导致temp文件丢失

 

处理对象类型 DATABASE_EXPORT/SCHEMA/PACKAGE_BODIES/PACKAGE/PACKAGE_BODYORA-39171: 作业出现可恢复的等待。ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段ORA-39171: 作业出现可恢复的等待。ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段ORA-39171: 作业出现可恢复的等待。ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段

 

 

估计是temp空间不够

 

SQL> select AUTOEXTENSIBLE,FILE_NAME,TABLESPACE_NAME from dba_temp_files;AUT---FILE_NAME--------------------------------------------------------------------------------TABLESPACE_NAME------------------------------NOF:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP02.DBFTEMP


没有开启自动扩展。

 

SQL> alter database tempfile 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP02.DBF' AUTOEXTENd on next 10m;

 

最终到处成功。

导入到10g提示错误:

C:\Documents and Settings\Administrator>impdp huang/huang schemas=huang directory=mydir dumpfile=huang.dmp;Import: Release 10.2.0.4.0 - Production on 星期二, 20 5月, 2014 22:40:08Copyright (c) 2003, 2007, Oracle.  All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsORA-39001: 参数值无效ORA-39000: 转储文件说明错误ORA-39142: 版本号 3.1 (在转储文件 "c:\huang.dmp;" 中) 不兼容


网上查资料,说是expdp要加上version

C:\Users\Administrator>expdp huang/huang schemas=huang directory=mydir dumpfile=10.dmp <span style="color:#ff0000;">version=10.2.0.4.0 加上版本</span>Export: Release 11.2.0.1.0 - Production on 星期二 5月 20 23:04:05 2014Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options启动 "HUANG"."SYS_EXPORT_SCHEMA_01":  huang/******** schemas=huang directory=mydir dumpfile=10.dmp version=10.2.0.4.0正在使用 BLOCKS 方法进行估计...处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA使用 BLOCKS 方法的总估计: 9.312 MB处理对象类型 SCHEMA_EXPORT/USER处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT处理对象类型 SCHEMA_EXPORT/ROLE_GRANT处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA处理对象类型 SCHEMA_EXPORT/TABLE/TABLE处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS. . 导出了 "HUANG"."HUANG"                             7.004 MB   72470 行. . 导出了 "HUANG"."SYS_EXPORT_FULL_01"                188.3 KB    1775 行已成功加载/卸载了主表 "HUANG"."SYS_EXPORT_SCHEMA_01"******************************************************************************HUANG.SYS_EXPORT_SCHEMA_01 的转储文件集为:  F:\APP\10.DMP作业 "HUANG"."SYS_EXPORT_SCHEMA_01" 已于 23:04:30 成功完成

 

多出了一个表SYS_EXPORT_SCHEMA_01,表中是导出时需要的元数据。

 

再次导入,成功了

 

C:\Documents and Settings\Administrator>impdp huang/huang schemas=huang directory=mydir dumpfile=10.dmpImport: Release 10.2.0.4.0 - Production on 星期二, 20 5月, 2014 23:06:16Copyright (c) 2003, 2007, Oracle.  All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options已成功加载/卸载了主表 "HUANG"."SYS_IMPORT_SCHEMA_01"启动 "HUANG"."SYS_IMPORT_SCHEMA_01":  huang/******** schemas=huang directory=mydir dumpfile=10.dmp处理对象类型 SCHEMA_EXPORT/USERORA-31684: 对象类型 USER:"HUANG" 已存在处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT处理对象类型 SCHEMA_EXPORT/ROLE_GRANT处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA处理对象类型 SCHEMA_EXPORT/TABLE/TABLE



如果是从低版本导入到高版本不需要做特别的处理 

 

 

 

0 0