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


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

Popular posts from this blog

RMAN-10038: database session for channel prm3 terminated unexpectedly

ORA-17630: Mismatch in the remote file protocol version client 2 server 3

ORA-00338: log {n} of thread {n} is more recent than control file