DR-Bereitschaft validieren

Prüfen Sie Best Practices für Disaster Recovery-Bereitschaft und überprüfen Sie Ihr Disaster Recovery-Setup für geplante und ungeplante Ereignisse.

Über DR Readiness

Überprüfen Sie Best Practices für Disaster Recovery (DR).

Verwenden Sie Active Data Guard, um die schreibgeschützte Workload in die Standbydatenbank abzuladen, um eine kontinuierliche Validierung auf Anwendungsebene sicherzustellen, dass die Standby zur Produktion bereit ist. Dies bietet neben der kontinuierlichen Validierung auf Oracle-Blockebene, die von Oracle Data Guard Apply-Prozessen durchgeführt wird, eine Sicherheitsstufe.

Verwenden Sie eine Snapshot-Standbydatenbank, um ein exaktes Replikat einer Produktionsdatenbank für Entwicklungs- und Testzwecke zu erstellen. Platzieren Sie die Standby regelmäßig im Lese-/Schreibmodus (mit Data Guard-Snapshot-Standby), um ihre Bereitschaft zur Unterstützung von Read-Write-Produktions-Workloads zu validieren. Eine Snapshot-Standby kann auch für eine endgültige Ebene der Funktions- und Performance-Tests von Patches und Upgrades verwendet werden, da die DR-Systemgröße dem Produktionssystem ähnlich ist. Eine Snapshot-Standby erhält weiterhin redo aus der Primärdatenbank, in der sie später archiviert wird und die jederzeit Datenschutz bietet. Die Recovery-Zeit (RTO) wird jedoch um die Zeit verlängert, die für die Konvertierung der Snapshot-Standby zurück in die Standby-Datenbank erforderlich ist, wenn während des Tests ein Failover erforderlich ist. Zusätzlicher Speicher ist für den Fast Recovery-Bereich erforderlich, wenn sich eine Standby im Snapshot-Modus befindet (um archivierte Redo zu speichern, die von der primären Produktionsdatenbank für spätere Verwendung empfangen wurden, sowie aktuelle Redo- und Flashback-Logs, die von der Snapshot-Standby generiert werden).

Im Folgenden sind einige der Vorteile der Verwendung einer Snapshot-Standbydatenbank aufgeführt:

  • Es bietet eine exakte Replikation einer Produktionsdatenbank für Entwicklung und Test bei gleichzeitiger Wahrung des Datenschutzes. Mit der Option Oracle Real Application Testing können Sie die primäre Datenbank-Workload erfassen und dann zu Testzwecken auf der Snapshot-Standby wiedergeben.
  • Es wird leicht aktualisiert, um aktuelle Produktionsdaten zu enthalten, indem es in eine physische Standbydatenbank konvertiert und erneut synchronisiert wird.

Standbydatenbank in Snapshot-Standby konvertieren

Wenn Sie ein genaues Replikat einer Produktionsdatenbank wünschen, können Sie die physische Standbydatenbank mit Oracle Data Guard Broker in eine Snapshot-Standbydatenbank konvertieren und das Failover validieren.

Eine Snapshot-Standby ist eine vollständig aktualisierbare Standbydatenbank, die aus einer physischen Standbydatenbank erstellt wird. Bei Snapshot-Standbydatenbanken werden die redo-Daten empfangen, jedoch erst angewendet, wenn die Snapshot-Standbydatenbank in eine physische Standbydatenbank konvertiert wurde.

Im Folgenden finden Sie einige Vorteile für die Verwendung einer Snapshot-Standbydatenbank:

  • Die Snapshot-Standby stellt eine exakte Replikation einer Produktionsdatenbank für Entwicklungs- und Testzwecke bereit, wobei der Datenschutz jederzeit aufrechterhalten wird. Mit der Option Oracle Real Application Testing können Sie die primäre Datenbank-Workload erfassen und zu Testzwecken auf der Snapshot-Standby wiedergeben.
  • Sie können die Snapshot-Standby ganz einfach aktualisieren, um aktuelle Produktionsdaten zu enthalten, indem Sie in eine physische Standby konvertieren und die Synchronisierung wiederholen.

Mit der Oracle Data Guard-Befehlszeilenschnittstelle (DGMGRL) können Sie eine Oracle Data Guard Broker-Konfiguration und ihre verschiedenen Elemente direkt über die Befehlszeilenschnittstelle verwalten.

  1. Melden Sie sich bei einer DGMGRL-Session auf der Standbydatenbankinstanz mit dem Benutzernamen und Kennwort sys an.
    [oracle@exa11db01 ~]$ dgmgrl
    DGMRGL> connect
    Username: sys
    Password:
  2. Zeigen Sie die Konfiguration an, um die Primär- und Standbydatenbanken zu bestätigen.
    DGMGRL> show configuration;
    Die Ausgabe sieht wie folgt aus:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        db1        - Physical standby database 
          Error: ORA-16664: unable to receive the result from a member
    Fast-Start Failover:  Disabled
    Configuration Status:
    ERROR   (status updated 108 seconds ago)
  3. Konvertieren Sie die physische Standbydatenbank in eine Snapshot-Standbydatenbank.
    In diesem Beispiel ist standby_database_unique_name db1.
    DGMGRL> convert database standby_database_unique_name to snapshot standby;
    Wenn die Konvertierung abgeschlossen ist, hat die Ausgabe eine Zeile, die der folgenden ähnelt:
    Converting database "db1" to a Snapshot Standby database, please wait...
    Database "db1" converted successfully
  4. Zeigen Sie die Konfiguration an, um die Konvertierung zu prüfen.
    DGMGRL> show configuration;
    Die Ausgabe sieht wie folgt aus:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        db1        - Snapshot standby database 
          Error: ORA-16664: unable to receive the result from a member
    Fast-Start Failover:  Disabled
    Configuration Status:
    ERROR   (status updated 59 seconds ago)
  5. Konvertieren Sie die Snapshot-Standby-Datenbank zurück in eine physische Standby-Datenbank.
    DGMGRL> convert database standby_database_unique_name to physical standby;
    Die Ausgabe sieht wie folgt aus:
    Converting database "db1" to a Physical Standby database, please wait...
    Operation requires a connection to database "db1_phx3g7"
    Connecting ...
    Connected to "DB1_phx3g7"
    Connected as SYSDBA.
    Oracle Clusterware is restarting database "db1" ...
    Connected to "db1"
    Connected to "db1"
    Continuing to convert database "db1" ...
    Database "db1" converted successfully
  6. Zeigen Sie die Konfiguration an, um die Konvertierung zu prüfen.
    DGMGRL> show configuration;
    Die Ausgabe sieht in etwa wie folgt aus:
    Configuration - onpremexadr
      Protection Mode: MaxPerformance
      Members:
      db1_phx3g7 - Primary database
        db1        - Physical standby database 
          Error: ORA-16664: unable to receive the result from a member
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    ERROR   (status updated 20 seconds ago)
    DGMGRL>

Oracle Data Guard-Parameter festlegen

Legen Sie vor der Ausführung eines Switchover die Oracle Data Guard-Parameter in den Primär- und Standbydatenbankinstanzen fest.

  1. Prüfen Sie in der primären On-Premise-Datenbank die Systemänderungsnummer (SCN).
    select standby_became_primary_scn from v$database;
    Die Ausgabe sieht in etwa wie folgt aus:
    STANDBY_BECAME_PRIMARY_SCN
    --------------------------
    0
  2. Stellen Sie sicher, dass das Flashback in der Primärdatenbank nicht aktiviert ist.
    select flashback_on from v$database;
    Die Ausgabe sieht in etwa wie folgt aus:
    FLASHBACK_ON
    ------------------
    NO
  3. Zeigt das Parameter-Recovery an.
    SQL> show parameter recovery;
    Die Ausgabe sieht in etwa wie folgt aus:
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_recovery_file_dest	     string	      +RECOC1
    db_recovery_file_dest_size	big integer	  8256M
    recovery_parallelism             integer             0
    remote_recovery_file_dest        string
  4. Legen Sie die Größe des Parameters DB_RECOVERY_FILE_DEST_SIZE fest, um die Datenbankgröße zu erfüllen.
    Im folgenden Beispiel wird 20G als Beispieldatengröße verwendet. Legen Sie die Datengröße basierend auf Ihrer Datenbank fest.
    SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20G;
  5. Flashback in der Primärdatenbank aktivieren.
    SQL> alter database flashback on;
  6. Bestätigen Sie, dass das Datenbank-Flashback aktiviert ist (on).
    SQL> select flashback_on from v$database;
    Die Ausgabe sieht wie folgt aus:
    FLASHBACK_ON
    ------------------
    YES
  7. Legen Sie in der Standby-Oracle Database Exadata Cloud Service fest, ob Flashback aktiviert ist.
    SQL> select flashback_on from v$database;
    Die Ausgabe sieht wie folgt aus:
    FLASHBACK_ON
    ------------------
    NO
  8. Fragen Sie den Status des geöffneten Modus für die Standby-Datenbank in der Cloud ab.
    SQL> select open_mode from v$database;
    Die Ausgabe sieht wie folgt aus:
    OPEN_MODE
    -------------------- 
    MOUNTED
  9. Datenbank-Recovery für die Standby-Datenbank abbrechen.
    SQL> alter database recover managed standby database cancel;
  10. Stellen Sie den Flashback auf der Datenbankinstanz in der Cloud ein.
    SQL> alter database flashback on;
  11. Trennen Sie die Standbyverbindung von der Session.
    SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
    Database altered
  12. Bestätigen Sie, dass das Datenbank-Flashback aktiviert ist (on).
    SQL> select flashback_on from v$database;
    FLASHBACK_ON
    ------------------
    YES
  13. Zeigen Sie die Erhaltungsparameter an.
    SQL> show parameter_retention;
    Die Ausgabe sieht wie folgt aus:
    NAME				     TYPE	 VALUE
    ------------------------------------ ----------- ------------------------------
    db_flashback_retention_target	     integer	 1440
    undo_retention			      integer	 900