設定 DR 拓樸
設定災害復原 (DR) 拓樸。可使用程序檔來簡化程序。
下載命令檔
從 GitHub 儲存庫取得最新的設定命令檔。
注意:
將所有下載的文稿放在同一個資料夾內 。下載的檔案包含可執行下列工作的指令碼:
- 設定資料來源的 TNS 別名
- 設定初始 DR 組態
- 設定進行中的複製
- 變更 Oracle WebLogic Server 、Oracle SOA 或 Oracle Fusion Middleware 系統的公事包。
指令碼名稱 | 描述 |
---|---|
fmwadb_config_replica.sh |
在網站之間複製組態。 |
fmwadb_dr_prim.sh |
準備 DR 設定的主要網站。 |
fmwadb_dr_stby.sh |
準備供 DR 設定使用的次要網站。 |
fmwadb_rest_api_listabds.sh |
依據 ADB ID 和租用戶資訊取得 Autonomous Database 角色。 |
fmwadb_switch_db_conn.sh |
以新的 ADBS WALLET 取代現有的連線資訊。 |
fmw_change_to_tns_alias.sh |
將 Oracle WebLogic 資料來源和 jps config 檔案使用的連線字串取代為 tns 別名。
|
fmw_dec_pwd.sh |
解密 Oracle WebLogic 加密的密碼。 |
fmw_enc_pwd.sh |
使用 Oracle WebLogic 加密來加密密碼。 |
fmw_get_connect_string.sh |
傳回 Oracle WebLogic、Oracle SOA 或 Oracle Fusion Middleware 資料來源所使用的連線字串。 |
fmw_get_ds_property.sh |
傳回特定資料來源特性的值。 |
修改主要資料來源和 JPS 組態以使用 TNS 別名
在 Java 資料庫連線 (JDBC) URL 中使用通透網路子字串 (TNS) 別名,透過使用遠端可重新整理複製在主要複製和待命資料庫之間移動,協助重新設定 Oracle WebLogic Server for Oracle Cloud Infrastructure 資料來源。
注意:
Oracle SOA Suite on Marketplace 執行處理 (版本 23.1.1 (2023 年 2 月) 或更新版本) 已立即設定 TNS 別名方法。在此情況下,您可以略過此任務。
使用 TNS 別名時,資料來源和 jps
檔案必須在 Oracle Fusion Middleware 組態檔中包含變數 oracle.net.tns_admin。
在次要區域中建立 VCN 和子網路
如果您尚未建立 VCN,請在待命區域中建立 CIDR 不與主要區域 CIDR 衝突的 VCN。例如,如果主要 VCN 使用 10.1.0.0/16,則次要 VCN 可以使用 10.2.0.0/16。
設定主要與次要 VCN 之間的 DRG
災害復原設定需要主要和次要的 Oracle WebLogic Server 管理節點彼此通訊,才能透過 Oracle Cloud Infrastructure File Storage 副本來接收網域組態。因此,您必須在中間層 VCN 之間建立動態路由閘道 (DRG)。
在次要區域中建立 Oracle Autonomous Data Guard 待命資料庫
為現有的主要 Oracle Autonomous Database 建立待命資料庫。
- 針對 Oracle Autonomous Database Serverless,在次要區域中建立待命 Oracle Autonomous Database Serverless 。
- 在 OCI 主控台中,按一下左側導覽功能表中的 Oracle Database ,即可瀏覽至主要 Oracle Autonomous Database 。
- 在 Autonomous Database 詳細資訊頁面的「資源」底下,按一下災害復原,然後按一下新增對等資料庫。
- 使用您先前建立的 VCN 和專用子網路。
- 針對 Oracle Autonomous Database on Dedicated Exadata Infrastructure
準備用於 DR 設定的待命 Autonomous Database
此作業取決於您是使用「快照待命」還是「遠端可重新整理複製」方法。
如需「快照待命」方法,請參閱將待命轉換為快照待命。
如需「遠端可重新整理複製」方法,請參閱 Create a Remote Refreshable Clone in the Secondary Region 。
將待命資料庫轉換成快照待命資料庫
使用「快照待命」方法,將待命自治式資料庫轉換成「快照待命」。
- 從 Oracle Cloud Infrastructure 主控台左側導覽功能表,按一下 Autonomous Database 。
- 在次要區域中,選取待命 Autonomous Database。
- 從其他動作下拉式清單中,按一下轉換成快照待命資料庫。
- 如果您使用的是專用基礎架構,請選取使用主要資料庫服務。
注意:
當 Oracle 專用 Exadata 基礎架構中的「快照待命」未在 7 天內轉換成實體待命時,「快照待命」會自動轉換成實體待命。
當 Oracle Autonomous Database Serverless 中的「快照待命」未在 2 天內轉換成實體待命時,會自動將「快照待命」轉換成實體待命。
佈建次要系統
佈建次要 Oracle WebLogic Server for Oracle Cloud Infrastructure 、Oracle SOA Suite on Marketplace 或其他使用 Oracle Fusion Middleware (系統) 指向次要資料庫 (用於「快照待命」方法) 或可重新整理複製項 (用於遠端可重新整理複製項方法) 的中間層 Oracle Cloud Infrastructure (OCI) 服務。
修改次要的 TNS 別名連線字串
將次要系統中使用的別名修改為與主要系統相同的別名。
就像在主要系統中一樣,您應該在 $DOMAIN_HOME/config/jdbc
底下的所有資料來源檔案中以及 $DOMAIN_HOME/config/fmwconfig
底下的 jps config
檔案中使用通透網路子字串 (TNS) 別名。次要 (待命) 系統中使用的別名將與主要系統中的別名相同,因為會從包含先前建立之別名的主要來源複製資料來源。
-
如需「快照待命」方法,請參閱修改快照待命方法的次要 TNS 別名連線字串。
-
如需「遠端可重新整理複製」方法的相關資訊,請參閱 Modify the Secondary's TNS Alias Connect Strings for the Remote Refreshable Clone Approach 。
修改遠端可重新整理複製方法的次要 TNS 別名連線字串
對於「遠端可重新整理複製」方法,請將次要系統中使用的別名修改為與主要系統中相同的別名。
次要 Oracle WebLogic Server for Oracle Cloud Infrastructure 、Oracle SOA Suite on Marketplace 或 Oracle Fusion Middleware 系統建立的 tnsnames.ora
檔案會包含以遠端可重新整理複製項名稱為基礎的別名。例如,如果建立名稱為 soaadb1rc2
的遠端可重新整理複製項,則 tnsnames.ora
檔案 (在佈建期間建立的公事包目錄中) 將包含下列別名: soaadb1rc2_high
、soaadb1rc2_low
、soaadb1rc2_medium
、soaadb1rc2_tp
、soaadb1rc2_tpurgent
。若要簡化組態,您應在主要和次要系統中的 tnsnames.ora
檔案中使用相同的別名,因此請修改 Oracle WebLogic Server for Oracle Cloud Infrastructure 、Oracle SOA Suite on Marketplace 或 Oracle Fusion Middleware 網域已設定 (遠端可重新整理複製) 的 TNS 別名,以使用與主要相同的別名。您可以從 $tns_admin/tsnames.ora
檔案取得主要別名。系統會為不同的服務建立不同的別名,而所有別名都會推斷資料庫名稱的前置碼。請注意,您只要修改別名名稱而非服務。請勿在檔案中進行全域搜尋並取代,因為這樣可能會同時改變 tnsnames.ora
檔案中連線字串的服務名稱。
與主要系統相同,$DOMAIN_HOME/config/jdbc
下的所有資料來源檔案和 $DOMAIN_HOME/config/fmwconfig
下的 jps 組態檔皆使用選擇的別名。預期與主要系統 (low
、mid
、high
、tp
或 tpurgent
) 的遠端可重新整理複製項搭配選擇相同的服務層級。因為別名與資料來源會從主要系統複製而來,所以您不需要在次要系統中執行 fmw_change_to_tns_alias.sh
程序檔。災害復原設定將處理所需的取代。
如果您有其他別名指向主要 tnsnames.ora
檔案中的其他資料庫,請相應地將它們新增到次要系統的 tnsnames.ora
檔案中。
更新主要和待命中間層中的主機名稱別名和前端位址
主要和待命資料庫中都必須使用相同的前端位址。在一般作業期間,這個前端主機名稱會對應至主要 Oracle Cloud Infrastructure (OCI) 負載平衡器的 IP。從次要 (切換或容錯移轉之後) 執行時,此前端主機名稱將會對應至次要 OCI 負載平衡器的 IP。
注意:
有切換或容錯移轉時,不得更改中間層主機的 /etc/hosts
檔案。中層主機一律會以其前端 IP 解析虛擬前端名稱。在進行切換和容錯移轉程序期間所需的 DNS 更新,會在用戶端使用的 DNS 或主機檔案中執行。
您可以使用下列方式實行此主機別名:
- 將主機名稱當作別名新增至 Oracle WebLogic Server for OCI 運算執行處理的
/etc/hosts
檔案 - 在次要 OCI VCN 中使用專用 DNS 檢視
使用 /etc/hosts
檔案
/etc/hosts
檔案,指向次要 Oracle WebLogic Server 主機的 IP 位址。 當主要和次要 Oracle Cloud Infrastructure (OCI) 網站上的 DNS 伺服器相同,且主要和次要網站使用分開的 DNS 伺服器時,此模式才有效。/etc/hosts
檔案中的項目優先順序高於 DNS 解析,因為這是 /etc/nsswitch.conf
檔案之指令「主機」中立即定義的優先順序。
使用 OCI 網域名稱系統 (DNS)
/etc/hosts
中。
下列步驟會在次要 VCN 中建立專用檢視,並且解析主要 IP 使用的主機名稱:
設定次要系統
jdbc url
指向本機資料庫 (在 DR 設定與待命資料庫期間進行可重新整理複製,以準備切換) 需要的公事包。
讓系統可切換
注意:
只有在使用「遠端可重新整理複製」設定並驗證次要系統時,才需要此作業。從次要資料庫使用者介面下載待命資料庫的公事包。在遠端 DR 案例中避免雙重連線字串 (主要和待命主機),因為它們會造成不必要的重試。
設定進行中的組態複製
fmwadb_config_replica.sh
指令碼會定期透過 Oracle Cloud Infrastructure File Storage (OCI File Storage) 暫存目錄複製變更。
每個複寫之後的切換組態都已就緒 (已準備)。
當您使用「遠端可重新整理複製項」時,會假設複寫的組態將「調整」給實體待命資料庫 (不是可重新整理的複製項)。如果您需要使用可重新整理複製項進行驗證或測試,可以將待命網域組態更改為指向可重新整理複製項。
您必須在 WebLogic 伺服器管理節點 ( 在主要節點和待命節點中) 中執行 fmwadb_config_replica.sh
程序檔,才能複製組態。此命令檔通常會排定為 cron
工作,以定期在 Oracle Autonomous Database 系統上複製主要和待命 WebLogic Server 、Oracle SOA Suite 或 Oracle Fusion Middleware 系統之間的組態。此命令檔會檢查本機資料庫目前的角色,以判斷其是否在主要或待命網站中執行。
- 在 PRIMARY 網站中執行指令碼時,會將網域組態從主要網域複製到本機協助資料夾 (FSS),然後複製到次要網站協助資料夾 (透過
rsync
)。 - 在 STANDBY 網站中執行指令碼時,會將網域組態從次要協助資料夾 (OCI File Storage) 複製到次要網域,並進行需要的資料來源取代以搭配本機資料庫使用。
基於安全理由,您必須從 OCI 主控台收集不同的參數,並加密密碼以存取 Oracle Autonomous Database 公事包。
以下是程序檔中使用的變數描述,以及如何取得這些變數:
- REMOTE_WLSADMIN_NODE_IP
對等和遠端 WebLogic 伺服器管理伺服器節點的 IP。
這是對等網站中 WebLogic Server Administration Server 中節點主機的 IP。必須可以從本機節點連線。建議您使用動態路由閘道連線至節點的遠端專用 IP。
- REMOTE_SSH_PRIV_KEYFILE
連線至遠端「Oracle WebLogic 管理」伺服器節點的專用 SSH 金鑰檔。
- TENANCY_OCID
Oracle Autonomous Database 所在租用戶的 OCID。您可以從 Oracle Cloud Infrastructure (OCI) 使用者介面 (UI) 取得 OCID。
- USER_OCID
擁有自治式資料庫執行處理的使用者 OCID。您可以在 OCI UI 中找到 OCID。
- PRIVATE_KEY
此使用者的私密 PEM 格式金鑰路徑。
- LOCAL_ADB_OCID
正在檢查之 Oracle Autonomous Database 的 OCID。您可以在 OCI 主控台的 Oracle Autonomous Database 畫面中找到 OCID。
- WALLET_DIR
本機 Oracle Autonomous Database 公事包的目錄 (解壓縮從 OCI 主控台下載的公事包)。此目錄應該至少包含
tnsnames.ora
、keystore.jks
和truststore.jks
檔案。當您使用「快照待命」方法時,此為tnsadmin
資料夾 - ENC_WALLET_PASSWORD
從 Oracle Autonomous Database OCI UI 下載公事包時所提供之密碼的 WLS ENCRYPTED 拷貝。
如果公事包是 WebLogic Server 、Oracle SOA Suite 或 Oracle Fusion Middleware 在啟動設定 WebLogic Server 時所建立的起始公事包,則您可以使用下列命令來取得密碼:
若為 WebLogic:[oracle@wsladbs2-wls-1 ~]$ python3 /opt/scripts/atp_db_util.py generate-atp-wallet-password
SOA:[oracle@soarefr-soa-0 ~]$ python /opt/scripts/atp_db_util.py generate-atp-wallet-password
若要加密密碼,無論是 OCI 主控台提供的密碼,還是佈建時使用的密碼,您都可以使用fmw_enc_pwd.sh
命令檔。./fmw_enc_pwd.sh UNENC_WALLET_PASSWORD
將取得的字串用於 ENC_WALLET_PASSWORD 變數。
- FSS_MOUNT
將用於暫存 WebLogic 伺服器網域組態的「OCI 檔案儲存掛載」目錄。
收集變數資訊之後,請執行下列步驟來複製和自訂環境的命令檔: