用expdp导出报错求教ORA-39126,ORA-01555

如题所述

你好。

这个是回滚段太小,
之后又大量事务重用回滚段,导致延迟块清除的数据被覆盖
短期解决:
alter system set "_offline_rollback_segments"='_SYSSMU8_1682283174$' scope=spfile;
alter system set "_corrupted_rollback_segments"='_SYSSMU8_1682283174$' scope=spfile;

长期解决
增加undo_tableapace的大小,
增加undo_retention的时间,

如果我的回答没能帮助您,请继续追问。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-09
Oracle 11.2.0.3
导出命令:expdp system directory=jy schemas=zjy content=metadata_only exclude=statistics dumpfile=zjy_meta.dmp logfile=zjy_meta.log
过程中报错如下:
Processing object type SCHEMA_EXPORT/TABLE/TABLE
ORA-39126: Worker unexpected fatal error in KUPW$WORKER.FETCH_XML_OBJECTS [TABLE:"ZJY"."T_NAME_1"]
ORA-01555: snapshot too old: rollback segment number 9 with name "_SYSSMU9_187408238$" too small
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPW$WORKER", line 9001
----- PL/SQL Call Stack -----
object line object
handle number name
0x64b605f00 20462 package body SYS.KUPW$WORKER
0x64b605f00 9028 package body SYS.KUPW$WORKER
0x64b605f00 10935 package body SYS.KUPW$WORKER
0x64b605f00 2728 package body SYS.KUPW$WORKER
0x64b605f00 9697 package body SYS.KUPW$WORKER
0x64b605f00 1775 package body SYS.KUPW$WORKER
0xc46dfe398 2 anonymous block
Job "SYSTEM"."SYS_EXPORT_SCHEMA_02" stopped due to fatal error at 08:16:49

其中数据库的undo空间
TABLESPACE_NAME SUM_SPACE(M) SUM_BLOCKS USED_SPACE(M) USED_RATE(%) FREE_SPACE(M)
------------------------- -------------------- ---------- -------------------- -------------------- --------------------
UNDOTBS2 46080M 5898240 43161M 93.67% 2919M

查到的相关报错说明如下:
39126, 00000, "Worker unexpected fatal error in %s [%s] \n%s"
// *Cause: An unhandled exception was detected internally within the worker
// process for the Data Pump job. This is an internal error.
// Additional information may be supplied.
// *Action: If problem persists, contact Oracle Customer Support.

01555, 00000, "snapshot too old: rollback segment number %s with name \"%s\" too small"
// *Cause: rollback records needed by a reader for consistent read are
// overwritten by other writers
// *Action: If in Automatic Undo Management mode, increase undo_retention
// setting. Otherwise, use larger rollback segments

06512, 00000, "at %sline %s"
// *Cause: Backtrace message as the stack is unwound by unhandled
// exceptions.
// *Action: Fix the problem causing the exception or write an exception
// handler for this condition. Or you may need to contact your
// application administrator or DBA.
短期解决:
alter system set "_offline_rollback_segments"='_SYSSMU8_1682283174$' scope=spfile;
alter system set "_corrupted_rollback_segments"='_SYSSMU8_1682283174$' scope=spfile;

长期解决
增加undo_tableapace的大小,
增加undo_retention的时间,