Oracle-Datenbanken in einer Windows-Umgebung für Backup and DR auf einer Sicherungs-/Wiederherstellungs-Appliance vorbereiten

Hinweis

Bevor Sie Oracle-Datenbanken in einer Windows-Umgebung erkennen, schützen und bereitstellen können, müssen Sie Folgendes prüfen:

  1. Prüfen Sie die folgenden Einstellungen auf dem Datenbankserver:

    1. Die Oracle-Datenbank und der Oracle Listener sind aktiv (Windows-Dienste prüfen).

    2. Prüfen Sie, ob ein TNS-Eintrag mit dem Namen SID vorhanden ist. Die Datei „tnsnames.ora“ befindet sich unter

      %ORACLE_HOME%\network\admin
      
    3. Prüfen Sie, ob der TNS-Eintrag gültig ist:

      %ORACLE_HOME%\bin\tnsping <SID>
      
  2. Prüfen Sie, ob der Protokollierungsmodus auf „Archivprotokollmodus“ festgelegt ist:

    sql> archive log list
    

    Wenn sich die Datenbank im Modus „no-archive log“ befindet, versetzen Sie sie wieder in den Modus „archive log“:

    sql> shutdown immediate;
    sql> startup mount;
    sql> alter database archivelog;
    sql> alter database open;
    
  3. Aktivieren Sie die Blockverfolgung für Datenbankänderungen. Wenn BCT für die Datenbank deaktiviert ist, wirkt sich das auf die Zeit für die inkrementelle Sicherung aus. Die Funktion „Change Block Tracking“ ist in der Oracle Enterprise Edition verfügbar. Führen Sie eine SQL-Abfrage aus, um zu prüfen, ob die Änderungsblockverfolgung aktiviert ist. Führen Sie die Abfrage aus:

    sqlplus / as sysdba
    sql> select * from v$block_change_tracking;
    

So aktivieren Sie die Verfolgung von Änderungsblöcken:

    sql> alter database enable block change tracking
    using file '<Oracle home directory>\orcl.bct';

Oracle-Datenbank in einer Windows-Umgebung sichern

So sichern Sie eine Oracle-Datenbank in einer Windows-Umgebung:

  1. Legen Sie in der Appliance-Verwaltungskonsole die Anwendungsdetails und -einstellungen für Oracle-Datenbanken fest.

  2. Wenden Sie einen Sicherungsplan an, um die Datenbank zu schützen.

Bekanntes Problem

Oracle 19c SQL*Plus (sqlplus.exe) bleibt unter Windows gelegentlich hängen, wenn der Befehl „exit“ ausgeführt wird (Dokument-ID 2820655.1). Dieser Fehler tritt nur unter Windows auf. Oracle hat bestätigt, dass dieses Problem in den SQL*Plus-Versionen 19.10, 19.11 und 19.12 auftritt. Oracle hat folgende Lösungen bereitgestellt:

  • Verwenden Sie SQL*Plus 21.1 oder höher.
  • Wenden Sie den Patch 31466370 an. Dieser Patch ist für die Versionen 19.11 und 19.13 verfügbar.

Oracle-Datenbanken in einer Windows-Umgebung manuell mit RMAN an einem geplanten Sicherungspunkt wiederherstellen, wenn das Archivelog nicht durch Backup and DR geschützt ist

So stellen Sie eine vollständige Oracle-Datenbank in einer Windows-Umgebung wieder her:

  1. Stellen Sie den Datenbank-Backup-Snapshot aus Backup and DR auf dem Oracle-Server bereit, wie unter Oracle-Datenbank als Standardbereitstellung bereitstellen beschrieben.

  2. Legen Sie die Datenbankumgebung fest und starten Sie die Datenbank im Status „nicht bereitgestellt“ (no-mount) mit der Parameterdatei aus dem bereitgestellten Backup und DR-Volume (z. B. für ein bereitgestelltes Datenbank-Volume auf E:):

    sqlplus / as sysdba
    sql> startup nomount pfile='E:\<sid>___backup.ora';
    
  3. SPFILE aus PFILE erstellen:

    sql> create spfile='%ORACLE_HOME%\database\spfile<sid>.ora'
    from pfile='E:\<sid>___backup.ora';
    
  4. Starten Sie die Datenbank mit der SPFILE im Status nomount:

    sql> shutdown immediate;
    sql> startup nomount;
    
  5. Stellen Sie die Steuerdatei mit RMAN aus dem eingebundenen Backup und DR-Volume wieder her:

    rman target /
    rman> restore controlfile from 'E:\cf-D_<sid>-id_<id>.ctl';
    
  6. Stellen Sie die Datenbank bereit:

    rman> alter database mount;
    
  7. Katalogisieren Sie die Datendatei und den Ordner mit der Archivdatei aus dem eingebundenen Backup und DR-Volume in RMAN:

    rman> run
    {
    catalog start with 'E:\datafile' noprompt;
    catalog start with 'E:\archivelog' noprompt;
    }
    
  8. Stellen Sie die Datenbank wieder her:

    rman> run
    {
    restore database;
    recover database;
    }
    
  9. Öffnen Sie die Datenbank mit der Option zum Zurücksetzen des Protokolls:

    rman> alter database open resetlogs;
    

Oracle-Datenbanken in einer Windows-Umgebung manuell mit RMAN zu einem geplanten Sicherungspunkt mit Roll-Forward des durch Backup and DR geschützten Archivelogs wiederherstellen

  1. Stellen Sie die Sicherung vom Quelldatenbankserver wieder her. Stellen Sie den Backup-Snapshot aus Backup and DR auf dem Oracle-Server bereit, wie unter Oracle-Datenbank als Standardbereitstellung bereitstellen beschrieben.

  2. Legen Sie die Datenbankumgebung fest und starten Sie die Datenbank im Status „no-mount“ (nicht bereitgestellt) mit der Parameterdatei aus dem bereitgestellten Backup and DR-Volume. In diesem Beispiel wird die Datenbanksicherung unter E:\ und das geschützte Archivlog unter Z: bereitgestellt.

       sqlplus / as sysdba
    
       startup nomount pfile='E:\<sid>___backup.ora';
    
  3. SPFILE aus PFILE erstellen:

    sql> create spfile='%ORACLE_HOME%\database\spfile<sid>.ora' from
    pfile='E:\<sid>___backup.ora';
    
  4. Starten Sie die Datenbank mit der SPFILE im Status „nomount“:

    ```sql
    shutdown immediate;
    startup nomount;
    ```
    
  5. Stellen Sie die Steuerdatei mit RMAN aus der bereitgestellten Archivlog-Sicherung von Backup und DR wieder her:

    ```rman
    rman target /
    rman> restore controlfile from 'Z:\cf-D_<sid>-id_<id>.ctl';
    ```
    
  6. Stellen Sie die Datenbank bereit:

    ```rman
    rman> alter database mount;
    ```
    
  7. Katalogisieren Sie den Daten- und Archivelog-Ordner aus der in Backup and DR eingebundenen Datenbank- und Archivelog-Sicherung in RMAN:

    ```rman
    rman> run
    {
    catalog start with 'E:\datafile' noprompt;
    catalog start with 'E:\archivelog' noprompt;
    catalog start with 'Z:\archivelog' noprompt;
    }
    ```
    
  8. Stellen Sie die Datenbank wieder her:

    ```rman
    rman> run
    {
    restore database;
    recover database;
    }
    ```
    

    Führen Sie für eine Wiederherstellung zu einem bestimmten Zeitpunkt den Befehl „recover“ wie folgt aus:

    ```rman
    rman> run
     {
      restore database;
      recover database until time "to_date('<time stamp>','yyyymmddhh24mi')";
     }
     ```
    
  9. Öffnen Sie die Datenbank mit der Option zum Zurücksetzen des Protokolls:

    ```rman
    rman> alter database open resetlogs;
    ```
    

    Die Datenbank ist für Lese- und Schreibvorgänge verfügbar.

Script zum Überwachen der Bereitstellung von Datenbank-Volumes

Wenn Sie eine anwendungsbezogene Bereitstellung erstellen, können Sie ein Watch-Script verwenden, um die Volumes anzuzeigen, die von Backup und DR bereitgestellt werden, und die ausgeführten Oracle-Prozesse. Anwendungsbezogene Bereitstellungen werden unter Oracle-Datenbank als virtuelle Anwendung bereitstellen beschrieben.

Wenn Sie eine anwendungsbezogene Bereitstellung durchführen, können Sie dieses Watch-Script verwenden. Der Speicherort des Skripts muss C:\Programme\Backup and DR\scripts sein. Scripts, die auf Windows-Hosts ausgeführt werden, müssen .bat- oder .vbs-Dateien sein.

    ```Windows
    @echo off
    :loop
    echo. > watchtemp
    echo ------------------ >> watchtemp
    echo  Oracle Processes >> watchtemp
    echo ------------------ >> watchtemp
    tasklist /svc | findstr oracle >> watchtemp
    echo. >> watchtemp
    echo ------------------ >> watchtemp
    echo   Backup and DR Mounts >> watchtemp
    echo ------------------ >> watchtemp
    wmic volume get label, name | findstr Backup and DR >> watchtemp
    echo. >> watchtemp
    cls
    type watchtemp
    timeout 2 > null
    goto loop
    ```

Dadurch wird eine Ausgabe wie diese generiert:

    Oracle Processes
    ------------------
    oracle.exe                    1492 OracleServiceORCL
    oracle.exe                    3768 OracleServiceTestDB
    oracle.exe                     872 OracleServiceTestDB2
    ------------------
      Backup and DR Mounts
    ------------------
    Backup and DR-Backup-ORCL    D:\mount_1