I am trying to restore Oracle DB from a backup taken recently. While restoring I got the following error:
Failing sql is:
DECLARE I_N VARCHAR2(60); I_O VARCHAR2(60); NV VARCHAR2(1); c DBMS_METADATA.T_VAR_COLL; df varchar2(21) := 'YYYY-MM-DD:HH24:MI:SS'; stmt varchar2(300) := ' INSERT INTO "SYS"."IMPDP_STATS" (type,version,flags,c1,c2,c3,c5,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,d1,cl1) VALUES (''I'',6,:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12,:13,NULL,:14,:15,NULL,:16,:17)';BEGIN DELETE ORA-39083: Object type INDEX_STATISTICS failed to create with error: ORA-01403: no data found ORA-01403: no data found
I searched in the net for some possible solution, one of them suggested to exclude the statistics(EXCLUDE=INDEX_STATISTICS) while exporting or importing the database.
Please let me know if it’s safe to exclude statistics while restoring a recently crashed/corrupted database.
Excluding statistics is safe in the sense that it doesn’t affect the actual data you’re importing. You can always recalculate the statistics in the restored database.
If you need that restore to do performance debugging on specific queries, that’s going to be a problem – you’d want to have exactly the same statistics as for the source database for your tests to be realistic. (But you can always re-export and import the statistics specifically if you need that.)
That being said, nothing’s really “safe” with a corrupt database, and that type of error “shouldn’t happen”. It’s possible I guess that the export you’re running on failed partially. Check the export log file for errors too.