附註:

導入 Oracle Zero Downtime Migration 21.5 Cloud Native Disaster Recovery Automation

簡介

在一般移轉中,Oracle Zero Downtime Migration 只會將來源資料庫移轉至一個目標資料庫 (單一失敗點)。現在在 21.5 版本中,您也可以在移轉後建立「災害復原 (DR)」策略,以便能夠回應和復原對業務作業有負面影響的事件。移轉期間會建立兩個目標資料庫 (目標主要資料庫和目標待命資料庫),其中兩個目標資料庫都可以位於不同的區域 (以減少自然災害的影響)。在移轉後,會在兩個目標資料庫中回復 Oracle Data Guard 中介組態,以允許切換和容錯移轉等雲端原生作業 (在 Oracle Database Cloud Service 主控台中)。如需詳細資訊,請參閱建立 Oracle Cloud 原生災害復原策略

架構圖

架構

Oracle Zero Downtime Migration 工作流程步驟

  1. 開始資料庫移轉。
  2. 從服務執行回復。
  3. 在目標主要資料庫上建立待命資料庫。
  4. 同步目標主要資料庫上的主要資料庫和待命資料庫。
  5. 從服務執行回復。
  6. 在目標待命資料庫上建立待命資料庫。
  7. 同步來源和目標待命資料庫。
  8. 監控切換整備度。
  9. 執行切換和角色轉換。
  10. 設定目標主要和回復雲端中介組態。
    1. Oracle Zero Downtime Migration 可回復雲端目標主要和雲端目標待命資料庫之間的雲端中介組態。
    2. Oracle Zero Downtime Migration 可設定將重做日誌傳送至目標待命資料庫的目標主要資料庫。
  11. 執行驗證後檢查。
  12. 完成移轉處理作業。

Note: Oracle Base Database Service, Oracle Exadata Database Service on Dedicated Infrastructure, Oracle Exadata Database Service on Cloud@Customer, Exadata on-premises, and Oracle Exadata Database Service on Dedicated Infrastructure on Oracle Database@Azure support this workflow.

必要條件

工作 1:移轉前工作

下列步驟說明實際移轉之前要完成的先決條件作業。

  1. 在來源系統上安裝軟體。zdmcli 組建會顯示二進位檔案的版本。如需詳細資訊,請參閱 Install the Software on the Source System

    在此處輸入影像描述

  2. 如先決條件所述,已在 OCI 目標主要和目標待命虛擬機器資料庫系統機器之間設定 DR 設定,如以下影像所示。

    在此處輸入影像描述

    資料庫與伺服器產品目錄:

    名稱 數值
    資料庫名稱與版本 Db0403 & 19c
    來源 (內部部署) 主機名稱 資料庫來源
    OCI「目標主要」主機名稱 主治者
    OCI「目標主要」主控台顯示名稱 OCI_FUTURE_PRIMARY
    OCI「目標待命」主機名稱 ociserverstandby
    OCI「目標待命」主控台顯示名稱 OCI_FUTURE_STANDBY
    PDB 名稱 Db0403_Pdb1
    ZDM 伺服器名稱版本 (&V) 工作室 & 21.5

    下列影像顯示 OCI 目標主要資料庫和目標待命資料庫系統詳細資訊。

    在此處輸入影像描述

    在此處輸入影像描述

  3. 來源資料庫已啟用強制日誌記錄和存檔日誌模式,可以使用下列命令來驗證它。

    select force_logging ,log_mode from v$database;
    FORCE_LOGGING  LOG_MODE
    --------------------------------------- ------------
    YES  ARCHIVELOG
    
  4. 執行 tnsping 命令以測試來源與目標主要伺服器之間啟用的 1521 連接埠,反之亦然,以進行日誌傳送。

  5. Oracle Zero Downtime Migration 伺服器應該能夠以 zdmuser 身分使用 SSH 來源,並以 OPC 使用者身分定位主要和目標待命伺服器。此處的來源伺服器作業系統使用者也是此移轉中使用的 OPC 以及目標作業系統 OPC 使用者名稱。

    在此處輸入影像描述

  6. 已使用目標主要和目標待命資訊更新來源伺服器 /etc/hosts 檔案。

    在此處輸入影像描述

  7. 已使用下列影像中顯示的項目更新 OCI 未來主要伺服器 /etc/hosts 檔案。

    在此處輸入影像描述

  8. 已使用下列影像中顯示的項目更新 OCI 未來待命伺服器 ` /etc/hosts` 檔案。

    在此處輸入影像描述

  9. 已使用下列影像中顯示的項目更新 Oracle Zero Downtime Migration 服務主機伺服器 /etc/hosts 檔案。

    在此處輸入影像描述

工作 2:評估 Oracle Zero Downtime Migration 工作

使用 -eval 旗標命令驗證 Oracle Zero Downtime Migration 就緒命令。-eval 不會起始即時移轉,將用於評估環境前置檢查與新功能。

執行下列命令:

/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

輸出:

在此處輸入影像描述

回應檔參數將用於最終移轉。

在此處輸入影像描述

作業 3:建立最終移轉工作

工作 2 的 EVAL 工作狀態為成功,以下命令用於開始移轉。

/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

已將 pauseafter 旗標新增至移轉命令,以在 ZDM_CONFIGURE_DG_TGT 階段後暫停移轉。現在工作已順利完成到 ZDM_CONFIGURE_DG_TGT 階段,並如預期暫停。

移轉結果:

[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 ~]$

移轉工作已在切換步驟之前暫停,OCI 未來的主要和未來待命資料庫會變更為實體待命模式,而 Oracle Data Guard 中介則是由 Oracle Zero Downtime Migration 工作在組態中的所有三個資料庫中設定,而且全部都保持同步。

在此處輸入影像描述

作業 4:開始移轉工作切換階段

讓我們繼續 Oracle Zero Downtime Migration 工作,並開始進行切換,此工作為 13。

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

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

zdmcli query job -jobid 13 命令提供工作狀態,且工作現在標示為成功。

輸出:

[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 ~]$

執行資料庫切換時,會從目標主要 OCI (目前為主要) 執行 DGMGRL 命令。OCI 目標待命資料庫仍為待命模式,且來源已從主要待命角色變更為實體待命角色。

在此處輸入影像描述

儘管內部部署待命資料庫未顯示在中介組態中,但它會持續接收從 OCI 主要資料庫到來源內部部署資料庫的重做日誌,並且可以使用日誌切換或 log_archive_dest_3 值進行驗證。

在此處輸入影像描述

作業 5:從組態移除來源資料庫

永久移除內部部署同步,並且從 OCI 主控台進行原生切換。

在此處輸入影像描述

從主控台起始切換作業,以測試主控台切換。

在此處輸入影像描述

  OCI 主要項目 OCI 待命
切換前 DB0403_primary_oci DB0403_69p_iad
切換後 DB0403_69p_iad DB0403_primary_oci

下圖顯示切換完成之後的 DGMGRL 輸出。

在此處輸入影像描述

認可

其他學習資源

探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center