Hinweis:

Implementierung von Oracle Zero Downtime Migration 21.5 Cloud Native Disaster Recovery Automation

Einführung

In einer typischen Migration migriert Oracle Zero Downtime Migration eine Quelldatenbank nur in eine Zieldatenbank (Single Point of Failure). Jetzt in der Version 21.5 können Sie während der Nachmigration auch eine Disaster-Recovery-(DR-)Strategie erstellen, um auf ein Ereignis reagieren und es wiederherstellen zu können, das sich negativ auf Ihren Geschäftsbetrieb auswirkt. Während der Migration werden zwei Zieldatenbanken instanziiert (Primär- und Standbydatenbank der Ziele), wobei sich beide in verschiedenen Regionen befinden können (um die Auswirkungen von Naturkatastrophen zu reduzieren). Während der Nachmigration wird die Oracle Data Guard-Brokerkonfiguration in beiden Zieldatenbanken wiederhergestellt, um Cloud-native Vorgänge wie Switchover und Failover (in der Oracle Database Cloud Service-Konsole) zu ermöglichen. Weitere Informationen finden Sie unter Oracle Cloud Native Disaster Recovery-Strategie erstellen.

Architekturdiagramm

Architektur

Workflowschritte in Oracle Zero Downtime Migration

  1. Starten Sie die Datenbankmigration.
  2. Führen Sie eine Wiederherstellung aus dem Service durch.
  3. Instanziieren Sie die Standbydatenbank auf der primären Zieldatenbank.
  4. Primär- und Standby-Datenbank auf der Primär-Ziel-Datenbank synchronisieren
  5. Restore vom Service ausführen
  6. Instanziieren Sie die Standbydatenbank auf der Zielstandbydatenbank.
  7. Synchronisieren Sie Quell- und Zielstandbys.
  8. Switchover-Bereitschaft überwachen.
  9. Führen Sie Switchover und Rollenübergang durch.
  10. Konfigurieren Sie das primäre Ziel, und stellen Sie die Cloud Broker-Konfiguration wieder her.
    1. Oracle Zero Downtime Migration stellt die Cloud Broker-Konfiguration zwischen der primären Cloud-Ziel- und der Cloud-Ziel-Standbydatenbank wieder her.
    2. Oracle Zero Downtime Migration konfiguriert die primäre Zielinstanz so, dass Redo-Logs an die Zielstandbydatenbank gesendet werden.
  11. Prüfungen nach der Validierung durchführen
  12. Migrationsprozess abschließen

Hinweis: Oracle Base Database Service, Oracle Exadata Database Service on Dedicated Infrastructure, Oracle Exadata Database Service on Cloud@Customer, Exadata On Premise und Oracle Exadata Database Service on Dedicated Infrastructure auf Oracle Database@Azure unterstützen diesen Workflow.

Voraussetzungen

Aufgabe 1: Aufgaben vor der Migration

In den folgenden Schritten werden die vor der eigentlichen Migration erforderlichen Aufgaben erläutert.

  1. Installieren Sie die Software auf dem Quellsystem. zdmcli Build zeigt die Version der Binärdateien an. Weitere Informationen finden Sie unter Software auf dem Quellsystem installieren.

    Bildbeschreibung hier eingeben

  2. Wie in den Voraussetzungen erwähnt, wurde das DR-Setup zwischen den Computern des OCI-Ziel-Primär- und des Ziel-Standby-VM-Datenbanksystems konfiguriert, wie im folgenden Image dargestellt.

    Bildbeschreibung hier eingeben

    Datenbank- und Serverbestand:

    Name Datum
    DB-Name und -Version Db0403 & 19c
    Quellhostname (On-Premise) Datenbankquelle
    OCI-Hostname "Primäres Ziel" ociserverprimär
    Anzeigename der OCI-Konsole "Ziel primär" OCI_FUTURE_PRIMARY
    OCI-Hostname "Zielstandbydatenbank" ociserverstandby
    Anzeigename der OCI "Target Standby"-Konsole OCI_FUTURE_STANDBY
    PDB-Name Db0403_Pdb1
    ZDM-Servername &Version Workshop & 21.5

    Die folgenden Images zeigen die Details der primären OCI-Zieldatenbank und der Standby-Zieldatenbanksysteme.

    Bildbeschreibung hier eingeben

    Bildbeschreibung hier eingeben

  3. Für die Quelldatenbank ist das Logging erzwungen und der Archive Log-Modus aktiviert, und sie kann mit dem folgenden Befehl geprüft werden.

    select force_logging ,log_mode from v$database;
    FORCE_LOGGING  LOG_MODE
    --------------------------------------- ------------
    YES  ARCHIVELOG
    
  4. Führen Sie den Befehl tnsping aus, um den 1521-Port zu testen, der zwischen primären Quell- und Zielservern aktiviert ist, und umgekehrt für den Logversand.

  5. Der Oracle Zero Downtime Migration-Server muss SSH als zdmuser für die Quell- und Zielstandbyserver sowie als OPC-Benutzer verwenden können. Hier wird auch der BS-Benutzer des Quellservers OPC in dieser Migration zusammen mit dem OPC-Zielbenutzernamen des BS verwendet.

    Bildbeschreibung hier eingeben

  6. Die Quellserverdatei /etc/hosts wurde mit den Informationen zur Primär- und Zielstandbydatenbank aktualisiert.

    Bildbeschreibung hier eingeben

  7. Die Datei /etc/hosts des zukünftigen OCI-Primärservers wurde mit den Einträgen in der folgenden Abbildung aktualisiert.

    Bildbeschreibung hier eingeben

  8. Die Datei /etc/hosts des zukünftigen OCI-Standbyservers wurde mit den Einträgen aktualisiert, die in der folgenden Abbildung dargestellt sind.

    Bildbeschreibung hier eingeben

  9. Die Datei /etc/hosts des Hostservers des Oracle Zero Downtime Migration-Service wurde mit den Einträgen aktualisiert, die im folgenden Bild dargestellt sind.

    Bildbeschreibung hier eingeben

Aufgabe 2: Oracle Zero Downtime Migration-Job bewerten

Prüfen Sie den Oracle Zero Downtime Migration Readiness-Befehl mit dem -eval-Flag-Befehl. -eval initiiert keine reale Migration. Er wird für die Auswertung von Vorabprüfungen und die Bereitschaft von Umgebungen verwendet.

Führen Sie den folgenden Befehl aus:

/u01/app/zdmhome/bin/zdmcli migrate database -rsp /home/zdmuser/physical_online.rsp -sourcedb DB0403_sourcedb -sourcenode databasesource -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/priv.key -srcarg3 sudo_location:/usr/bin/sudo -targetnode ociserverprimary -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/priv.key -tgtarg3 sudo_location:/usr/bin/sudo -targethome /u01/app/oracle/product/19.0.0.0/dbhome_1 -eval

Ausgabe:

Bildbeschreibung hier eingeben

Antwortdateiparameter werden für die endgültige Migration verwendet.

Bildbeschreibung hier eingeben

Aufgabe 3: Abschlussmigrationsjob instanziieren

Der EVAL-Jobstatus von Aufgabe 2 lautet "Erfolgreich", und der folgende Befehl wird zum Starten der Migration verwendet.

/u01/app/zdmhome/bin/zdmcli migrate database -rsp /home/zdmuser/physical_online.rsp -sourcedb DB0403_sourcedb -sourcenode databasesource -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/priv.key -srcarg3 sudo_location:/usr/bin/sudo -targetnode ociserverprimary -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/priv.key -tgtarg3 sudo_location:/usr/bin/sudo -targethome /u01/app/oracle/product/19.0.0.0/dbhome_1 -pauseafter ZDM_CONFIGURE_DG_TGT

Flag pauseafter zum Migrationsbefehl hinzugefügt, um die Migration nach der Phase ZDM_CONFIGURE_DG_TGT zu unterbrechen. Jetzt wurde der Job erfolgreich bis zur Phase ZDM_CONFIGURE_DG_TGT abgeschlossen und wie erwartet angehalten.

Migrationsergebnisse:

[zdmuser@workshop ~]$ zdmcli query job -jobid 13
workshop.pgvcnpublic1.pgvcn.oraclevcn.com: Audit ID: 115
Job ID: 13
User: zdmuser
Client: workshop
Job Type: "MIGRATE"
Scheduled job command: "zdmcli migrate database -rsp /home/zdmuser/physical_online.rsp -sourcedb DB0403_sourcedb -sourcenode databasesource -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/priv.key -srcarg3 sudo_location:/usr/bin/sudo -targetnode ociserverprimary -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/priv.key -tgtarg3 sudo_location:/usr/bin/sudo -targethome /u01/app/oracle/product/19.0.0.0/dbhome_1"
Scheduled job execution start time: 2025-04-03T18:23:49Z. Equivalent local time: 2025-04-03 18:23:49
Current status: PAUSED
Current Phase: "ZDM_CONFIGURE_DG_TGT"
Result file path: "/u01/app/zdmbase/chkbase/scheduled/job-13-2025-04-03-18:23:55.log"
Metrics file path: "/u01/app/zdmbase/chkbase/scheduled/job-13-2025-04-03-18:23:55.json"
Job execution start time: 2025-04-03 18:23:55
Job execution end time: 2025-04-03 19:35:48
Job execution elapsed time: 41 minutes 7 seconds
ZDM_GET_SRC_INFO .............. COMPLETED
ZDM_GET_TGT_INFO .............. COMPLETED
ZDM_GET_STBY_INFO ............. COMPLETED
ZDM_PRECHECKS_SRC ............. COMPLETED
ZDM_PRECHECKS_TGT ............. COMPLETED
ZDM_PRECHECKS_STBY ............ COMPLETED
ZDM_SETUP_SRC ................. COMPLETED
ZDM_SETUP_TGT ................. COMPLETED
ZDM_SETUP_STBY ................ COMPLETED
ZDM_PREUSERACTIONS ............ COMPLETED
ZDM_PREUSERACTIONS_TGT ........ COMPLETED
ZDM_PREUSERACTIONS_STBY ....... COMPLETED
ZDM_VALIDATE_SRC .............. COMPLETED
ZDM_VALIDATE_TGT .............. COMPLETED
ZDM_VALIDATE_STBY ............. COMPLETED
ZDM_DISCOVER_SRC .............. COMPLETED
ZDM_COPYFILES ................. COMPLETED
ZDM_PREPARE_TGT ............... COMPLETED
ZDM_SETUP_TDE_TGT ............. COMPLETED
ZDM_RESTORE_TGT ............... COMPLETED
ZDM_RECOVER_TGT ............... COMPLETED
ZDM_FINALIZE_TGT .............. COMPLETED
ZDM_CONFIGURE_DG_SRC .......... COMPLETED
ZDM_COPYFILES_TGT_STBY ........ COMPLETED
ZDM_PREPARE_STBY .............. COMPLETED
ZDM_SETUP_TDE_STBY ............ COMPLETED
ZDM_RESTORE_TGT_STBY .......... COMPLETED
ZDM_RECOVER_TGT_STBY .......... COMPLETED
ZDM_FINALIZE_STBY ............. COMPLETED
ZDM_CONFIGURE_DG_TGT .......... COMPLETED
ZDM_SWITCHOVER_SRC ............ PENDING
ZDM_SWITCHOVER_TGT ............ PENDING
ZDM_POST_DATABASE_OPEN_TGT .... PENDING
ZDM_DATAPATCH_TGT ............. PENDING
ZDM_POST_MIGRATE_TGT_STBY ..... PENDING
ZDM_POST_MIGRATE_TGT .......... PENDING
ZDM_POSTUSERACTIONS ........... PENDING
ZDM_POSTUSERACTIONS_TGT ....... PENDING
ZDM_POSTUSERACTIONS_STBY ...... PENDING
ZDM_CLEANUP_SRC ............... PENDING
ZDM_CLEANUP_TGT ............... PENDING
ZDM_CLEANUP_STBY .............. PENDING

Pause After Phase: "ZDM_CONFIGURE_DG_TGT" <<<<<<<<<<<<<<<< job paused after this Phase.
[zdmuser@workshop ~]$

Der Migrationsjob wurde vor dem Switchover-Schritt angehalten. Die zukünftige OCI-Primär- und zukünftige Standbydatenbanken werden in den physischen Standbymodus geändert, und Oracle Data Guard Broker wird vom Oracle Zero Downtime Migration-Job mit allen drei Datenbanken in der Konfiguration konfiguriert, und alle sind synchron.

Bildbeschreibung hier eingeben

Aufgabe 4: Switchover-Phase für Migrationsjob starten

Starten Sie den Switchover, indem Sie den Oracle Zero Downtime Migration-Job und den Task 3-Job (13) fortsetzen.

[zdmuser@workshop ~]$ zdmcli resume job -jobid 13

workshop.pgvcnpublic1.pgvcn.oraclevcn.com: Audit ID: 117

Der Befehl zdmcli query job -jobid 13 gibt den Jobstatus an, und der Job wird jetzt als erfolgreich markiert.

Ausgabe:

[zdmuser@workshop ~]$ zdmcli query job -jobid 13
workshop.pgvcnpublic1.pgvcn.oraclevcn.com: Audit ID: 121
Job ID: 13
User: zdmuser
Client: workshop
Job Type: "MIGRATE"
Scheduled job command: "zdmcli migrate database -rsp /home/zdmuser/physical_online.rsp -sourcedb DB0403_sourcedb -sourcenode databasesource -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/priv.key -srcarg3 sudo_location:/usr/bin/sudo -targetnode ociserverprimary -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/priv.key -tgtarg3 sudo_location:/usr/bin/sudo -targethome /u01/app/oracle/product/19.0.0.0/dbhome_1"
Scheduled job execution start time: 2025-04-03T18:23:49Z. Equivalent local time: 2025-04-03 18:23:49

Current status: SUCCEEDED <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Result file path: "/u01/app/zdmbase/chkbase/scheduled/job-13-2025-04-03-18:23:55.log"
Metrics file path: "/u01/app/zdmbase/chkbase/scheduled/job-13-2025-04-03-18:23:55.json"
Job execution start time: 2025-04-03 18:23:55
Job execution end time: 2025-04-04 06:03:04
Job execution elapsed time: 56 minutes 15 seconds
ZDM_GET_SRC_INFO .............. COMPLETED
ZDM_GET_TGT_INFO .............. COMPLETED
ZDM_GET_STBY_INFO ............. COMPLETED
ZDM_PRECHECKS_SRC ............. COMPLETED
ZDM_PRECHECKS_TGT ............. COMPLETED
ZDM_PRECHECKS_STBY ............ COMPLETED
ZDM_SETUP_SRC ................. COMPLETED
ZDM_SETUP_TGT ................. COMPLETED
ZDM_SETUP_STBY ................ COMPLETED
ZDM_PREUSERACTIONS ............ COMPLETED
ZDM_PREUSERACTIONS_TGT ........ COMPLETED
ZDM_PREUSERACTIONS_STBY ....... COMPLETED
ZDM_VALIDATE_SRC .............. COMPLETED
ZDM_VALIDATE_TGT .............. COMPLETED
ZDM_VALIDATE_STBY ............. COMPLETED
ZDM_DISCOVER_SRC .............. COMPLETED
ZDM_COPYFILES ................. COMPLETED
ZDM_PREPARE_TGT ............... COMPLETED
ZDM_SETUP_TDE_TGT ............. COMPLETED
ZDM_RESTORE_TGT ............... COMPLETED
ZDM_RECOVER_TGT ............... COMPLETED
ZDM_FINALIZE_TGT .............. COMPLETED
ZDM_CONFIGURE_DG_SRC .......... COMPLETED
ZDM_COPYFILES_TGT_STBY ........ COMPLETED
ZDM_PREPARE_STBY .............. COMPLETED
ZDM_SETUP_TDE_STBY ............ COMPLETED
ZDM_RESTORE_TGT_STBY .......... COMPLETED
ZDM_RECOVER_TGT_STBY .......... COMPLETED
ZDM_FINALIZE_STBY ............. COMPLETED
ZDM_CONFIGURE_DG_TGT .......... COMPLETED
ZDM_SWITCHOVER_SRC ............ COMPLETED
ZDM_SWITCHOVER_TGT ............ COMPLETED
ZDM_POST_DATABASE_OPEN_TGT .... COMPLETED
ZDM_DATAPATCH_TGT ............. COMPLETED
ZDM_POST_MIGRATE_TGT_STBY ..... COMPLETED
ZDM_POST_MIGRATE_TGT .......... COMPLETED
ZDM_POSTUSERACTIONS ........... COMPLETED
ZDM_POSTUSERACTIONS_TGT ....... COMPLETED
ZDM_POSTUSERACTIONS_STBY ...... COMPLETED
ZDM_CLEANUP_SRC ............... COMPLETED
ZDM_CLEANUP_TGT ............... COMPLETED
ZDM_CLEANUP_STBY .............. COMPLETED
[zdmuser@workshop ~]$

Der DGMGRL-Befehl wird von der primären Ziel-OCI (jetzt ist er die aktuelle primäre) ausgeführt, während ein Datenbank-Switchover ausgeführt wird. OCI-Zielstandbydatenbank befindet sich wie erwartet noch im Standby-Modus, und die Quelle wurde von der primären in die physische Standbydatenbankrolle geändert.

Bildbeschreibung hier eingeben

Obwohl die On-Premise-Standbydatenbank nicht in der Brokerkonfiguration angezeigt wird, empfängt sie weiterhin die Redo-Logs von der OCI-Primärdatenbank zur On-Premise-Quelldatenbank und kann mit Log-Switches oder dem Wert log_archive_dest_3 verifiziert werden.

Bildbeschreibung hier eingeben

Aufgabe 5: Quelldatenbank aus der Konfiguration entfernen

Entfernen Sie die On-Premise-Synchronisierung endgültig, und führen Sie den nativen Switchover über die OCI-Konsole aus.

Bildbeschreibung hier eingeben

Starten Sie die Switchover-Aufgabe von der Konsole aus, um das Switchover der Konsole zu testen.

Bildbeschreibung hier eingeben

  OCI-Primär OCI-Standby
Vor Switchover DB0403_primary_oci DB0403_69p_iad
Nach Switchover DB0403_69p_iad DB0403_primary_oci

Die folgende Abbildung zeigt die DGMGRL-Ausgabe nach Abschluss des Switchovers.

Bildbeschreibung hier eingeben

Danksagungen

Weitere Lernressourcen

Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.