EXPDP ORA-39126 ORA-01801

windows2008+windows11.2.0.1x64

直接导报错:

expdp \"/ as sysdba\" DIRECTORY=DATA_PUMP_DIR schemas=XXX PARALLEL=1 CLUSTER=N DUMPFILE=DATA-20200723.DMP logfile=DATA-20200723.LOG EXCLUDE=STATISTICS

Processing object type DATABASE_EXPORT/SCHEMA/TABLE/INDEX/FUNCTIONAL_AND_BITMAP/INDEX
ORA-39126: Worker unexpected fatal error in KUPW$WORKER.UNLOAD_METADATA [INDEX:"XX"."IDX_ENTITY_CONFIG_FLDBUSITYPE"] 
ORA-01801: date format is too long for internal buffer
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPW$WORKER", line 8165
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
00000002E9DDA8C8     18990  package body SYS.KUPW$WORKER
00000002E9DDA8C8      8192  package body SYS.KUPW$WORKER
00000002E9DDA8C8      2823  package body SYS.KUPW$WORKER
00000002E9DDA8C8      8847  package body SYS.KUPW$WORKER
00000002E9DDA8C8      1649  package body SYS.KUPW$WORKER
00000002FB9EF3F0         2  anonymous block
Job "SYS"."SYS_EXPORT_FULL_01" stopped due to fatal error at 11:38:45

所以尝试排除索引导出,正常。

第一步:

expdp \"/ as sysdba\" DIRECTORY=DATA_PUMP_DIR schemas=XXX PARALLEL=1 CLUSTER=N DUMPFILE=DATA-20200723.DMP logfile=DATA-20200723.LOG EXCLUDE=STATISTICS,INDEX

再尝试导出索引对象:

expdp \"/ as sysdba\" DIRECTORY=DATA_PUMP_DIR schemas=XXX PARALLEL=1 CLUSTER=N DUMPFILE=INDEX-20200723.DMP logfile=INDEX-20200723.LOG CONTENT=METADATA_ONLY EXCLUDE=STATISTICS,INDEX  报错

ORA-39126: Worker unexpected fatal error in KUPW$WORKER.UNLOAD_METADATA [OBJECT_GRANT:"XXX"]
ORA-01801: date format is too long for internal buffer

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPW$WORKER", line 8165

----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
00000002E9DDA8C8     18990  package body SYS.KUPW$WORKER
00000002E9DDA8C8      8192  package body SYS.KUPW$WORKER
00000002E9DDA8C8      2823  package body SYS.KUPW$WORKER
00000002E9DDA8C8      8847  package body SYS.KUPW$WORKER
00000002E9DDA8C8      1649  package body SYS.KUPW$WORKER
00000002BFC30478         2  anonymous block

Job "SYS"."SYS_EXPORT_SCHEMA_15" stopped due to fatal error at 09:10:13

再尝试排除指定报错的索引还是报错:

expdp \"/ as sysdba\" DIRECTORY=DATA_PUMP_DIR schemas=XXX PARALLEL=1 CLUSTER=N CONTENT=METADATA_ONLY DUMPFILE=xxx_1.DMP logfile=xxx-1.LOG EXCLUDE=STATISTICS EXCLUDE=INDEX:\"IN ('IDX_TUBE_FLDTEMPFLAG', 'IDX_DX_FLDTEMPFLAG', 'IDX_ENTITY_CONFIG_FLDBUSITYPE', 'IDXB_EXP_SQL_ISVALIDE', 'IDX_EXP_ENTITY_POLLTYPE', 'IDX_EXP_ENTITY_IMMEDIATE')\"
 

最后再执行下面操作处理解决:

把表,DB_LINK,GRANT都排除再导出(因为第一步除了索引,其它对象都已经包含了,所以能排除越多越好,这边只是简单排除了一下)

第二步:

expdp \"/ as sysdba\" DIRECTORY=DATA_PUMP_DIR schemas=XXX PARALLEL=1 CLUSTER=N DUMPFILE=INDEX-20200723.DMP logfile=INDEX-20200723.LOG CONTENT=METADATA_ONLY EXCLUDE=STATISTICS,TABLE,DB_LINK,GRANT

做IMPDP恢复的时候只需要先导入第一步,再导入第二步即可。
 

猜你喜欢

转载自blog.csdn.net/jycjyc/article/details/107529913