现象:
Flashback database to pre-upgrade restore point failing with ORA-00600 [kcvhvdf_1]
2022-06-05T21:59:06.791270-08:00
flashback database to restore point BEFORE_UPGRADE_19C
2022-06-05T21:59:07.843667-08:00
Flashback Restore Start
2022-06-05T21:59:16.153308-08:00
Flashback Restore Complete
Flashback Media Recovery Start
Started logmerger process
2022-06-05T21:59:16.305317-08:00
Errors in file /u01/app/oracle/diag/rdbms/sampledb/sampledb1/trace/sampledb1_pr00_63957.trc (incident=136473):
ORA-00600: internal error code, arguments: [kcvhvdf_1], [], [], [], [], [], [], [], [], [], [], []
原因:
Ran below query to check the status of datafiles:
SQL> select HXFIL, FHDBI, FHRBA_SEQ, FHTHR, FHSCN, FHSTA, FHTIM from X$KCVFH;
Found that there was a read-only datafile (file# 26) belonging to tablespace SAMPLETS. This file was showing a different DBID from the rest of database. Most likely, its a plugged in tablespace which was not made read-write after TTS plugin.
处理方法:
Offline the datafile and complete the flashback:
SQL> alter database datafile 26 offline;
SQL> flashback database to restore point BEFORE_UPGRADE_19C
After opening the database, make the corresponding tablespace online:
SQL> alter database open resetlogs;
SQL> alter tablespace SAMPLETS online;
To avoid this issue for future flashback operations, toggle this tablespace to READ WRITE and back to READ ONLY. This action will update the datafile header with the correct DBID
SQL> alter tablespace SAMPLETS read write;
SQL> alter tablespace SAMPLETS read only;
|