Problem: Processing object type DATABASE_EXPORT/AUDIT
ORA-31693: Table data object "MICR"."OUTWDCLR" 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 12 with name "_SYSSMU12_933907484$" too small
select COLUMN_NAME,SECUREFILE,PCTVERSION,RETENTION from dba_lobs where OWNER='MICR' and TABLE_NAME='OUTWDCLR';
COLUMN_NAME
SECUREFILE
PCTVERSION
RETENTION
IMAGE_FRONT
NO
10
IMAGE_REAR
NO
10
SQL> show parameter undo;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL>
SQL> select max(maxquerylen) from v$undostat;
MAX(MAXQUERYLEN)
----------------
3291
SQL>
We see the retention comes back showing 900 seconds (15 minutes) which is the same as the current UNDO_RETENTION,
but the maxquery length is 3291 seconds.
When the LOB was created, the actual setting for RETENTION was defined by the current setting for UNDO_RETENTION.
This time is not long enough.
Solution:::
1. Modify the current UNDO_RETENTION for the database:
SQL>ALTER SYSTEM SET UNDO_RETENTION = 4500 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 MICR.OUTWDCLR modify lob(IMAGE_FRONT) (retention);
Table altered.
SQL> alter table MICR.OUTWDCLR modify lob(IMAGE_REAR) (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
------------------------------ --- ---------- ----------
IMAGE_FRONT NO 4500
IMAGE_REAR NO 4500
4. Perform the export again.