移轉資料

使用 -eval 旗標執行移轉資料庫命令以驗證移轉元件和輸出。順利完成前置檢查之後,請使用沒有 -eval 旗標的相同命令開始移轉至雲端。

執行前置檢查

執行前置檢查以驗證移轉處理元件,並評估輸出以判斷是否需要調整。

強烈建議您先在評估模式中移轉資料庫的每個移轉。此評估可讓您先更正設定與組態中的任何潛在問題,再對生產資料庫執行實際移轉。在評估模式中,移轉處理會執行而不會影響變更。在執行實際移轉工作之前,您可以視需要多次使用 -eval 選項來執行命令。
  1. 登入「零停機移轉」服務主機並切換至已安裝 zdmuser 的使用者,然後變更為「零停機移轉」本位目錄 /bin
    例如,零停機移轉本位目錄可能是 /oracle/zdm/grid
    su - zdmuser
    zdmuser> cd /u01/app/oracle/zdm/grid/bin
  2. 使用 -eval 旗標執行 zdmcli migrate database 命令。定義來源資料庫、來源節點、目標節點、目標本位目錄、Oracle Cloud Infrastructure Object Storage 登入使用者名稱、回應檔的位置,以及目標資料庫伺服器登入使用者名稱。
    定義來源資料庫時,請使用 -sourcedb database_unique_name 。如果在沒有 Grid Infrastructure 本位目錄的情況下部署來源單一執行處理資料庫,請使用 -sourcesid source_oracle_sid 而非 -sourcedb。使用完整網域名稱 (FQDN) 作為來源和目標資料庫伺服器名稱。
    如果來源資料庫是針對 PASSWORD 型公事包設定,請將 -tdekeystorepasswd 選項新增至命令,然後針對提示指定來源資料庫 TDE 金鑰存放區密碼值。
    備份使用者即為 Oracle Cloud Infrastructure 使用者。若要在主控台中尋找備份使用者名稱或 ID,請依序前往使用者設定檔
    zdmuser> ./zdmcli migrate database -sourcesid source_oracle_sid \.
    -sourcenode source_FQDN_database_server_name 
    -srcauth zdmauth \
    -srcarg1 user: opc \
    -srcarg2 identity file: /home/zdmuser/.ssh/zdm_service_tool.ppk
    -srcarg3 sudo_location: /usr/bin/sudo \
    -targetnode target_FQDN_database_server_name \
    -targethome target_database_ORACLE_HOME \  
    -backupuser Object_store_login_user_name \  
    -rsp response_file_location
    -tgtauth zdmauth 
    -tgtarg1 user:target_database_server_login_user_name 
    -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm_service_tool.ppk \
    -tgtarg3 sudo_location:/usr/bin/sudo 
    -ignore ALL -eval
  3. 出現提示時,請輸入來源資料庫 SYS 密碼與來源資料庫伺服器 root 使用者密碼。若為備份目的地 (儲存桶),請輸入 Oracle Cloud Infrastructure 使用者認證權杖。
    用以存取來源和目標資料庫的資料庫 SYSDBA 密碼。兩個資料庫的密碼必須相同。使用者密碼為 AUTH TOKEN。
    Enter source database zdmsdb SYS password:
    Enter source user "root" password:
    Enter user "backup_user@example.com" password:
    當您送出資料庫移轉工作時,命令輸出中會顯示 jobID。儲存 jobID 以用於查詢工作狀態。
  4. (選擇性) 使用查詢工作命令來檢查工作的狀態。
    ./ zdmcli query job -jobid job-id-number
  5. 複查輸出狀態。
    來源資料庫和目標資料庫都有服務日誌。輸出中會列出位置。

使用 ZDM 服務移轉資料

執行移轉命令以開始資料移轉。命令和參數與前置檢查相同,不含 -eval 旗標。

  1. 登入「零停機移轉」服務主機並切換至已安裝 zdmuser 的使用者,然後變更為「零停機移轉」本位目錄 /bin
    例如,零停機移轉本位目錄可能是 /oracle/zdm/grid
    su - zdmuser
    zdmuser> cd /u01/app/oracle/zdm/grid/bin
  2. 執行 zdmcli migrate database 命令。定義來源資料庫、來源節點、目標節點、目標本位目錄、Oracle Cloud Infrastructure Object Storage 登入使用者名稱、回應檔的位置,以及目標資料庫伺服器登入使用者名稱。
    定義來源資料庫時,請使用 -sourcedb database_unique_name 。如果在沒有 Grid Infrastructure 本位目錄的情況下部署來源單一執行處理資料庫,請使用 -sourcesid source_oracle_sid 而非 -sourcedb。使用完整網域名稱 (FQDN) 作為來源和目標資料庫伺服器名稱。
    如果來源資料庫是針對 PASSWORD 型公事包設定,請將 -tdekeystorepasswd 選項新增至命令,然後針對提示指定來源資料庫 TDE 金鑰存放區密碼值。
    備份使用者即為 Oracle Cloud Infrastructure 使用者。若要在主控台中尋找備份使用者名稱或 ID,請依序前往使用者設定檔
    zdmuser> ./zdmcli migrate database -sourceid source_db_ID \.
    -sourcenode source_database_server_name 
    -srcauth zdmauth \
    -srcarg1 user: opc \
    -srcarg2 identity file: /home/zdmuser/.ssh/zdm_service_tool.ppk
    -srcarg3 sudo_location: /usr/bin/sudo \
    -targetnode target_database_server_name \
    -targethome target_database_ORACLE_HOME \  
    -backupuser Object_store_login_user_name \  
    -rsp response_file_location
    -tgtauth zdmauth 
    -tgtarg1 user:target_database_server_login_user_name 
    -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm_service_tool.ppk \
    -tgtarg3 sudo_location:/usr/bin/sudo \
    -ignore ALL
  3. 出現提示時,請輸入來源資料庫 SYS 密碼與來源資料庫伺服器 root 使用者密碼。若為備份目的地 (儲存桶),請輸入 Oracle Cloud Infrastructure 使用者認證權杖。
    用以存取來源和目標資料庫的資料庫 SYSDBA 密碼。兩個資料庫的密碼必須相同。
    Enter source database zdmsdb SYS password:
    Enter source user "root" password:
    Enter user "backup_user@example.com" password:
    當您送出資料庫移轉工作時,命令輸出中會顯示 jobID。儲存 jobID 以查詢工作狀態。
  4. (選擇性) 使用查詢工作命令來檢查工作的狀態。
    來源資料庫和目標資料庫都有服務日誌。輸出中會列出位置。
    ./ zdmcli query job -jobid job-id-number

移轉疑難排解

如果您的移轉工作發生錯誤,請參閱位於個別來源或目標資料庫伺服器的移轉工作輸出日誌、零停機移轉服務日誌,以及伺服器特定的作業階段日誌。

如果移轉工作發生異常狀況,則日誌可以提供錯誤本質的一些指示。來源與目標環境中執行之移轉程序的日誌會儲存在個別來源與目標環境中的伺服器上。當您查詢工作狀態時,日誌檔位置會包含在移轉輸出和輸出中。

下表列出移轉階段和每個階段名稱的描述。

階段名稱 描述
ZDM_GET_SRC_INFO 尋找來源資料庫的相關資訊
ZDM_GET_TGT_INFO 尋找目標資料庫的相關資訊
ZDM_SETUP_SRC 在來源伺服器上設定 ZDM 協助程式模組
ZDM_SETUP_TGT 在目標伺服器上設定 ZDM 協助程式模組
ZDM_PREUSERACTIONS 在來源執行移轉前置使用者動作 (如果有的話)
ZDM_PREUSERACTIONS_TGT 在目標執行移轉前置使用者動作 (如果有的話)
ZDM_OBC_INST_SRC 在來源安裝 Oracle Database Cloud Backup Module
ZDM_OBC_INST_TGT 在目標安裝 Oracle Database Cloud Backup Module
ZDM_GEN_RMAN_PASSWD 產生用於加密 Oracle Recovery Manager (RMAN) 備份的隨機密碼
ZDM_BACKUP_FULL_SRC 執行來源資料庫的完整備份
ZDM_BACKUP_INCREMENTAL_SRC 執行來源資料庫的增量備份
ZDM_VALIDATE_SRC 在來源執行驗證
ZDM_VALIDATE_TGT 在目標執行驗證
ZDM_DISCOVER_SRC 在來源執行資料庫尋找以設定 Oracle Data Guard
ZDM_COPYFILES 將 Oracle 密碼檔和通透資料加密 (TDE) 公事包從來源複製到目標
ZDM_OSS_STANDBY_SETUP_TDE_TGT 將來源的 TDE 公事包檔案複製到目標金鑰存放區位置
ZDM_PREPARE_TGT 準備目標以建立 Oracle Data Guard 待命資料庫
ZDM_CLONE_TGT 從雲端備份建立 Oracle Data Guard 待命資料庫
ZDM_FINALIZE_TGT 完成目標的 Oracle Data Guard 待命準備
ZDM_CONFIGURE_DG_SRC 在來源註冊雲端待命資料庫
ZDM_SWITCHOVER_SRC 啟動來源的切換動作
ZDM_SWITCHOVER_TGT 完成目標的切換動作
ZDM_POSTUSERACTIONS 在來源執行任何移轉後使用者動作
ZDM_POSTUSERACTIONS_TGT 在目標執行任何移轉後使用者動作
ZDM_CLEANUP_SRC 在來源執行清除
ZDM_CLEANUP_TGT 在目標執行清除
ZDM_POSTUSERACTIONS_TGT 在目標執行任何移轉後使用者動作
  1. 如果「零停機移轉」服務未啟動,請檢查「零停機移轉」服務日誌中的處理啟動錯誤,以判斷報告的錯誤原因。「零停機移轉」服務日誌位於 $ZDM_BASE/crsdata/zdm_service_node/rhp/rhpserver.log.0
  2. 使用查詢工作命令來檢查工作的狀態。
    來源資料庫和目標資料庫都有服務日誌。輸出中會列出位置。
    ./ zdmcli query job -jobid job-id-number
  3. 判斷移轉工作發生失敗時的作業階段,以及階段是否屬於來源或目標資料庫。
    檢查位於 $ZDM_BASE/crsdata/zdm_service_node/rhp/rhpserver.log.0 的「零停機移轉」服務主機日誌,並存取個別的來源或目標伺服器,檢查與 /tmp/zdm-unique id/zdm/log 目錄中作業階段關聯的日誌。

如需疑難排解「零停機移轉」和目前版本中已知問題的詳細資訊,請參閱零停機移轉版本注意事項