準備資料庫以進行移轉

確保符合來源和目標資料庫的先決條件、提供加密公事包,以及 Oracle Cloud Infrastructure Object Storage 儲存桶可供使用且可供存取。

準備來源資料庫伺服器

確認來源資料庫符合「零停機移轉」先決條件。

  1. 確認來源資料庫伺服器上的連接埠 22 允許來自「零停機移轉」服務主機的內送連線。
  2. 確認來源資料庫伺服器上的掃描監聽器連接埠 1521 允許來自目標資料庫伺服器的內送連線。
  3. 檢查來源資料庫是否在存檔日誌模式執行。

在來源資料庫上建立公事包

在來源資料庫建立公事包,然後儲存公開金鑰。公事包主要用來加密備份,因此需要解密目標資料庫上的備份。

  1. oracle 使用者身分登入來源資料庫系統。
  2. 建立公事包的資料夾 (如果沒有的話)
    sudo mkdir -p /opt/oracle/dcs/commonstore/wallets/tde/ORCL
    sudo chown -R oracle:oinstall /opt/oracle/dcs
  3. 新增下列行,在 $ORACLE_HOME/network/admin/sqlnet.ora 檔案中設定加密公事包位置:
    ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)
            (METHOD_DATA=(DIRECTORY=/opt/oracle/dcs/commonstore/wallets/tde/ORCL/)))
  4. sysdba 使用者身分使用 SQLPlus 建立公事包。
    sqlplus "/as sysdba" 
    > ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '/opt/oracle/dcs/commonstore/wallets/tde/ORCL/'identified by
            w6KP47FS3sggA5CAsG; 
    > ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY password container = ALL;
    > ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY password with backup container = ALL; 
    > select * FROM v$encryption_keys;
  5. 檢查公事包狀態是否為 open,以及公事包類型是否為 auto login
    當來源和目標資料庫啟用「通透資料加密 (TDE)」時,來源和目標資料庫的公事包狀態必須是 OPEN,而 WALLET_TYPE 必須是 AUTOLOGIN。
    sqlplus / as sysdba
    SQL> SELECT * FROM v$encryption_wallet;
  6. 如果公事包類型不是 auto login,請設定 auto login
    
    SQL> SELECT * FROM v$encryption_wallet; 
    > ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE
    '/opt/oracle/dcs/commonstore/wallets/tde/ORCL/' IDENTIFIED BY password; 
    > administer key management set keystore close identified by password;

準備目標資料庫系統

確認來源資料庫符合「零停機移轉」先決條件。

  1. 確認目標資料庫系統上的連接埠 22 已開啟,以允許來自「零停機移轉」服務主機的內送連線。
  2. 確認目標資料庫系統上的掃描監聽器連接埠 1521 已開啟,以允許來自來源資料庫伺服器的內送連線。
  3. 確認目標資料庫與來源資料庫版本相同。目標資料庫修正程式版本必須等於或高於來源資料庫修正程式版本。
  4. 檢查來源資料庫 (Oracle Automatic Storage Management (Oracle ASM) 磁碟群組或 Oracle Advanced Cluster File System (Oracle ACFS) 檔案系統) 上的磁碟群組大小和用量,並確定已在目標系統上啟動設定適當的儲存。

建立 ZDM 回應檔

建立 ZDM 回應檔以擷取驅動資料庫移轉的重要參數。

使用範例 /u01/app/zdmhome/rhp/zdm/template/zdm_template.rsp 檔案來建立回應檔,然後更新範例項目以反映您的來源、目標和備份環境。

  1. 從樣板建立回應檔。
    cp $ZDM_HOME/rhp/zdm/template/zdm_template.rsp ~/zdm.rsp
    您將更新下列步驟中的目標參數。
  2. 請更新「目標資料庫名稱特性」,以提供目標資料庫的唯一名稱。
    此名稱可在資料庫系統詳細資訊中取得。
    TGT_DB_UNIQUE_NAME=unique name for the target database
  3. 確定「移轉方法」已設為預設值 DG_OSS
    DG_OSS 使用 Oracle Data GuardOracle Cloud Infrastructure Object Storage 服務。
    MIGRATION_METHOD=DG_OSS
  4. 將「平台類型」定義為虛擬機器資料庫。
    PLATFORM_TYPE=VMDB
  5. 指定 Oracle Automatic Storage Management (Oracle ASM) Oracle Advanced Cluster File System (Oracle ACFS) 的「目標資料庫資料檔儲存特性」。
    # Target Database Datafile Storage Properties
    #------------------------------------------#
    # if using ASM for datafiles
    # e.g., TGT_DATADG=+DATAC3
    TGT_DATADG=+DATA
    TGT_REDODG=+RECO
    TGT_RECODG=+RECO
    #------------------------------------------#
    # if using ACFS for datafiles
    #------------------------------------------#
    TGT_DATAACFS=
    TGT_REDOACFS=
    TGT_RECOACFS=
    
  6. 如果需要代理主機才能從來源節點存取 Oracle Cloud Infrastructure Object Storage ,請定義來源 HTTP 代理主機 URL 和連接埠。如果需要 SSH 代理才能從 ZDM 服務主機存取來源節點,請指定來源代理主機 URL 和連接埠。
    SRC_HTTP_PROXY_URL=
    SRC_HTTP_PROXY_PORT=
  7. 若已設定 SSH 通道,請指定 SSH 通道連接埠。
    TGT_SSH_TUNNEL_PORT
  8. 更新 Oracle Cloud Infrastructure Object Storage 主機名稱 (雲端儲存 REST 端點 URL) 以存取 Oracle Cloud 帳戶。
    若要尋找物件儲存命名空間,請開啟主控台,然後前往物件儲存設定值。依序按一下管理租用戶詳細資訊
    HOST=https://swiftobjectstorage.region.oraclecloud.com/v1/object_storage_namespace
    
  9. 指定您在主控台中建立的物件儲存的儲存桶名稱。
    # The name of the target Bucket in the tenancy
    OPC_CONTAINER=migration
    
  10. 如果需要代理主機才能從來源節點存取物件儲存,請指定來源代理主機和連接埠。
    SRC_OSS_PROXY_HOST=
    SRC_OSS_PROXY_PORT=
  11. 如果需要代理主機才能從目標節點存取物件儲存,請指定目標代理主機和連接埠。
    TGT_OSS_PROXY_HOST=
    TGT_OSS_PROXY_PORT=