An error was reported on the site, indicating that the backup data was incomplete due to an error during logical backup. A table with dozens of GB Data volume was exported to less than 1 GB. The error message is as follows:
EXP-00056: Oracle error 1555
ORA-01555: Snapshot too old: rollback segment number with name "" too small
ORA-22924: Snapshot too old
Check the MOs. The official documents are as follows:
The cause is that the lob segment is damaged. Use the following method to locate the rowid of the record where the corrupted lob value is located.
Create Table upted_lob_data (corrupted_rowid rowid); Set Concat offdeclare error_1555 exception; Pragma exception_init (error_1555,-1555); num number; begin for cursor_lob in (select rowid R, & lob_column from & table_owner. & table_with_lob) loop begin num: = dbms_lob.instr (cursor_lob. & lob_column, hextoraw ('000000'); Exception when error_1555 then insert into upted_lob_data values (cursor_lob.r); Commit; end loop; end ;/
After the execution, find the corresponding record in the error table based on the rowid value stored in the table. If PL/SQL developer is used, the value error is displayed for the corresponding lob field value. This record can be cleared or deleted, for example, update Table1 set col1 = empty_blob () Where rowid = 'xxxxxxx ';