Restore From Windows To Linux using RMAN Fails (Doc ID 2003327.1)

To BottomTo Bottom

 

APPLIES TO: 

Oracle Database - Enterprise Edition - Version 11.2.0.2 and later
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Information in this document applies to any platform.

SYMPTOMS

Restoring backup of database created and running on 64-bit Windows 2008R2 to Oracle Linux 6 x86-64 using RMAN failed.

Restore of controlfile is successful.
Database change to mount mode is successful.
Restore of datafiles is successful.
When RMAN tries to recover database using archivelogs, it fails with error:

channel ORA_SBT_TAPE_2: restore complete, elapsed time: 00:00:01
archived log file name=+<diskgroup name>/archivelog/2015_04_23/thread_2_seq_2365.359.877785237 thread=2 sequence=2365
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 04/23/2015 13:14:00
RMAN-11003: failure during parse/execution of SQL statement: alter database recover logfile '+<diskgroup name>/archivelog/2015_04_23/thread_2_seq_2365.359.877785237'
ORA-10562: Error occurred while applying redo to data block (file# 3, block# 1342351)
ORA-10564: tablespace SYSAUX
ORA-01110: data file 3: '+<diskgroup name>/datafile/sysaux.417.877785187'
ORA-10561: block type 'TRANSACTION MANAGED INDEX BLOCK', data object# 475230
ORA-00600: internal error code, arguments: [ktbair2_0], [18446744073709550383], [112], [], [], [], [], [], [], [], [], []

RMAN>

 

CHANGES

 

CAUSE

Bug 20479736 - ORA-00600 [4502]/[KTBAIR2_0]/[KTBRCL:CDLC NOT IN CR] RECOVERY CROSS PLATFORM 
which is closed as not a bug
 
From the referenced bug

DETAILED PROBLEM DESCRIPTION
============================
Customer trying to restore windows database to linux. Database restored
successfully. But while recovery getting different ORA-00600 : i.e.


Wed Jan 28 20:02:44 2015
alter database recover logfile '/u01/oradata/arch/1_11638_848330357.dbf'
Media Recovery Log /u01/oradata/arch/1_11638_848330357.dbf
Wed Jan 28 20:02:44 2015
Errors in file /u01/app/diag/rdbms/<SID>/trace/<SID>_pr02_10518.trc
(incident=72177):
ORA-00600: internal error code, arguments: [4502], [0], [], [], [], [], [],[], [], [], [], []
Incident details in:
u01/app/diag/rdbms/<SID>/trace/<SID>_pr02_10518_i72177.trc
Wed Jan 28 20:02:44 2015
Errors in file /u01/app/diag/rdbms/<SID>/trace/<SID>_pr03_10520.trc
(incident=72185):
ORA-00600: internal error code, arguments: [4502], [0], [], [], [], [], [],[], [], [], [], []
Incident details in:
u01/app/diag/rdbms/<SID>/trace/<SID>_pr03_10520_i72185.trc
Wed Jan 28 20:02:44 2015
Errors in file u01/app/diag/rdbms/<SID>/trace/<SID>_pr01_10516.trc
(incident=72169):
ORA-00600: internal error code, arguments: [ktbair2_0], [13050], [64], [],[], [], [], [], [], [], [], []
Wed Jan 28 20:02:44 2015
Errors in file u01/app/diag/rdbms/<SID>/trace/<SID>l_pr04_10522.trc
(incident=72193):
ORA-00600: internal error code, arguments: [ktbrcl:CDLC not in CR], [160],[], [], [], [], [], [], [], [], [], []
Incident details in:
/u01/app/diag/rdbms/<SID>/trace/<SID>l_pr01_10516_i72169.trc
Incident details in:
/u01/app/diag/rdbms/<SID>/incident/incdir_72193/<SID>_pr04_10522_i72193.trc


----

The error ORA-600 [KTBRCL:CDLC NOT IN CR] is returned while duplicating from Windows to Linux.

The Cross-platform redo application was only supported on physical standby but not for general media recovery which is involved while duplicating using RMAN.

 While doing RMAN duplicate, we perform the following steps 

 -Go to platform A (say Linux)
 -Restore a backup of a database from another platform B (say Windows)
 -Restore a bunch of redo logs generated on B
 -Then recover the restored backup on A.

 But issue here is that cross-platform redo application was not intended to be designed for this usage. This error is because this is not a physical standby.

This is not a error from RMAN duplicate side. RMAN duplicate in cross platform duplication scenario uses the same general process of recover and recovery but in cross platform scenario, underlying cross-platform redo application was not designed for this usage.

Currently this is not an issue from RMAN side. To have this feature, we need to implement an enhancement request for handling cross-platform redo application.
 

SOLUTION

Note, redo application is not supported between Linux and Windows except with a standby database. This means that the backup must be</em><em> a cold (consistent) backup, which requires no redo application.  If redo apply is required to recover the database on the new platform it will fail. Using consistent (cold) backup method should be used for duplicating cross platform.

REFERENCES

NOTE:1079563.1 - RMAN DUPLICATE/RESTORE/RECOVER Mixed Platform Support
NOTE:413484.1 - Data Guard Support for Heterogeneous Primary and Physical Standbys in Same Data Guard Configuration
NOTE:369644.1 - Frequently Asked Questions about Restoring Or Duplicating Between Different Versions And Platforms
NOTE:1401921.1 - Cross-Platform Database Migration (across same endian) using RMAN Transportable Database
NOTE:881421.1 - Using Active Database Duplication to Create Cross Platform Data Guard Setup (Windows/Linux)