驗證組態

DR 設定完成時,請執行完整切換或開啟次要站台進行驗證,立即驗證設定是否正確。開啟次要地點進行驗證不會影響主要系統執行。

開啟次要驗證

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

備註:

這項作業必須謹慎執行:如果資料庫中有待處理的訊息或複合項目轉換成快照,待命網站的 SOA 伺服器會在啟動時加以處理。檢查轉換成快照待命資料庫時,主要資料庫中沒有擱置中動作。否則,將記錄從待命資料庫中的程式實際執行 SOA 表格,在轉換成快照待命資料庫之後,以及啟動次要網站的 SOA 伺服器之前移除。請參閱在不刪除表格的情況下從程式實際執行表格移除記錄,瞭解在不執行切換的情況下驗證待命網站的步驟。
  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. 驗證次要環境中沒有待處理的動作。
    當待命資料庫轉換成快照時,如果主要資料庫中有擱置中動作 (交易、訊息),則次要 SOA 伺服器會在 start.You 可以使用 SOA 截斷命令檔從次要資料庫的 SOA 程式實際執行表格中移除記錄,以在啟動次要伺服器之前清除程式實際執行資料時,嘗試進行處理。請小心執行此動作;請勿截斷主要資料庫中的表格。請參閱移除程式實際執行表格中的記錄而不刪除表格
  3. 如果它們尚未啟動,請在次要網站啟動 Oracle HTTP Server 系統。
  4. 在次要網站中啟動「管理伺服器」。
  5. 在次要站台啟動次要受管理伺服器。
    您可以使用 WebLogic 主控台或命令檔啟動次要受管理伺服器。
  6. 驗證次要地點。

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

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

    備註:

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

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

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

    備註:

    驗證次要網站可能需要一些時間。
  7. 停止次要網站中的受管理伺服器和管理伺服器。
    您可以使用次要 WebLogic 主控台關閉次要網站中的受管理伺服器和管理伺服器。
  8. 身為 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 驗證轉換。
  9. 回復任何更新的 /etc/hosts 檔案。
    如果您更新從屬端中的任何 /etc/hosts 檔案以指向次要網站進行驗證,請回復,讓虛擬前端名稱再次指向主要前端 IP 位址。

備註:

ORA-01403:找不到 ORA-06512 錯誤的資料

依此處所述驗證次要網站時 (未執行完整的切換,亦即,只是以快照待命模式開啟待命) 「ORA-01403:在待命 SOA 伺服器日誌中找不到 ORA-06512」錯誤。這些錯誤與 SOA 自動清除工作有關。發生這些錯誤是因為資料庫中的工作可能有資料庫角色相依性 (這些工作只有在資料庫為主要角色時才會定義為啟用)。這是一項預期與所需的行為,可防止工作重複執行 (處於主要狀態,另一次是待命狀態)。SOA 自動永久清除工作是以主要角色定義,因此當資料庫處於快照待命模式時,不會顯示在 DBA_SCHEDULER_JOBS 檢視中。檢視 DBA_SCHEDULER_JOB_ROLE 中可看到為每個工作定義的 database_role。總而言之,只要這些錯誤出現在待命系統中,即可忽略它們。只有當執行處理將角色變更為 PRIMARY 時,才會在資料庫中執行 SOA 自動整個清除的排程器工作。

執行切換

切換是計畫性作業,管理員可以在其中回復兩個網站的角色。切換之後,主要系統會成為次要系統,而次要系統會變成主要系統。執行切換將導致主要網站發生停止工作的情形。
SOA 混合 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,而不需要使用快取的名稱。最好的方法是先暫時將 TTL 設為低值 (例如 1 分鐘),再變更 DNS。然後,進行變更,一旦切換程序完成後,將 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 主控台或命令檔啟動次要受管理伺服器。