生命週期作業

需要定期的生命週期維護,才能讓次要網站與主要網站保持同步。在整個生命週期中,您將能夠執行計畫的切換來切換主要與次要網站的角色,並回應非預期或非計畫的作業。

關於組態複製

進行 DR 設定時,會執行位於檔案系統中的內容初始複製。您必須定期重複檔案系統複製,才能讓次要網站與主要網站保持在最新狀態。

您可以使用在 DR 設定期間建立的相同程序檔,將檔案系統使用者自建物件複製到 OCI ,並為每個使用者自建物件排定具有下列考量的檔案系統複本:

  • 週期期間複製 Oracle 本位目錄

    這是靜態使用者自建物件。它不會經常變更,因此不需要定期進行複製。只有當您在「Oracle 本位目錄」中執行修改 (例如修正活動) 時,才需要複製它。

  • 在週期期間複製 WebLogic 網域共用組態

    這是動態使用者自建物件。此外,它還包含 ASERVER_HOME (即 WebLogic Server 網域組態的事實來源),以及每次部署、取消部署、更新應用程式時更新的 APPLICATION_HOME

    預期此 WebLogic 網域共用組態會經常變更。排定此使用者自建物件的定期複本,視您系統中組態變更的頻率而定,此複本應該會較為頻繁或較不頻繁。另一個受控制的方法是每次執行主要資料庫的組態變更時都要執行複本。

  • 在週期期間複製 WebLogic 網域專用組態

    這也是動態使用者自建物件,包含 MSERVER_HOMENM_HOME。初始設定之後,預期不會經常更新 nodemanager 本位目錄。MSERVER_HOME 的內容會隨著 ASERVER_HOME 的頻率變更,因為它包含受管理伺服器所使用的網域資料夾。不過,當受管理伺服器啟動時,以及使用 WebLogic Scripting Tool (WLST) 或 Oracle WebLogic Server 管理主控台套用組態變更時,其大部分內容 (ASERVER_HOME/config) 都會重新整理並從 AdminServer 下載。複寫此使用者自建物件的頻率與共用組態不同。只有在對 MSERVER_HOME 中的其他資料夾執行修改 (例如,MSERVER_HOME/bin 資料夾中的修改) 時,才必須複製此項目。

  • 共用程式實際執行資料夾的複製

    如果您在此資料夾中儲存任何程式實際執行使用者自建物件,請根據您的業務需求將複本排定為待命。

    您無須使用 Oracle Cloud Infrastructure File Storage 檔案系統並複寫至 rsync,即可將 Oracle Database File System (DBFS) 掛載用於共用程式實際執行內容。如此一來,內容便會駐留在資料庫中,並自動複寫至次要的底層 Oracle Data Guard 複本。請參閱「深入瞭解」中的關於 Oracle Database File System ,瞭解使用 DBFS 的詳細資訊。

下表為生命週期期間檔案系統物件複製建議的摘要。

產出 包含 建議
Oracle 本位目錄 FMW 本位目錄,JDK,產品目錄 僅在需求下進行複寫 (例如,修正後)
WebLogic 網域共用組態 ASERVER_HOME,應用程式,建置計畫,金鑰存放區 排定複寫,可能需要高頻率。頻率取決於配置變更對 WebLogic 伺服器系統的執行頻率。
WebLogic 網域專用組態 MSERVER_HOMESnodemanager config 排定複寫。通常不需要高頻率。
共用程式實際執行 客戶特定程式實際執行使用者自建物件 (非 JMS,而非 TLOGS) 依您的需求決定。如果這是 DBFS 掛載,Oracle Data Guard 會自動複製內容。

執行切換

切換是計畫性作業,管理員可以在其中回復兩個網站的角色。切換之後,主要系統會成為次要系統,而次要系統會變成主要系統。執行切換將導致主要網站發生停止工作的情形。
WebLogic 伺服器混合 DR 組態中執行切換之前,請先傳輸所有擱置中的組態變更。確定次要站台沒有待處理的複製變更。
  1. 在切換執行時停用任何排定的複寫,因為這樣可能會失敗並干擾切換作業本身。
  2. 停止主要網站中的 Oracle HTTP Server 系統。
  3. 停止主要網站中的伺服器。
    使用 WebLogic 管理伺服器主控台或命令檔來停止主要網站中的 WebLogic 伺服器。

    備註:

    主要網站的「管理」伺服器在切換期間可以維持正常運作。不過,建議您在網站處於待命角色時將其停止,因為預期待命網站中的網域組態將會被生命週期中的主要組態覆寫。如果發生此情況,管理伺服器將會以過時的組態執行。
  4. 切換前端 DNS 名稱。

    在代管系統所使用名稱的 DNS 伺服器中執行必要的 DNS 推送,或更改從屬端中的檔案主機解析,以將系統的前端虛擬名稱指向次要網站中的負載平衡器所使用的公用 IP。

    對於外部前端解析 (例如 OCI DNS 或商業 DNS) 使用 DNS 的情況,您可以使用 API 推送變更。若要查看在 OCI DNS 中推送此變更的範例,請前往 GitHub 以取得範例指令碼。

    請注意,DNS 輸入項的 TTL 值會影響切換的 RTO:如果 TTL 高 (例如 20 分鐘),則 DNS 變更將耗費在用戶端中有效的時間。使用較低的 TTL 值會使此速度更快;不過,這可能會造成負荷,因為用戶端會更頻繁地命中 DNS,而非使用快取的名稱。一種良好的方法是在 DNS 變更之前,暫時將 TTL 設定為低值 (例如 1 分鐘)。接著,執行變更,然後在切換程序完成後,再次將 TTL 回復為其原始值。

  5. oracle 使用者若是主要資料庫主機中的 Oracle Data Guard 中介,即可執行資料庫切換。
    您需要系統密碼和主要資料庫的唯一名稱。
    [oracle@dbhost1~]$ dgmgrl sys/your_sys_password@primary_db_unqname
    DGMGRL> switchover to secondary_db_unqname
  6. 如果它們尚未啟動,請在次要網站 (新主要) 中啟動 Oracle HTTP Server 系統。
  7. 在次要網站中啟動「管理伺服器」(新主要),或重新啟動伺服器 (如果伺服器已經啟動)。
    啟動「管理伺服器」可啟用在待命資料庫中複製的組態變更。
  8. 在次要網站中啟動次要受管理伺服器 (新主要伺服器)。
    請使用 WebLogic 主控台或命令檔來啟動次要受管理伺服器。

執行容錯移轉

容錯移轉作業通常是在主要網站無法使用時執行的未計畫性作業。當原始主要資料庫失敗,而且不可能及時將其復原時,您可以設定角色將待命資料庫移轉至主要資料庫角色。可能會發生資料遺失,這取決於主要資料庫和目標待命資料庫在發生主要資料庫失敗時是否一致。
  1. 可能的話,傳播任何待處理的組態變更。
    請參閱將檔案系統使用者自建物件複製到 OCI ,將變更複寫至次要網站。
  2. 在切換執行時停用任何排定的複寫,因為這樣可能會失敗並干擾切換作業本身。
  3. 停止主要網站中的 Oracle HTTP Server 系統。
  4. 如果可能,請停止主要網站中的受管理伺服器。

    使用 WebLogic 管理伺服器主控台或命令檔來停止主要伺服器中的受管理伺服器。

  5. 切換前端 DNS 名稱。

    在代管系統所使用名稱的 DNS 伺服器中執行必要的 DNS 推送,或更改從屬端中的檔案主機解析,以將系統的前端虛擬名稱指向次要網站中的負載平衡器所使用的公用 IP。

    對於外部前端解析 (OCI DNS、商業 DNS 等) 使用 DNS 的情況,請使用適當的 API 推送變更。若要查看在 OCI DNS 中推送此變更的範例,請前往此處

    備註:

    DNS 輸入項的 TTL 值將會影響切換的 RTO。如果 TTL 為高 (例如 20 分鐘),則 DNS 變更將需要一點時間在用戶端中生效。使用較低的 TTL 值會使此速度更快;但是這會造成負荷,因為用戶端會更頻繁地命中 DNS,而不使用快取的名稱。一種良好的方法是在 DNS 變更之前,暫時將 TTL 設定為低值 (例如 1 分鐘)。接著,執行變更,然後在切換程序完成後,將 TTL 回復為原始值。
  6. oracle 使用者的身分,使用次要資料庫主機中的 Oracle Data Guard 中介來執行容錯移轉。
    您需要系統密碼和主要資料庫的唯一名稱。
    [oracle@hydrdb1 ~]$ dgmgrl sys/your_sys_password@secondary_db_unqname
    DGMGRL> failover to secondary_db_unqname
  7. 如果它們尚未啟動,請在次要網站 (新主要) 中啟動 Oracle HTTP Server 系統。
  8. 在次要網站中啟動「管理伺服器」(新主要),或重新啟動伺服器 (如果伺服器已經啟動)。
    啟動「管理伺服器」可啟用在待命資料庫中複製的組態變更。
  9. 在次要網站中啟動次要受管理伺服器 (新主要伺服器)。
    請使用 WebLogic 主控台或命令檔來啟動次要受管理伺服器。

開啟次要以進行驗證

您將待命資料庫轉換成快照待命資料庫,即可在不執行完整切換的情況下驗證待命網站。這可讓次要 WebLogic Server 伺服器在待命網站中啟動,並驗證次要系統。待命網站資料庫在快照待命模式下執行的任何變更,一旦再次轉換為實體待命資料庫,就會被捨棄。主要資料不受次要地點驗證影響。

備註:

此作業必須小心:如果在資料庫中將待處理的 JMS 訊息轉換成快照時,待命網站的伺服器會在開始時處理它們。檢查轉換成快照待命資料庫時,主要資料庫中沒有擱置中動作。
  1. 作為 oracle 使用者,在主要資料庫主機中使用 Oracle Data Guard 中介,並將次要資料庫轉換為快照待命資料庫。
    [oracle@dbhost1~]$ dgmgrl sys/your_sys_password@primary_db_unqname
    DGMGRL> convert database secondary_db_unqname to snapshot standby
    
    請使用命令 show configuration 來確認轉換是否正確執行。
  2. 如果它們尚未啟動,請在次要網站啟動 Oracle HTTP Server 系統。
  3. 在次要網站啟動「管理伺服器」。
  4. 在次要網站中啟動次要受管理伺服器。
    請使用 WebLogic 主控台或命令檔來啟動次要受管理伺服器。
  5. 驗證次要地點。

    由於這不是切換,主要網站仍然為作用中,因此虛擬前端名稱將解析為主要網站的負載平衡器 IP 位址,因此預設會將所有瀏覽器存取重新導向至作用中主要網站。

    若要直接存取次要網站的 WebLogic 伺服器應用程式,您必須更新受控制用戶端 (例如,筆記型電腦) 中的 /etc/hosts 檔案,將虛擬前端名稱設定為解析為次要網站的前端負載平衡器 IP 位址,然後從此用戶端執行任何驗證。

    備註:

    確認用於驗證的用戶端不會透過 HTTP 代理存取系統,因為 HTTP 代理伺服器可以繼續使用主要網站的負載平衡器 IP 位址解析虛擬前端名稱,無論哪個名稱在用戶端的 /etc/hosts 中。

    非 Linux 用戶端可能需要先重設其本機 DNS 快取,瀏覽器才能使用自訂的主機檔案項目來解析 IP 位址。

    次要網站經過驗證之後,請前往下一個步驟,將它回復回待命角色。

    備註:

    驗證次要地點可能需要一些時間。
  6. 停止次要網站中的受管理伺服器和管理伺服器。
    使用次要 WebLogic 主控台來關閉次要網站的受管理伺服器和管理伺服器。
  7. 身為 oracle 使用者,請在主要資料庫主機中使用 Oracle Data Guard 中介,然後再次將次要轉換成實體待命資料庫。
    您需要系統密碼和主要資料庫的唯一名稱。
    [oracle@dbhost1 ~]$ dgmgrl sys/your_sys_password@primary_db_unqname
        DGMGRL> convert database secondary_db_unqname to physical standby
    請使用 show configuration 來驗證轉換。
  8. 回復任何更新的 /etc/hosts 檔案。
    如果您更新從屬端中的任何 /etc/hosts 檔案以指向次要網站進行驗證,請回復,讓虛擬前端名稱再次指向主要前端 IP 位址。

OCI 上管理伺服器的本機容錯移轉

當「管理伺服器」原先執行的主機發生失敗時,您可以在相同網站的不同節點中啟動「管理伺服器」。不需要將系統完整切換至其他網站。

備註:

只有當 WebLogic 管理伺服器使用 VIP 作為本機高可用性,且管理伺服器組態資料夾 (ASERVER_HOME) 位於共用位置時,才適用此生命週期工作。

若要執行此操作,請參閱驗證管理伺服器的手動容錯移轉。這可為管理伺服器提供本機容錯移轉保護。請注意,受管理伺服器不需要此項目,因為受管理伺服器會根據「自動服務移轉」功能提供本機高可用性保護。

當主要資料庫在 OCI 網站執行時,如果您需要將管理伺服器容錯移轉至其他主機,則可以依照該程序進行。不過,「將 ADMINVHN 虛擬 IP 位址移轉至第二個主機」步驟需要其他動作。

執行下列步驟可從執行「管理伺服器」的 WebLogic Server 主機切離 VIP,然後將它連附至正在移動「管理伺服器」的 WebLogic Server 主機 (將 VIP 從 APPHOST1 切離,然後將它連附至 OCI 網站的 APPHOST2):

  1. root 使用者的身分,在 APPHOST1 中執行下列命令,以從網路介面移除管理伺服器的 VIP。
    1. 如果「管理伺服器」仍在執行中,請將其停止
    2. 確認 VIP 執行位置。
      ip addr show dev ens3
    3. 從網路介面移除 IP。
      ip addr del 100.70.8.120/20 dev ens3
  2. APPHOST1 分離管理伺服器的 VIP。
    1. 連線至 OCI 主控台並選取適當的區域和區間。
    2. 瀏覽至運算執行處理。按一下計算例項,然後按一下 APPHOST1
    3. 按一下連附的 VNIC ,然後選取連附管理伺服器 VIP 的 VNIC。
    4. 按一下 IPv4 位址,然後編輯「管理伺服器」所使用的 VIP。
    5. 將 VIP 的 IP 位址和 fqdn 名稱儲存在附註中 (例如:100.70.8.120、Hydrwls-vip.midtiersubnet.hydrvcn.oraclevcn.com)。
    6. 按一下刪除專用 IP
  3. 將管理伺服器的 VIP 連附至 APPHOST2。
    1. 瀏覽至運算執行處理。按一下計算例項,然後按一下 APPHOST2
    2. 按一下連附的 VNIC ,然後選取連附管理伺服器 VIP 的 VNIC。
    3. 按一下指定次要專用 IP 位址
    4. 按一下 IPv4 位址,然後按一下指定次要專用 IP 位址
    5. 輸入之前使用的專用 IP 位址和主機名稱值。例如:100.70.8.120 (代表 IP) 和 hydrwls-vip (代表主機名稱)。
  4. 以 root 使用者身分登入 APPHOST2,然後執行下列命令,將管理伺服器的 VIP 連附至網路介面。
    1. 確認網路介面的執行位置。
      ip addr show dev ens3
    2. 將「管理伺服器」的 VIP 新增至網路介面。
      ip addr add 100.70.8.120/20 dev ens3 label ens3:1
  5. 執行其餘步驟,如驗證管理伺服器的手動容錯移轉中所述。