設定未來主要資料庫

您將設定未來的主要 Oracle Exadata Database Service on Dedicated Infrastructure ,並設定 Oracle Zero Downtime Migration ,以便準備將 PeopleSoft 資料庫移轉至 OCI。

關於 Oracle Zero Downtime Migration 先決條件

下列是成功移轉的最關鍵 Oracle Zero Downtime Migration (ZDM) 先決條件:

  1. ZDM 主機伺服器

    佈建專用主機或 VM 以代管 ZDM 安裝,其中包括小型 Oracle Clusterware 佔用空間、MySQL 資料庫,以及機組修正與佈建。此伺服器應安裝最新的 Oracle Linux 7 映像檔。此 VM 資源配置可能較小,具有 16GB 實體 RAM 的 2 個核心已足夠。ZDM 伺服器會協調來源系統與目標系統中的所有資料庫移轉作業。

  2. 網路連線能力
    從內部部署環境到 OCI 資源的網路連線類型,將決定您的 ZDM 移轉方法和資料傳輸選項。Oracle Zero Downtime Migration 允許不同的網路連線拓樸,包括透過 OCI FastConnect 或 IPSec VPN 的直接連線、使用 SSH 通道、代理主機伺服器以及堡壘主機。

    附註:

    極為重要,請務必瞭解您的內部部署系統如何存取 OCI 資源,以及 OCI 資源是否必須存取特定的內部部署系統,如果是,請依何種網路路徑存取。
    請注意下列事項:
    1. ZDM 主機伺服器必須能夠存取內部部署來源和 OCI 目標系統
    2. 對於使用 Oracle Data Guard 的線上移轉方法,來源和目標系統必須能夠相互存取。
  3. 透明資料加密 (TDE)

    OCI 要求所有資料庫都必須加密。如果在將資料庫傳輸至 OCI 之前無法加密資料本身,您可以在來源建立 TDE 金鑰存放區公事包,ZDM 移轉處理作業將會加密目標的資料檔。資料庫版本 12.2 和更新版本的來源需要 TDE 公事包,但您可以將此方法用於舊版的資料庫。

    如需設定 TDE 金鑰存放區的步驟,請參閱使用零停機移轉移至 Oracle Cloud 中的設定通透資料加密金鑰存放區

  4. 預留位置資料庫
    您必須先在目標 Oracle Exadata Database Service on Dedicated Infrastructure 上建立預留位置資料庫,才能使用 Oracle Zero Downtime Migration 進行移轉。ZDM 將在移轉過程中移除預留位置資料庫的資料結構,並將來源資料庫的結構還原到原位。其中繼資料將保留在適當位置。使用「OCI 主控台」以下列限制條件建立:
    1. 資料庫本位目錄的軟體版本、版本以及修正程式層次必須與主要資料庫相同。
    2. DB_NAME 必須與主要資料庫相同。
    3. DB_UNIQUE_NAME 可以保留空白或指定,但它必須與主要項目不同。
    4. SYS 密碼必須與使用 Oracle Data Guard 的主要密碼相同。
    5. 請勿在此容器資料庫 (CDB) 中建立可插式資料庫 (PDB)
    6. 佈建此資料庫時不設定自動備份
  5. SSH 存取

    Oracle Zero Downtime Migration 需要透過 SSH 存取來源和目標系統。若為目標,您將使用 opc 雲端使用者和無密碼 SSH 金鑰。對於內部部署來源,您將使用 root 使用者。您可以設定無密碼 SSH 金鑰並在不使用密碼詞組的情況下使用,或者使用 root 使用者和密碼。請參閱 Oracle Zero Downtime Migration 以設定 SSH 存取,並確定 ZDM 主機伺服器可以存取來源和目標系統。

附註:

如需 Oracle Zero Downtime Migration 之先決條件的完整說明,請參閱使用零停機移轉移至 Oracle Cloud

設定 Oracle Zero Downtime Migration 進行資料庫移轉

處理先決條件並安裝 Oracle Zero Downtime Migration 之後,便可以建立回應檔來設定資料庫移轉。

  1. 將位於 $ZDM_HOME/rhp/zdm/template/zdm_template.rsp 的回應檔樣板複製到 Oracle Zero Downtime Migration 主機伺服器上的工作目錄。
  2. 編輯資料庫移轉的回應檔。
    有數個參數可用來控制移轉。
    例如,您可以將移轉設定為設定 Oracle Data Guard 和 Oracle Data Guard Broker,並將停機時間降到最低:
    ZDM 參數 數值 備註
    TGT_DB_UNIQUE_NAME CDBHCM_iad1dx 指定預留位置資料庫的 db_unique_name
    MIGRATION_METHOD ONLINE_PHYSICAL Oracle Zero Downtime Migration 所使用的移轉方法,不需要主要資料庫停止工作。
    DATA_TRANSFER_MEDIUM OSS Oracle Zero Downtime Migration 使用 OCI Object Storage 服務暫存資料庫備份,然後從該備份進行回復。您可以使用其他傳輸方法 (例如 DIRECT) 來利用 RMAN RESTORE FROM SERVICE,而不需要將資料庫暫存在物件儲存體中。如果是 DIRECT,則需要其他 Oracle Zero Downtime Migration 參數,請參閱 Oracle Zero Downtime Migration 文件。
    PLATFORM_TYPE ExaCS [1] 移轉的目標系統是 Exadata Cloud Service。
    TGT_RETAIN_DB_UNIQUE_NAME TRUE 若要讓 Oracle Data Guard 將日誌送回來源,移轉處理作業期間會保留目標 (TGT) 資料庫 DB_UNIQUE_NAME
    TGT_SKIP_DATAPATCH TRUE 略過目標資料庫上執行中的 datapatch。
    SHUTDOWN_SRC FALSE 請勿在移轉完成後關閉來源資料庫。
    SRC_RMAN_CHANNELS 10 Oracle 復原管理程式 (RMAN) 將在來源資料庫上配置 10 個通道,以平行備份資料庫。
    TGT_RMAN_CHANNELS 10 Oracle RMAN 會在目標資料庫上配置 10 個通道,以平行回復資料庫。
    ZDM_USE_DG_BROKER TRUE Oracle Zero Downtime Migration 會在移轉處理作業中設定 Oracle Data Guard Broker。
    HOST https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/maacloud OCI Object Storage 服務端點 URL。OCI Object Storage 資料傳輸媒體需要。
    OPC_CONTAINER ZDM_Backup OCI Object Storage 分組名稱。OCI Object Storage 資料傳輸媒體需要。

    [1] The accepted value for PLATFORM_TYPE for Oracle Exadata Database Service on Dedicated Infrastructure is ExaCS.

  3. 決定適合您分析藍本的其他參數和設定值。
    在我們的範例中,我們能夠接受其餘參數的預設值。如需詳細資訊,請參閱 Oracle Zero Downtime Migration 文件。

測試組態和 Oracle Zero Downtime Migration 參數檔

若要測試準備步驟和組態檔,請以評估模式執行 Oracle Zero Downtime Migration

-eval 命令行選項會指示 Oracle Zero Downtime Migration 僅對其所有移轉處理作業階段執行前置檢查,然後停止。不會對系統進行任何變更。系統會對來源和目標資料庫執行 Oracle Zero Downtime Migration 前置檢查,如果 DATA_TRANSFER_MEDIUM 設為 OSS,則會對 OCI Object Storage 執行。
  1. 執行移轉處理作業的前置檢查。
    例如,
    $ZDM_HOME/bin/zdmcli migrate database \
     -sourcedb CDBHCM_sca6dp \
     -sourcenode scaqan10dv0505.example.com \
     -srcauth zdmauth \
     -srcarg1 user:opc \
     -srcarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk \
     -srcarg3 sudo_location:/usr/bin/sudo \
     -targetnode iadexadb-bw5wn1.ebsexadbprivate.ebscloudmaavcn.oraclevcn.com \
     -backupuser <oci user name> \
     -rsp /home/zdmuser/zdm_CDBHCM_migration.rsp \
     -tgtauth zdmauth \
     -tgtarg1 user:opc \
     -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk \
     -tgtarg3 sudo_location:/usr/bin/sudo \
     -eval

    所有 Oracle Zero Downtime Migration 工作都會透過工作排程機制執行,並以非同步方式執行。發出 Oracle Zero Downtime Migration 命令時,您會收到一個工作 ID,可用來檢查工作狀態。

  2. 檢查您工作的狀態。
    例如,執行下列命令以查詢工作 ID 5 的狀態:
    $ $ZDM_HOME/bin/zdmcli query job -jobid 5
    輸出指示正在執行的工作、待處理的工作,以及前置檢查是否成功或失敗。當您查詢工作狀態時,可以看到進度,直到工作執行所有必要的工作為止。
  3. 請視需要多次以 -eval 執行 zdmcli,以傳送所有前置檢查。
    如果有任何工作標示為 PRECHECK_FAILED,請參考「結果」日誌檔瞭解錯誤並加以更正。
  4. 執行實際移轉之前,請確定評估模式傳回所有前置檢查作業的 PRECHECK_PASSED。
    例如,
    iad-zdm. ebsexadbprivate.ebscloudmaavcn.oraclevcn.com: Audit ID: 50
    Job ID: 5
    User: zdmuser
    Client: iad-zdm
    Job Type: "EVAL"
    Scheduled job command: "zdmcli migrate database -sourcedb CDBHCM_sca6dp -sourcenode scaqan10dv0505.mycompany.com -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk -srcarg3 sudo_location:/usr/bin/sudo -targetnode iadexadb-bw5wn1.ebsexadbprivate.ebscloudmaavcn.oraclevcn.com -backupuser <oci user name> -rsp /home/zdmuser/zdm_CDBHCM_migration.rsp -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk -tgtarg3 sudo_location:/usr/bin/sudo -eval"
    Scheduled job execution start time: 2022-07-26T20:26:01Z. Equivalent local time: 2022-07-26 20:26:01
    Current status: SUCCEEDED
    Result file path: "/u01/app/zdmbase/chkbase/scheduled/job-5-2022-07-26-20:26:21.log"
    Metrics file path: "/u01/app/zdmbase/chkbase/scheduled/job-5-2022-07-26-20:26:21.json"
    Job execution start time: 2022-07-26 20:26:21
    Job execution end time: 2022-07-26 20:30:37
    Job execution elapsed time: 4 minutes 16 seconds
    ZDM_GET_SRC_INFO ........... PRECHECK_PASSED
    ZDM_GET_TGT_INFO ........... PRECHECK_PASSED
    ZDM_PRECHECKS_SRC .......... PRECHECK_PASSED
    ZDM_PRECHECKS_TGT .......... PRECHECK_PASSED
    ZDM_SETUP_SRC .............. PRECHECK_PASSED
    ZDM_SETUP_TGT .............. PRECHECK_PASSED
    ZDM_PREUSERACTIONS ......... PRECHECK_PASSED
    ZDM_PREUSERACTIONS_TGT ..... PRECHECK_PASSED
    ZDM_OBC_INST_SRC ........... PRECHECK_PASSED
    ZDM_OBC_INST_TGT ........... PRECHECK_PASSED
    ZDM_VALIDATE_SRC ........... PRECHECK_PASSED
    ZDM_VALIDATE_TGT ........... PRECHECK_PASSED
    ZDM_POSTUSERACTIONS ........ PRECHECK_PASSED
    ZDM_POSTUSERACTIONS_TGT .... PRECHECK_PASSED
    ZDM_CLEANUP_SRC ............ PRECHECK_PASSED
    ZDM_CLEANUP_TGT ............ PRECHECK_PASSED

移轉 PeopleSoft 資料庫

您可以使用 Oracle Zero Downtime Migration 來移轉資料庫。依照預設,它會移轉資料庫,然後切換至資料庫。

附註:

我們不希望 Oracle Zero Downtime Migration 執行切換,因此會使用 -stopafter 子句在 ZDM_CONFIGURE_DG_SRC 階段完成後停止。

  1. 執行資料庫移轉程序並指定 -stopafter 以停止移轉。
    例如,
    $ZDM_HOME/bin/zdmcli migrate database \
     -sourcedb CDBHCM_sca6dp \
     -sourcenode scaqan10dv0505.mycompany.com \
     -srcauth zdmauth \
     -srcarg1 user:opc \
     -srcarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk \
     -srcarg3 sudo_location:/usr/bin/sudo \
     -targetnode iadexadb-bw5wn1.ebsexadbprivate.ebscloudmaavcn.oraclevcn.com \
     -backupuser <oci user name> \
     -rsp /home/zdmuser/zdm_CDBHCM_migration.rsp \
     -tgtauth zdmauth \
     -tgtarg1 user:opc \
     -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk \
     -tgtarg3 sudo_location:/usr/bin/sudo \
     -stopafter ZDM_CONFIGURE_DG_SRC

    此命令會傳回可用來檢查工作狀態的工作 ID。

  2. 檢查您工作的狀態。
    例如,執行下列命令以查詢工作 ID 6 的狀態:
    $ $ZDM_HOME/bin/zdmcli query job -jobid 6

    以下為完成階段 ZDM_CONFIGURE_DB_SRC 後最終輸出的範例。

    iad-zdm. ebsexadbprivate.ebscloudmaavcn.oraclevcn.com: Audit ID: 74
    Job ID: 6
    User: zdmuser
    Client: iad-zdm
    Job Type: "MIGRATE"
    Scheduled job command: "zdmcli migrate database -sourcedb CDBHCM_sca6dp -sourcenode scaqan10dv0505.mycompany.com -srcauth zdmauth -srcarg1 user:opc -srcarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk -srcarg3 sudo_location:/usr/bin/sudo -targetnode iadexadb-bw5wn1.ebsexadbprivate.ebscloudmaavcn.oraclevcn.com -backupuser <oci user name> -rsp /home/zdmuser/zdm_CDBHCM_migration.rsp -tgtauth zdmauth -tgtarg1 user:opc -tgtarg2 identity_file:/home/zdmuser/.ssh/zdm_service_host.ppk -tgtarg3 sudo_location:/usr/bin/sudo -pauseafter ZDM_CONFIGURE_DG_SRC"
    Scheduled job execution start time: 2022-07-26T20:35:24Z. Equivalent local time: 2022-07-26 20:35:24
    Current status: PAUSED
    Current Phase: "ZDM_CONFIGURE_DG_SRC"
    Result file path: "/u01/app/zdmbase/chkbase/scheduled/job-6-2022-07-26-20:35:51.log"
    Metrics file path: "/u01/app/zdmbase/chkbase/scheduled/job-6-2022-07-26-20:35:51.json"
    Job execution start time: 2022-07-26 20:35:51
    Job execution end time: 2022-07-26 21:37:05
    Job execution elapsed time: 1 hours 1 minutes 14 seconds
    ZDM_GET_SRC_INFO ............... COMPLETED
    ZDM_GET_TGT_INFO ............... COMPLETED
    ZDM_PRECHECKS_SRC .............. COMPLETED
    ZDM_PRECHECKS_TGT .............. COMPLETED
    ZDM_SETUP_SRC .................. COMPLETED
    ZDM_SETUP_TGT .................. COMPLETED
    ZDM_PREUSERACTIONS ............. COMPLETED
    ZDM_PREUSERACTIONS_TGT ......... COMPLETED
    ZDM_OBC_INST_SRC ............... COMPLETED
    ZDM_OBC_INST_TGT ............... COMPLETED
    ZDM_VALIDATE_SRC ............... COMPLETED
    ZDM_VALIDATE_TGT ............... COMPLETED
    ZDM_BACKUP_FULL_SRC ............ COMPLETED
    ZDM_BACKUP_INCREMENTAL_SRC ..... COMPLETED
    ZDM_DISCOVER_SRC ............... COMPLETED
    ZDM_COPYFILES .................. COMPLETED
    ZDM_PREPARE_TGT ................ COMPLETED
    ZDM_SETUP_TDE_TGT .............. COMPLETED
    ZDM_CLONE_TGT .................. COMPLETED
    ZDM_FINALIZE_TGT ............... COMPLETED
    ZDM_CONFIGURE_DG_SRC ........... COMPLETED

當此命令完成 ZDM_CONFIGURE_DG_SRC 步驟時,Oracle Zero Downtime Migration 已將來源資料庫複製到 OCI 中,將其設定為待命來源、已設定 Data Guard Broker,然後啟動 redo apply。新的 OCI 待命資料庫正在與來源主要資料庫同步。

Oracle Zero Downtime Migration 也完成下列工作:

  • 將移轉的資料庫註冊到 Oracle Clusterware
  • 以更新的資訊更新 OCI 控制平面描述資料,包括待命資料庫內的所有可插拔資料庫 (PDB)
  • 使用通透資料加密 (TDE) 將待命資料庫的資料檔加密,如 Oracle Zero Downtime Migration 先決條件中所述。

    附註:

    檢視 V$ENCRYPTION_WALLET 中的 WALLET_TYPE 設為 AUTOLOGIN

定義未來主要資料庫的角色型資料庫服務

新增 PeopleSoft 應用程式在 OCI 資料庫為線上使用者和處理作業排程器填入 PRIMARY 角色時將使用的角色型資料庫服務。

  • 為線上使用者與處理程序排程程式新增以角色為基礎的資料庫服務。
    srvctl add service -db CDBHCM_iad1dx -pdb HR92U033 -service HR92U033_BATCH -preferred "CDBHCM1,CDBHCM2" -notification TRUE -role PRIMARY,SNAPSHOT_STANDBY -failovermethod BASIC -failovertype AUTO -failoverretry 10 -failoverdelay 3
    
    srvctl add service -db CDBHCM_iad1dx -pdb HR92U033 -service HR92U033_ONLINE -preferred "CDBHCM1,CDBHCM2" -notification TRUE -role PRIMARY,SNAPSHOT_STANDBY -failovermethod BASIC -failovertype AUTO -failoverretry 10 -failoverdelay 3