首页 > 代码库 > ORA-31693, ORA-02354 and ORA-01555 with Export Datapump (Doc ID 1580798.1)
ORA-31693, ORA-02354 and ORA-01555 with Export Datapump (Doc ID 1580798.1)
今天开发邮件回来说备份报错:
In this Document
APPLIES TO:Oracle Database - Enterprise Edition - Version 10.2.0.1 and laterInformation in this document applies to any platform. SYMPTOMSUsing Database Data Pump (expdp), one table fails to export with the following errors: ORA-31693: Table data object "APPLSYS"."FND_LOBS" failed to load/unload and is being skipped due to error: ORA-02354: error in exporting/importing data ORA-01555: snapshot too old: rollback segment number with name "" too small ORA-22924: snapshot too old Followed the steps in Note:452341.1 and/or Note:787004.1, and found that there is no LOB corruption. CAUSEThe old versions (consistent read) of the LOB can be specified by either the PCTVERSION or the RETENTION parameters. SQL> select COLUMN_NAME,SECUREFILE,PCTVERSION,RETENTION from dba_lobs where OWNER=upper(‘&OWNER‘) and TABLE_NAME=upper(‘&TABLE_NAME‘) ; COLUMN_NAME SEC PCTVERSION RETENTION ------------------------------ --- ---------- ---------- FILE_DATA NO 900
Note : If You‘ve a value for both PCTVERSION and RETENTION columns , this is incorrect output and to really know which option the LOB is using Please Check Note 422826.1 : How To Identify LOB Segment Use PCTVERSION Or RETENTION From Data Dictionary SQL> show parameter undo; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ undo_management string AUTO undo_retention integer 900 undo_tablespace string UNDOTBS1 SQL> select max(maxquerylen) from v$undostat; MAX(MAXQUERYLEN) ---------------- 16331 SOLUTION1. Modify the current UNDO_RETENTION for the database: SQL>ALTER SYSTEM SET UNDO_RETENTION = 16500 scope=both sid=‘*‘;
2. Modify the LOB retention to become greater than the undersized retention parameter following the steps from Note:563470.1 SQL> alter table APPLSYS.FND_LOBS modify lob(FILE_DATA) (pctversion 5); Table altered. SQL> alter table APPLSYS.FND_LOBS modify lob(FILE_DATA) (retention); Table altered.
3. Query the lob retention again to verify that the change has taken hold: SQL> select COLUMN_NAME,SECUREFILE,PCTVERSION,RETENTION from dba_lobs where OWNER=upper(‘&OWNER‘) and TABLE_NAME=upper(‘&TABLE_NAME‘) ; COLUMN_NAME SEC PCTVERSION RETENTION ------------------------------ --- ---------- ---------- FILE_DATA NO 16500 |
ORA-31693, ORA-02354 and ORA-01555 with Export Datapump (Doc ID 1580798.1)