RMAN--ORA-00600: internal error code, arguments: [3020]
I encountered an issue where standby fell out of sync with primary. When trying to place the standby in auto recovery again, I received the following error in the alert log:
ORA-00600: internal error code, arguments: [3020], [41], [41955], [172008419], [], [], [], [], [], [], [], []
ORA-10567: Redo is inconsistent with data block (file# 41, block# 41955, file offset is 343695360 bytes)
ORA-10564: tablespace SYSTEM
ORA-01110: data file 41: '+DATA/spl1adg/datafile/system.317.766442357'
ORA-10561: block type 'TRANSACTION MANAGED DATA BLOCK', data object# 15
RMAN> restore datafile 41;
Starting restore at 21-MAY-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=7333 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00041 to +DATA/spl1adg/datafile/system.317.783881825
channel ORA_DISK_1: reading from backup piece /mnt/operational_dba/SPL1/RMAN/SPL1_783876021_35_1
channel ORA_DISK_1: piece handle=/mnt/operational_dba/SPL1/RMAN/SPL1_783876021_35_1 tag=TAG20120521T152021
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:36
Finished restore at 21-MAY-12
ORA-00600: internal error code, arguments: [3020], [41], [41955], [172008419], [], [], [], [], [], [], [], []
ORA-10567: Redo is inconsistent with data block (file# 41, block# 41955, file offset is 343695360 bytes)
ORA-10564: tablespace SYSTEM
ORA-01110: data file 41: '+DATA/spl1adg/datafile/system.317.766442357'
ORA-10561: block type 'TRANSACTION MANAGED DATA BLOCK', data object# 15
After researching this issue in metalink, the proposed solution was to rebuild the standby. After pondering over this for a bit, I did the following which allowed me to remedy the issue:
1. Took the datafile offline on standby.
SQL> alter database datafile 41 offline drop;
2. Took fresh backup of the datafile in question on primary.
RMAN> backup as backupset datafile 41;
3. Copied the backup piece over to the standby server.
4. Cataloged the backup piece to standby controlfile.
RMAN> catalog backuppiece '/mnt/operational_dba/SPL1/RMAN/SPL1_783876021_35_1';
5. Restored the datafile in question.
RMAN> restore datafile 41;
Starting restore at 21-MAY-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=7333 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00041 to +DATA/spl1adg/datafile/system.317.783881825
channel ORA_DISK_1: reading from backup piece /mnt/operational_dba/SPL1/RMAN/SPL1_783876021_35_1
channel ORA_DISK_1: piece handle=/mnt/operational_dba/SPL1/RMAN/SPL1_783876021_35_1 tag=TAG20120521T152021
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:36
Finished restore at 21-MAY-12
6. Placed datafile in question online on standby.
SQL> alter database datafile 41 online;
7. Placed standby in auto recovery mode again.
SQL> alter database recover managed standby database using current logfile disconnect;
ORA-0600 errors disappeared.
Comments