設定內部部署和 OCI 組態

設定內部部署和 Oracle Cloud Infrastructure (OCI) 執行處理,以從內部部署容錯移轉至雲端。

檢查主要資料庫組態

Oracle Cloud Infrastructure (OCI) 上建立待命資料庫之前,必須先符合下列先決條件。

  1. 設定 OCI VM 資料庫系統的名稱解析。
    請使用靜態檔案 (例如 /etc/hosts),或設定內部部署 DNS 以正確解析 OCI 執行處理的公用 IP 位址。
  2. 將內部部署防火牆設定為允許從內部部署系統到 VM 資料庫系統的 SSH 和 Oracle Net 存取。
  3. 根據您的網路安全原則,使用 iptables 之類的功能,將主要資料庫監聽器連接埠設定為以限制方式從雲端 IP 位址存取開啟。
    於在 DR 情況下,Oracle Data Guard 需要從雲端執行處理存取企業內部部署資料庫,因此必須以雲端 IP 位址的限制存取權開啟主要資料庫監聽器連接埠。網路管理員必須執行與雲端網路組態類似的作業。
  4. 確定已從待命資料庫設定無提示 SSH 至內部部署機器。
    在進行啟動設定處理作業期間和從雲端到內部部署期間,都會針對內部部署至雲端設定這項功能。
  5. 設定內部部署防火牆以允許從 VM 資料庫到內部部署機器的內送 SSH 連線。
  6. 內部部署資料庫的「Oracle 本位目錄」必須與待命資料庫相同的 Oracle 修正程式集。
    如果 OCI 環境位於不同的組合修正程式層次,且內部部署資料庫位於不同的組合修正程式或 PSU 上,建議您將來源環境修正為與雲端環境中資料庫本位目錄相同的資料庫組合修正程式層次。
    使用 $ORACLE_HOME/OPatch/opatch lspatches 命令可檢查內部部署和 OCI 環境中安裝的單次修正程式。
  7. 內部部署主要資料庫尚未是現有 Oracle Data Guard Broker 組態的一部分。
    如果內部部署資料庫有現有的中介組態,請將新的待命資料庫新增至現有的中介組態。
    SQL> select decode(count(1),0,'NOCONFIG') from v$DG_BROKER_CONFIG;
    值不是 NOCONFIG 的輸出表示有現有的代理程式組態。

測試內部部署與 OCI 之間的連線

測試內部部署資料庫與 Oracle Cloud Infrastructure (OCI) 上的 VM 資料庫系統之間的連線。

  1. 列出在內部部署執行處理中開啟的連接埠。如果未開啟連接埠 1521,請將連接埠新增至清單。
    # firewall-cmd --list-ports
    如果已新增連接埠,則輸出會與下列類似:
    1521/tcp
  2. 如果連接埠 1521 不在清單中,請以 root 身分登入,並新增連接埠 1521。重新啟動防火牆,檢查狀態,然後再次列出連接埠。
    [root@bastion tmp]# firewall-cmd --add-port=1521/tcp --permanent
    
    [root@bastion tmp]# systemctl restart firewalld
    [root@bastion tmp]# systemctl status firewalld
    
    [root@bastion tmp]# firewall-cmd --list-ports --permanent
  3. 從內部部署系統驗證監聽器是否為名稱為 LISTENER 的預設監聽器。
    $lsnrctl show current_listener | grep Current Listener
    輸出應類似於 Output: Current Listener is LISTENER
  4. 從內部部署系統,確認監聽器連接埠為 1521。
    $lsnrctl status| grep 'Connecting to'  
    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=(1521)))
  5. 從內部部署系統,使用連接埠 1521 的 telnet 至待命資料庫執行處理。
    [root@onpremise1 ~]# telnet standby_database_IP_address 1521
  6. 從內部部署系統,使用 TNS 偵測公用程式偵測待命資料庫執行處理。
    [oracle@bastion dbhome_1]$ tnsping standby_database_host_IP_address
    
  7. 從內部部署系統偵測待命資料庫執行處理。
    [oracle@bastion dbhome_1]$ ping standby_database_host_IP_address
  8. 從 VM 資料庫系統,telnet 至內部部署資料庫執行處理 (使用連接埠 1521)。
    [root@onpremise1 ~]# telnet on-premises_database_IP_address 1521
  9. 從雲端的 VM 資料庫系統,使用 TNS 偵測公用程式偵測內部部署資料庫執行處理。
    [oracle@drdb opc]$ tnsping on-premises database host IP address
  10. 從 VM 資料庫系統偵測內部部署資料庫執行處理。
    [oracle@drdb opc]$ ping on-premises database host IP address
這三種連線方法都應該在雲端的內部部署和 VM 資料庫系統之間運作。