ORA-19633 im RMAN nach Migration von Windows nach Linux

Eine Datenbank musste von Windows nach Linux migriert werden. Da ein RMAN-Backup nicht zur Verfügung stand und der Datenbankserver auch nicht mehr gebootet hat (Ein Zugriff auf die Festplatten war noch möglich) wurden die Datafiles, das Controlfile und alles andere nötige auf den Linux-Server geschoben und die Datenbank hat auch wieder funktioniert.

Allerdings war es jetzt nicht mehr möglich, ein Backup der Datenbank per RMAN zu starten, denn beim CROSSCHECK kam diese Meldung:

allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=206 device type=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of crosscheck command on ORA_DISK_1 channel at 09/18/2020 16:25:34
ORA-19633: control file record 9193 is out of sync with recovery catalog

Grund war, dass in dem Controlfile noch Archivelogs refenziert waren, die einen Windows-Pfad hatten:

RMAN> list archivelog all;

using target database control file instead of recovery catalog
List of Archived Log Copies for database with db_unique_name ORCL
=====================================================================

Key     Thrd Seq     S Low Time
------- ---- ------- - ---------
9193    1    9276    A 11-SEP-20
        Name: D:\APP\ORACLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2020_09_11\O1_MF_1_9276_HOPT2QGC_.ARC

9194    1    9277    A 11-SEP-20
        Name: D:\APP\ORACLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2020_09_11\O1_MF_1_9277_HOPT2RL9_.ARC

9195    1    9278    A 11-SEP-20
        Name: D:\APP\ORACLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2020_09_11\O1_MF_1_9278_HOPT2SLB_.ARC

9196    1    9279    A 11-SEP-20
        Name: D:\APP\ORACLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2020_09_11\O1_MF_1_9279_HOPTJBP1_.ARC

9197    1    9280    A 11-SEP-20
        Name: D:\APP\ORACLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2020_09_11\O1_MF_1_9280_HOPTJD02_.ARC

9198    1    9281    A 11-SEP-20
        Name: D:\APP\ORACLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2020_09_11\O1_MF_1_9281_HOPTJF02_.ARC

9199    1    9282    A 11-SEP-20
        Name: D:\APP\ORACLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2020_09_11\O1_MF_1_9282_HOPTJF6G_.ARC

9200    1    9283    A 11-SEP-20
        Name: D:\APP\ORACLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2020_09_11\O1_MF_1_9283_HOPTJFQ1_.ARC

9201    1    9284    A 11-SEP-20
        Name: D:\APP\ORACLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2020_09_11\O1_MF_1_9284_HOPTJG6G_.ARC

Diverse Versuche mit „DELETE ARCHIVELOG SEQUENCE 9131;“ und ähnlichem schlugen fehl. Am Ende hat nur ein Kommando geholfen, nämlich als SYS auf der Datenbank:

SQL> exec SYS.DBMS_BACKUP_RESTORE.resetCfileSection(11);

Dadurch vergisst das Controlfile sämtliche Archivelogs, da die V$ARCHIEVED_LOGS geleert wird. Danach sollten die Vorhandenen natürlich wieder mit „CATALOG START WITH ‚/pfad/zu/der/FRA‘;“ oder besser „CATALOG RECOVERY AREA;“ bekannt gemacht werden.

Ich muss nicht hinzufügen, dass ihr das natürlich nicht in der Produktion machen solltet, solange ihr nicht wisst, was ihr tut. Und natürlich gegenprüfen, ob sich in dem Release nicht die SectionID geändert hat. Prüfen könnt ihr es mit diesem Statement:

SQL> select rownum-1 as SectionID, type from v$controlfile_record_section;

 SECTIONID TYPE
---------- ----------------------------
         0 DATABASE
         1 CKPT PROGRESS
         2 REDO THREAD
         3 REDO LOG
         4 DATAFILE
         5 FILENAME
         6 TABLESPACE
         7 TEMPORARY FILENAME
         8 RMAN CONFIGURATION
         9 LOG HISTORY
        10 OFFLINE RANGE

 SECTIONID TYPE
---------- ----------------------------
        11 ARCHIVED LOG
        12 BACKUP SET
        13 BACKUP PIECE
        14 BACKUP DATAFILE
        15 BACKUP REDOLOG
        16 DATAFILE COPY
        17 BACKUP CORRUPTION
        18 COPY CORRUPTION
        19 DELETED OBJECT
        20 PROXY COPY
        21 BACKUP SPFILE

 SECTIONID TYPE
---------- ----------------------------
        22 DATABASE INCARNATION
        23 FLASHBACK LOG
        24 RECOVERY DESTINATION
        25 INSTANCE SPACE RESERVATION
        26 REMOVABLE RECOVERY FILES
        27 RMAN STATUS
        28 THREAD INSTANCE NAME MAPPING
        29 MTTR
        30 DATAFILE HISTORY
        31 STANDBY DATABASE MATRIX
        32 GUARANTEED RESTORE POINT

 SECTIONID TYPE
---------- ----------------------------
        33 RESTORE POINT
        34 DATABASE BLOCK CORRUPTION
        35 ACM OPERATION
        36 FOREIGN ARCHIVED LOG
        37 PDB RECORD
        38 AUXILIARY DATAFILE COPY
        39 MULTI INSTANCE REDO APPLY
        40 PDBINC RECORD

41 rows selected.

Schreibe einen Kommentar