Datenbank aus dem OCI Classic-Objektspeicher wiederherstellen

In diesem Artikel wird erläutert, wie Sie eine Datenbank aus einem Backup wiederherstellen, das vom Oracle Database-Backupmodul erstellt und in Oracle Cloud Infrastructure Object Storage Classic gespeichert wurde.

In diesem Thema werden die folgenden Begriffe verwendet:

  • Quelldatenbank: Das Backup der Datenbank in Object Storage Classic.
  • Zieldatenbank: Die neue Datenbank auf einem DB-System in Oracle Cloud Infrastructure.

Voraussetzungen

Sie benötigen Folgendes:

  • Servicename, Identitätsname, Container, Benutzername und Kennwort für Oracle Cloud Infrastructure Object Storage Classic.
  • Das Backupkennwort, wenn die kennwortbasierte Verschlüsselung beim Backup in Object Storage Classic verwendet wurde.
  • Quelldatenbank-ID, Datenbankname und eindeutiger Datenbankname (zur Einrichtung des Speichers erforderlich).
  • Wenn die Quelldatenbank mit transparenter Datenverschlüsselung (TDE) konfiguriert ist, benötigen Sie ein Backup des Wallets und das Wallet-Kennwort.
  • Tnsnames zum Einrichten von Datenbanklinks.
  • Die Ausgabe von Opatch lsinventory für die Quelldatenbank Oracle_home zur Referenz.
  • Eine Kopie des sqlpatch-Verzeichnisses aus dem Quelldatenbank-Home. Das ist für das Rollback erforderlich, falls die Zieldatenbank diese Patches nicht enthält.

Speicher auf dem DB-System einrichten

  1. Stellen Sie eine SSH-Verbindung zum DB-System her.
    ssh -i <private_key_path> opc@<db_system_ip_address>
  2. Melden Sie sich als "opc" an, und wechseln Sie mit "sudo" zum Benutzer "root". Verwenden Sie sudo su - mit einem Bindestrich, um das Profil des Root-Benutzers aufzurufen. Dadurch wird der PATH auf das dbcli-Verzeichnis gesetzt (/opt/oracle/dcs/bin).
    login as: opc
    sudo su - 
  3. Verwenden Sie die Dbstorage-Befehle, um Verzeichnisse für DATA-, RECO- und REDO-Speicher einzurichten. Im folgenden Beispiel wird ACFS-Speicher mit 10 GB für die Datenbank "tdetest" erstellt.
    dbcli create-dbstorage --dbname tdetest --dataSize 10 --dbstorage ACFS 

    Hinweis:

    Bei der Migration einer Datenbank der Version 11.2 muss ACFS-Speicher angegeben werden.
  4. Verwenden Sie die Dbstorage-Befehle, um die Speicher-ID anzuzeigen. Sie benötigen die ID für den nächsten Schritt.
    dbcli list-dbstorages
    Ausgabe:
    ID                                       Type   DBUnique Name        Status
    ---------------------------------------- ------ -------------------- ----------
    9dcdfb8e-e589-4d5f-861a-e5ba981616ed     Acfs   tdetest              Configured
  5. Verwenden Sie die Dbstorage-Befehle mit der Speicher-ID aus dem vorherigen Schritt, um die DATA-, RECO- und REDO-Speicherorte aufzulisten.
    dbcli describe-dbstorage --id 9dcdfb8e-e589-4d5f-861a-e5ba981616ed
    Ausgabe:
    DBStorage details
    ----------------------------------------------------------------
                         ID: 9dcdfb8e-e589-4d5f-861a-e5ba981616ed
                    DB Name: tdetest
              DBUnique Name: tdetest
             DB Resource ID:
               Storage Type: Acfs
              DATA Location: /u02/app/oracle/oradata/tdetest
              RECO Location: /u03/app/oracle/fast_recovery_area/
              REDO Location: /u03/app/oracle/redo/
                      State: ResourceState(status=Configured)
                    Created: August 24, 2016 5:25:38 PM UTC
                UpdatedTime: August 24, 2016 5:25:53 PM UTC 
  6. Notieren Sie sich die DATA-, RECO- und REDO-Speicherorte. Sie benötigen diese später, um die Parameter db_create_file_dest, db_create_online_log_dest und db_recovery_file_dest für die Datenbank festzulegen.

ORACLE_HOME auswählen

Legen Sie fest, welches ORACLE_HOME für die Datenbankwiederherstellung verwendet werden soll, und wechseln Sie dann zu diesem Home mit den richtigen ORACLE_BASE-, ORACLE_HOME- und PATH-Einstellungen. Das ORACLE_HOME darf noch nicht mit einer Datenbank verknüpft sein.

Um eine Liste vorhandener ORACLE_HOMEs abzurufen und sicherzustellen, dass das ORACLE_HOME leer ist, verwenden Sie die Dbhome-Befehle bzw. die Datenbankbefehle. Um ein neues ORACLE_HOME zu erstellen, verwenden Sie die Dbhome-Befehle.

Quelldatenbank-Wallets kopieren

Überspringen Sie diesen Abschnitt, wenn die Quelldatenbank nicht mit TDE konfiguriert ist.

  1. Wechseln Sie auf dem DB-System zum Benutzer "oracle":
    sudo su - oracle
  2. Erstellen Sie das folgende Verzeichnis, wenn es noch nicht vorhanden ist:
    mkdir /opt/oracle/dcs/commonstore/wallets/tde/<db_unique_name>
  3. Kopieren Sie die Datei ewallet.p12 aus der Quelldatenbank in das Verzeichnis, das Sie im vorherigen Schritt erstellt haben.
  4. Stellen Sie auf dem Zielhost sicher, dass $ORACLE_HOME/network/admin/sqlnet.ora die folgende Zeile enthält:
    ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/$ORACLE_UNQNAME)))

    Fügen Sie die Zeile hinzu, falls sie nicht in der Datei vorhanden ist. (Die Zeile ist möglicherweise nicht vorhanden, wenn dieses Home neu ist und noch keine Datenbank auf diesem Host erstellt wurde.)

  5. Erstellen Sie das Wallet für die automatische Anmeldung aus dem kennwortbasierten Wallet, damit das Wallet während Wiederherstellungs- und Recovery-Vorgängen automatisch geöffnet werden kann.

    Verwenden Sie bei einer Datenbank der Version 12.1 oder höher den Befehl ADMINISTER KEY MANAGEMENT:

    $cat create_autologin_12.sh
    
    #!/bin/sh
    if [ $# -lt 2 ]; then
            echo "Usage: $0 <dbuniquename><remotewalletlocation>"
            exit 1;
    fi
    
    mkdir /opt/oracle/dcs/commonstore/wallets/tde/$1
    cp $2/ewallet.p12* /opt/oracle/dcs/commonstore/wallets/tde/$1
    rm -f autokey.ora
    echo "db_name=$1"  > autokey.ora
    autokeystoreLog="autologinKeystore_`date +%Y%m%d_%H%M%S_%N`.log"
    echo "Enter Keystore Password:"
    read -s keystorePassword
    echo "Creating AutoLoginKeystore -> "
    sqlplus "/as sysdba"  <<EOF
    spool $autokeystoreLog
    set echo on
    startup nomount pfile=autokey.ora
    ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE
    FROM KEYSTORE '/opt/oracle/dcs/commonstore/wallets/tde/$1' -- Keystore location
    IDENTIFIED BY "$keystorePassword";
    shutdown immediate;
    EOF

    Ändern Sie die cwallet.sso-Berechtigungen von oracle:asmadmin in oracle:oinstall.

    ls -ltr /opt/oracle/dcs/commonstore/wallets/tde/<db_unique_name>
    Ausgabe:
    total 20
    -rw-r--r-- 1 oracle oinstall 5680 Jul  6 11:39 ewallet.p12
    -rw-r--r-- 1 oracle asmadmin 5725 Jul  6 11:39 cwallet.sso

    Verwenden Sie bei Datenbanken der Version 11.2 den Befehl orapki:

    orapki wallet create -wallet wallet_location -auto_login [-pwd password]

Oracle Database-Backupmodul installieren

Die JAR-Datei des Backupmoduls ist auf dem DB-System vorhanden. Sie müssen sie jedoch installieren.

  1. Stellen Sie eine SSH-Verbindung zum DB-System her, melden Sie sich als "opc" an, und wechseln Sie dann zum Benutzer "oracle".
    ssh -i <path to SSH key used when launching the DB System> opc@<DB System IP address or hostname>
    sudo su - oracle
  2. Wechseln Sie zum Verzeichnis, das die Backupmoduldatei opc_install.jar enthält.
    cd /opt/oracle/oak/pkgrepos/orapkgs/oss/<version>/
  3. Informationen zur Installation des Backupmoduls finden Sie in der Befehlssyntax, die unter Oracle Database Cloud-Backupmodul für OCI Classic installieren in Oracle Database Backup Cloud Service verwenden beschrieben wird.

Umgebungsvariablen festlegen

Legen Sie die folgenden Umgebungsvariablen für die RMAN- und SQL*Plus-Sessions für die Datenbank fest:

ORACLE_HOME=<path of Oracle Home where the database is to be restored>
ORACLE_SID=<database instance name>
ORACLE_UNQNAME=<db_unique_name in lower case>
NLS_DATE_FORMAT="mm/dd/yyyy hh24:mi:ss"

RMAN-SBT-Kanal zuweisen

Weisen Sie für jeden Wiederherstellungsvorgang einen SBT-Kanal zu, und setzen Sie den Parameter SBT_LIBRARY auf den Speicherort der Datei libopc.so sowie den Parameter OPC_FILE auf den Speicherort der Datei opc_sbt.ora. Beispiel:

ALLOCATE CHANNEL c1 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/<ORACLE_HOME>/dbs/opc_sbt.ora)';

Weitere Informationen zu diesen Dateien finden Sie unter Beim Installieren des Oracle Database Cloud-Backupmoduls für OCI Classic erstellte Dateien in Oracle Database Backup Cloud Service verwenden.

Sicherstellen, dass die Entschlüsselung aktiviert ist

Stellen Sie sicher, dass die Entschlüsselung für alle RMAN-Wiederherstellungssessions aktiviert ist.

set decryption wallet open identified by <keystore password>;

Weitere Informationen finden Sie unter Kennwort zum Entschlüsseln verschlüsselter Backups angeben.

SPFILE wiederherstellen

Das folgende Beispielshellskript stellt die SPFILE wieder her. Setzen Sie die Variable $dbID auf die DBID der wiederherzustellenden Datenbank. Standardmäßig wird die SPFILE in $ORACLE_HOME/dbs/spfile<sid>.ora wiederhergestellt.

rman target / <<EOF

spool log to "`date +%Y%m%d_%H%M%S_%N`_dbid_${dbID}_restore_spfile.log"
startup nomount
set echo on
run {
ALLOCATE CHANNEL c1 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/tmp/oss/opc_sbt.ora)';
SET DBID=$dbID;
RESTORE SPFILE FROM AUTOBACKUP;
shutdown immediate;
EOF

Datenbankparameter festlegen

  1. Starten Sie die Datenbank im Nomount-Modus.
    startup nomount
  2. Aktualisieren Sie die SPFILE, und ändern Sie die folgenden Parameter.
    • Wenn der Datenbankspeichertyp ACFS ist, verwenden Sie die DATA-, RECO- und REDO-Speicherorte aus der Befehlsausgabe von dbcli describe-dbstorage, wie unter Speicher auf dem DB-System einrichten beschrieben:

      alter system set db_create_file_dest='/u02/app/oracle/oradata/' scope = spfile;
      alter system set db_create_online_log_dest_1='/u03/app/oracle/redo' scope = spfile;
      alter system set db_recovery_file_dest='/u03/app/oracle/fast_recovery_area' scope = spfile;
    • Wenn der Datenbankspeichertyp ASM ist:

      alter system set db_create_file_dest='+DATA' scope = spfile;
      alter system set db_create_online_log_dest_1='+RECO' scope = spfile;
      alter system set db_recovery_file_dest='+RECO' scope = spfile;
    • Wenn db_recovery_file_dest_size gar nicht oder nicht richtig festgelegt ist:

      alter system set db_recovery_file_dest_size=<sizeG> scope=spfile;
    • Setzen Sie audit_file_dest auf den richtigen Wert:

      alter system set audit_file_dest=/u01/app/oracle/admin/<db_unique_name in lower case>/adump
  3. Entfernen Sie den Parameter control_files. Die Kontrolldatei wird mit dem OMF-(Oracle Managed Files-)Parameter erstellt.
    alter system reset control_files scope=spfile;
  4. Starten Sie die Datenbank mit den neu hinzugefügten Parametern im Nomount-Modus neu.
    shutdown immediate
    startup nomount

Kontrolldatei wiederherstellen

Ändern Sie das folgende Beispielshellskript für Ihre Umgebung, um die Kontrolldatei wiederherzustellen. Setzen Sie die Variable $dbID auf die DBID der wiederherzustellenden Datenbank. Setzen Sie SBT_LIBRARY auf den Speicherort, der bei Installation des Backupmoduls im Parameter -libDir angegeben wurde. Setzen Sie OPC-PFILE auf den im Parameter -configFile angegebenen Speicherort. Standardmäßig ist dies ORACLE_HOME/dbs/opcSID.ora.

rman target / <<EOF

spool log to "`date +%Y%m%d_%H%M%S_%N`_dbid_${dbID}_restore_controlfile.log"
set echo on
run {
ALLOCATE CHANNEL c1 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/<Backup Module libDir>/libopc.so ENV=(OPC_PFILE=/<Backup Module configFile>/opcSID.ora)';
SET DBID=$dbID;
RESTORE CONTROLFILE FROM AUTOBACKUP;
alter database mount;
}

exit;
EOF

Datenbank wiederherstellen

  1. Zeigen Sie eine Vorschau des Backups an, und validieren Sie es. Die Datenbank ist jetzt gemountet, und RMAN sollte das Backup anhand der wiederhergestellten Kontrolldatei finden können. Mit diesem Schritt wird sichergestellt, dass die Liste der Archive-Logs vorhanden ist und die Backupkomponenten wiederhergestellt werden können.

    Ändern Sie in den folgenden Beispielen SBT_LIBRARY und OPC_PFILE entsprechend Ihrer Umgebung.

    rman target / <<EOF
    
    spool log to "`date +%Y%m%d_%H%M%S_%N`_restore_database_preview.log"
    set echo on
    run {
        ALLOCATE CHANNEL c1 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/tmp/oss/opc_sbt.ora)';
        ALLOCATE CHANNEL c2 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/tmp/oss/opc_sbt.ora)';
        ALLOCATE CHANNEL c3 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/tmp/oss/opc_sbt.ora)';
        restore database validate header preview;
    }

    Prüfen Sie die Ausgabe. Wenn sie Fehlermeldungen enthält, untersuchen Sie die Problemursache.

  2. Leiten Sie die Wiederherstellung mit set newname um, um die Datendateien im OMF-Format wiederherzustellen, und verwenden Sie switch datafile all, damit die Kontrolldatei mit den neuen Datendateikopien aktualisiert werden kann.
    rman target / <<EOF
    
    spool log to "`date +%Y%m%d_%H%M%S_%N`_restore_database_preview.log"
    set echo on
    run {
        ALLOCATE CHANNEL c1 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/tmp/oss/opc_sbt.ora)';
        ALLOCATE CHANNEL c2 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/tmp/oss/opc_sbt.ora)';
        ALLOCATE CHANNEL c3 DEVICE TYPE sbt MAXPIECESIZE 2 G FORMAT '%d_%I_%U' PARMS 'SBT_LIBRARY=/tmp/oss/libopc.so ENV=(OPC_PFILE=/tmp/oss/opc_sbt.ora)';
        set newname for database to new;
        restore database;
        switch datafile all;
        switch tempfile all;
        recover database;
    }

    Bei diesem Recovery wird versucht, das letzte verfügbare Archive-Logbackup zu verwenden. Der Vorgang wird dann mit einem Fehler beendet. Beispiel:

    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of recover command at 07/20/2016 12:09:02
    RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 22 and starting SCN of 878327
  3. Um das unvollständige Recovery abzuschließen, führen Sie ein Recovery mit der Folgenummer und der Threadnummer aus, die in der RMAN-06054-Meldung angezeigt werden. Beispiel:
    recover database until sequence 22 thread 1;

Logs zurücksetzen

Setzen Sie die Logs zurück.

alter database open resetlogs;

Registrierung der Datenbank vorbereiten

Bevor Sie die Datenbank registrieren:

  1. Stellen Sie sicher, dass der Wert des Datenbankparameters COMPATIBLE akzeptabel ist. Wenn der Wert kleiner als der Mindestwert ist, kann die Datenbank erst registriert werden, wenn Sie ein Upgrade der Datenbankkompatibilität vorgenommen haben.
  2. Prüfen Sie, ob die Datenbank mit dem Listener und dem Servicenamen registriert ist.
    lsnrctl services
  3. Stellen Sie sicher, dass die Kennwortdatei für die neue Datenbank wiederhergestellt oder erstellt wurde.
    ls -ltr $ORACLE_HOME/dbs/orapw<oracle sid>

    Wenn die Datei nicht vorhanden ist, erstellen Sie sie mit dem Utility "orapwd".

    orapwd file=<$ORACLE_HOME/dbs/orapw<$ORACLE_SID>> password=<sys password>
  4. Stellen Sie sicher, dass die wiederhergestellte Datenbank im Schreibzugriffsmodus geöffnet ist.
    select open_mode from v$database;

    Die Befehlsausgabe sollte den Schreibzugriffsmodus anzeigen. Der Befehl dbcli register-database versucht, Datapatch auszuführen, wofür der Schreibzugriffsmodus erforderlich ist. Wenn PDBs vorhanden sind, müssen diese sich ebenfalls im Schreibzugriffsmodus befinden, damit Datapatch auf ihnen ausgeführt werden kann.

  5. Prüfen Sie im Oracle Home in der wiederhergestellten Datenbank mit dem folgenden Befehl die Verbindung zu SYS:
    conn sys/<password>@//<hostname>:1521/<database service name>

    Diese Verbindung ist erforderlich, um die Datenbank später zu registrieren. Beheben Sie Probleme mit der Verbindung, bevor Sie fortfahren.

  6. Stellen Sie mit dem SQL*Plus-Befehl sicher, dass die Datenbank in SPFILE ausgeführt wird.
    SHOW PARAMETERS SPFILE
  7. (Optional) Wenn Sie das Datenbankbackup mit der dbcli-Befehlszeilenschnittstelle verwalten möchten, können Sie eine neue oder vorhandene Backupkonfiguration mit der migrierten Datenbank verknüpfen, wenn Sie diese registrieren oder nachdem Sie sie registriert haben. Eine Backupkonfiguration definiert das Backupziel und das Recovery-Fenster für die Datenbank. Mit den Backupconfig-Befehlen können Sie Backupkonfigurationen erstellen, auflisten und anzeigen.
  8. Kopieren Sie den Ordner $ORACLE_HOME/sqlpatch aus der Quelldatenbank in die Zieldatenbank. Dadurch wird der Befehl dbcli register-database aktiviert, mit dem unvereinbare Patches zurückgesetzt werden.

    Hinweis:

    Wenn Sie eine Datenbank der Version 11.2 migrieren, sind zusätzliche Schritte erforderlich, nachdem Sie die Datenbank registriert haben. Weitere Informationen finden Sie unter Patches in einer Datenbank der Version 11.2 zurücksetzen.

Datenbank im DB-System registrieren

Die Datenbankbefehle registrieren die wiederhergestellte Datenbank beim DCS-Agent, damit sie vom DCS-Agent-Stack verwaltet werden kann.

Hinweis:

Der Befehl dbcli register-database ist auf 2-Knoten-RAC-DB-Systemen nicht verfügbar.

Verwenden Sie als Root-Benutzer den Befehl dbcli register-database, um die Datenbank im DB-System zu registrieren. Beispiel:

dbcli register-database --dbclass OLTP --dbshape odb1 --servicename tdetest --syspassword

Ausgabe:

Password for SYS:
{
  "jobId" : "317b430f-ad5f-42ae-bb07-13f053d266e2",
  "status" : "Created",
  "message" : null,
  "reports" : [ ],
  "createTimestamp" : "August 08, 2016 05:55:49 AM EDT",
  "description" : "Database service registration with db service name: tdetest",
  "updatedTime" : "August 08, 2016 05:55:49 AM EDT"
}

tnsnames.ora aktualisieren

Prüfen Sie die Datei tnsnames.ora im Backupverzeichnis, prüfen Sie die Datenbanklinks, die in der geklonten Datenbank verwendet werden, und fügen Sie dann relevante Verbindungszeichenfolgen der geklonten Datenbankdatei unter $ORACLE_HOME/network/admin/tnsnames.ora hinzu.

Patches in einer Datenbank der Version 11.2 zurücksetzen

Bei Datenbanken der Version 11.2 wird die sqlpatch-Anwendung nicht automatisiert, sodass Interimspatches (früher als "One-off"-Patches bezeichnet), die in die Quelldatenbank eingespielt werden und nicht Teil der installierten PSU sind, in der Zieldatenbank manuell zurückgesetzt werden müssen. Nachdem Sie die Datenbank registriert haben, führen Sie das Skript catbundle.sql und dann das Skript postinstall.sql mit dem entsprechenden PSU-Patch (oder dem Overlay-Patch über dem PSU-Patch) aus, wie unten beschrieben.

Tipp:

Einige Interimspatches können Dateien enthalten, die in das Verzeichnis $ORACLE_HOME/rdbms/admin und in das Verzeichnis $ORACLE_HOME/sqlpatch geschrieben werden. Oracle empfiehlt, dass Sie diese Patches in der Quelldatenbank nach den Anweisungen in der Readme-Datei des Patches zurücksetzen, bevor Sie die Datenbank in die OCI-Umgebung migrieren. Wenden Sie sich an Oracle Support, wenn Sie Hilfe beim Rollback dieser Patches benötigen.
  1. Verwenden Sie im DB-System den Befehl dbcli list-dbhomes, um die PSU-Patchnummer für das Home der Datenbank der Version 11.2 zu suchen. In der folgenden Beispielbefehlsausgabe ist die PSU-Patchnummer die zweite Nummer in der Spalte "DB Version":
    dbcli  list-dbhomes
    Ausgabe:
    ID                                   Name               DB Version                             Home Location                             Status 
    ------------------------------------ -----------------  -------------------------------------  ----------------------------------------- ----------
    59d9bc6f-3880-4d4f-b5a6-c140f16f8c64 OraDB11204_home1	11.2.0.4.160719 (23054319, 23054359)   /u01/app/oracle/product/11.2.0.4/dbhome_1 Configured

    (Die erste Patchnummer, 23054319 im obigen Beispiel, gilt für die OCW-Komponente im Datenbank-Home.)

  2. Suchen Sie den Overlay-Patch, falls vorhanden, mit dem Befehl lsinventory. Im folgenden Beispiel ist die Patchnummer 24460960 der Overlay-Patch über dem PSU-Patch 23054359.
    $ORACLE_HOME/OPatch/opatch lsinventory
    Ausgabe:
    ...
    Installed Top-level Products (1): 
    
    Oracle Database 11g                                                  11.2.0.4.0
    There are 1 products installed in this Oracle Home.
    
    
    Interim patches (5) :
    
    Patch  24460960     : applied on Fri Sep 02 15:28:17 UTC 2016
    Unique Patch ID:  20539912
       Created on 31 Aug 2016, 02:46:31 hrs PST8PDT
       Bugs fixed:
         23513711, 23065323, 21281607, 24006821, 23315889, 22551446, 21174504
       This patch overlays patches:
         23054359
       This patch needs patches:
         23054359
       as prerequisites
  3. Starten Sie SQL*Plus, und führen Sie das Skript catbundle.sql aus. Beispiel:
    startup 
    connect / as sysdba
    @$ORACLE_HOME/rdbms/admin/catbundle.sql psu apply
    exit
  4. Spielen Sie den sqlpatch mit der Overlay-Patchnummer aus dem vorherigen Schritt ein. Beispiel:
    connect / as sysdba
    @$ORACLE_HOME/sqlpatch/24460960/postinstall.sql 
    exit

Hinweis:

Wenn One-off-Patches in der Quelldatenbank installiert wurden und diese Patches nicht Teil des installierten PSU in der Cloud-Umgebung sind, müssen die SQL-Änderungen, die diesen One-off-Patches entsprechen, per Rollback zurückgesetzt werden. Um ein Rollback der SQL-Änderungen durchzuführen, kopieren Sie das Skript $ORACLE_HOME/sqlpatch/<patch#>/postdeinstall.SQL aus der Quellumgebung in die Cloud-Umgebung. Führen Sie dann das Skript postdeinstall.SQL aus.

Checkliste zum Abschluss der Wiederherstellung

Nachdem die Datenbank im DB-System wiederhergestellt und registriert wurde, verwenden Sie die folgende Checkliste, um die Ergebnisse zu prüfen und eventuelle nachträgliche Anpassungen vorzunehmen.

  1. Stellen Sie sicher, dass die Datenbankdateien im OMF-Format wiederhergestellt wurden.
  2. Stellen Sie sicher, dass die Datenbank in der Ausgabe der Datenbankbefehle aufgeführt ist.
  3. Suchen Sie die folgenden externen Referenzen in der Datenbank, und aktualisieren Sie sie gegebenenfalls:
    • Externe Tabellen: Wenn die Quelldatenbank externe Tabellen verwendet, sichern Sie diese Daten, und migrieren Sie sie zum Zielhost.
    • Verzeichnisse: Passen Sie die Standardverzeichnisse entsprechend der wiederhergestellten Datenbank an.
    • Datenbanklinks: Prüfen Sie, ob alle erforderlichen TNS-Einträge in der Datei tnsnames.ora in ORACLE_HOME aktualisiert wurden.
    • E-Mail und URLs: Stellen Sie sicher, dass alle in der Datenbank verwendeten E-Mail-Adressen und URLs noch für das DB-System zugänglich sind.
    • Geplante Jobs: Prüfen Sie die Jobs, die in der Quelldatenbank geplant sind, und planen Sie ähnliche Jobs nach Bedarf in der wiederhergestellten Datenbank.
  4. Wenn Sie eine Backupkonfiguration bei der Registrierung der Datenbank verknüpft haben, führen Sie ein Testbackup mit den Backupbefehlen aus.
  5. Wenn die wiederhergestellte Datenbank eine CDB und PDBs umfasst, stellen Sie sicher, dass Patches in alle PDBs eingespielt wurden.