網站切換

Oracle Maximum Availability Architecture (Oracle MAA) 最佳作法是每半年執行完整的堆疊網站切換、回復主要和次要網站的角色、測試切換程序,以及擷取和更正任何可能發生的未管理變更或其他問題。 您也可以切換至次要站台,在主要站台進行主要維護時繼續提供服務。

在 OCI 內執行網站切換

執行完整的堆疊 PeopleSoft,從「網站 1」(原先是主要) 切換至「網站 2」(原先是次要)。

您可以使用 Oracle Cloud Infrastructure (OCI) 執行逐步切換、手動切換,或將步驟編寫為單一流程。無論是哪一種情況,您都可以將 REST API 的組合用於資料庫層,並為應用程式和 Web 層使用命令檔。

本節說明手動步驟。此範例假設內部部署資料庫已經從「資料保全中介」組態刪除。

在此範例中,「廠區 1」原本是主要,而「廠區 2」原本是次要。他們會在本練習中切換角色。以下是在 OCI 中執行切換的高階作業:

網站 1:

  1. 在計劃切換事件之前,在 PeopleSoft Process Scheduler 中清空或保留批次工作。
  2. 關閉所有 PeopleSoft 應用程式伺服器、處理作業排程器以及所有 PeopleSoft 網際網路架構 (PIA) Web 伺服器。
  3. 驗證 PeopleSoft 資料庫已可進行切換。
  4. 執行 Oracle Data Guard 切換。
  5. 執行 OCI File Storage 角色反轉。

網站 2:

  1. 驗證角色型資料庫服務已啟動。
  2. 啟動 PeopleSoft 應用程式伺服器、處理作業排程器以及所有 PIA Web 伺服器。
  3. 驗證新主要區域負載平衡的後端伺服器狀態 (綠色確定 )。
  4. 驗證您可以登入 PeopleSoft PIA。

下列範例提供執行完整堆疊 PeopleSoft 切換的詳細步驟。這些範例使用來自阿什本 (CDBHCM_iad1dx) 主要資料庫測試環境的名稱,以及鳳凰城 (CDBHCM_phx5s) 中的待命資料庫名稱。

  1. 關閉每個運算執行處理在「網站 1」上的處理作業排程器。
    • 網站:網站 1
    • 節點:每個處理作業排程器伺服器運算執行處理
    • 使用者:psadm2

    為了準備網站切換,可能需要在排定的切換之前,先關閉處理排程器。這會將所有週期性與新工作置於「已排入佇列」狀態。

    在排定的切換時間之前關閉處理排程器時,請使用位於 GitHub 中基本工作目錄的個別命令檔 stopPS.sh。「請勿」在此時使用包裝函式命令檔。下方的步驟 4 執行包裝函式命令檔,作為實際切換處理作業的一部分。

    $ stopPS.sh
  2. 驗證待命資料庫已可進行切換。
    • 網站:網站 1
    • 節點:一個 Oracle Exadata Database Service on Dedicated Infrastructure domU
    • 使用者:oracle
    1. 登入代管 PeopleSoft Oracle RAC 執行處理的主要 Oracle Exadata Database Service on Dedicated Infrastructure domUs,並成為 oracle 使用者。
    2. 來源環境。
      $ . ./CDBHCM.env
    3. 啟動 Oracle Data Guard 命令行介面。
      $ dgmgrl sys/sys password
      DGMGRL> show configuration lag
      Configuration - fsc
        Protection Mode: MaxPerformance
        Members:
        CDBHCM_iad1dx - Primary database
          CDBHCM_phx5s  - Physical standby database 
                          Transport Lag:      0 seconds (computed 1 second ago)
                          Apply Lag:          0 seconds (computed 1 second ago)
      
      Fast-Start Failover:  Disabled
      Configuration Status:
      SUCCESS   (status updated 35 seconds ago)
    4. 驗證待命資料庫。
      DGMGRL> validate database 'CDBHCM_phx5s'
      
        Database Role:     Physical standby database
        Primary Database:  CDBHCM_iad1dx
      
        Ready for Switchover:  Yes
        Ready for Failover:    Yes (Primary Running)
      
        Managed by Clusterware:
          CDBHCM_iad1dx:  YES            
          CDBHCM_phx5s :  YES   

      待命資料庫已可進行切換。

  3. 關閉 PIA Web 伺服器。
    • 網站:網站 1
    • 節點: PIA Web 伺服器運算執行處理
    • 使用者:psadm2
    1. 登入 PIA 中間層伺服器並成為 psadm2
    2. 使用包裝函式命令檔來關閉 PIA Web 伺服器和 Coherence*Web 快取伺服器。
      包裝函式命令檔位於 GitHub 的包裝函式目錄中。
      $ stopPSFTWEB.sh
  4. 關閉應用程式伺服器和處理作業排程器。
    • 網站:網站 1
    • 節點:應用程式 / 處理作業排程器伺服器運算執行處理
    • 使用者:psadm2
    1. 登入代管 PeopleSoft 應用程式伺服器和處理作業排程器的運算執行處理,並成為 psadm2
    2. stopPSFTAPP.sh 執行包裝函式命令檔。
      $ stopPSFTAPP.sh

      附註:

      執行 stopPSFTAPP.sh 命令檔的第一個執行處理會在應用程式伺服器和處理作業排程器網域的其餘部分關閉後,執行檔案系統的最後一個 rsync,然後會停用 rsync
    3. 使用 PeopleSoft 應用程式和處理排程器網域中的 SQL 命令檔來監督資料庫階段作業。
    4. 完成所有 stopPS 命令檔之後,請檢查 rsync 日誌,確認已執行最後的 rsync
      移至 GitHub 中的 Replication directory ,以取得 rsync_psft.sh 命令檔。
  5. 使用「資料保全中介」命令行介面來執行切換。
    • 網站:網站 1
    • 節點:一個 Oracle Exadata Database Service on Dedicated Infrastructure domU
    • 使用者:oracle
    $ dgmgrl sys/sys password
    DGMGRL> switchover to CDBHCM_phx5s;
    Performing switchover NOW, please wait...
    New primary database " CDBHCM_phx5s" is opening...
    Oracle Clusterware is restarting database "CDBHCM_iad1dx" ...
    Connected to " CDBHCM_iad1dx"
    Connected to " CDBHCM_iad1dx"
    Switchover succeeded, new primary is " CDBHCM_phx5s"
  6. 使用「資料保全中介」命令行介面來監督和檢查切換是否成功。
    • 網站:網站 1
    • 節點:一個 Oracle Exadata Database Service on Dedicated Infrastructure domU
    • 使用者:oracle
    $ dgmgrl sys/sys password
    DGMGRL> show configuration lag
    Configuration - fsc
      Protection Mode: MaxPerformance
      Members:
      CDBHCM_phx5s  - Primary database
        CDBHCM_iad1dx - Physical standby database 
                        Transport Lag:      0 seconds (computed 2 seconds ago)
                        Apply Lag:          0 seconds (computed 2 seconds ago)
    
    Fast-Start Failover:  Disabled
    Configuration Status:
    SUCCESS   (status updated 22 seconds ago)
  7. 如果已設定 Active Data Guard 支援,請確定 PeopleSoft (PSQUERY) 的 Active Data Guard 服務已在新的待命資料庫後續切換時啟動。
    • 網站:網站 1
    • 節點:一個 Oracle Exadata Database Service on Dedicated Infrastructure domU
    • 使用者:oracle
    $ srvctl status service -db CDBHCM_iad1dx -s PSQUERY
    Service PSQUERY is running on instance(s) CDBHCM1,CDBHCM2
    此服務應該在所有 Oracle RAC 執行處理上執行。

    附註:

    啟動程序排程程式之前,必須先啟動此服務。否則,處理程序排程程式將會在啟動時失敗。
  8. 確認以角色為基礎的資料庫服務在新主要資料庫上啟動。
    • 網站:網站 2
    • 節點:所有 Oracle Exadata Database Service on Dedicated Infrastructure domUs
    • 使用者:oracle
    例如,在每個代管 PeopleSoft Oracle RAC 資料庫執行處理的 domU 上發出下列命令:
    $ srvctl status service -db CDBHCM_phx5s -s HR92U033_BATCH
    Service HR92U033_BATCH is running on instance(s) CDBHCM1,CDBHCM2
    $ srvctl status service -db CDBHCM_phx5s -s HR92U033_ONLINE
    Service HR92U033_ONLINE is running on instance(s) CDBHCM1,CDBHCM2
    此服務應該在所有 Oracle RAC 執行處理上執行。
  9. 啟動應用程式伺服器和處理作業排程器網域。
    • 網站:網站 2
    • 節點:應用程式和處理作業排程器伺服器運算執行處理
    • 使用者:psadm2
    1. 登入代管 PeopleSoft 應用程式伺服器和處理作業排程器的運算執行處理,並成為 psadm2
      請使用位於 GitHub 中包裝函式目錄startPSFTAPP.sh 命令檔:
      $ startPSFTAPP.sh
    2. 監視啟動。
      您可以使用來自 PeopleSoft 應用程式和處理程序排程程式網域的查詢。
      col service_name format a20
      select a.inst_id,a.instance_name,b.service_name, count(*)
      from gv$instance a, gv$session b
      where a.inst_id = b.inst_id
      and service_name not like 'SYS%'
      group by a.inst_id,a.instance_name,b.service_name
      order by 1
      
      SQL> /
      
         INST_ID INSTANCE_NAME    SERVICE_NAME          COUNT(*)
      ---------- ---------------- ------------------- ----------
               1 CDBHCM1          CDBHCM_phx5s                 2
      SQL> /
      
         INST_ID INSTANCE_NAME    SERVICE_NAME          COUNT(*)
      ---------- ---------------- ------------------- ----------
               1 CDBHCM1          CDBHCM_phx5s                 2
               1 CDBHCM1          HR92U033_BATCH               8
               1 CDBHCM1          HR92U033_ONLINE             52
               2 CDBHCM2          HR92U033_BATCH               7
               2 CDBHCM2          HR92U033_ONLINE             50
  10. 啟動 Web 服務。
    • 網站:網站 2
    • 節點:所有 PIA Web 伺服器運算執行處理
    • 使用者:psadm2
    如果設定 Coherence*Web,您將先在代管 PIA Web 伺服器的所有運算執行處理上啟動快取叢集,然後啟動 PIA Web 伺服器。在此範例中,會使用一個命令檔以適當的順序啟動兩者。
    1. 登入 PIA Web 伺服器並成為 psadm2
    2. 使用來自 startPSFTAPP.sh 的命令檔,啟動 Web 伺服器。
      $ startPSFTWEB.sh
  11. 檢查負載平衡器。
    • 地點:地點 2 區域
    • 節點: OCI 主控台
    • 使用者: 租用戶管理員
    1. 登入 OCI 主控台,並將區域變更為新的主要區域 (範例中的鳳凰城)。
    2. 選取網路,然後從主功能表選取負載平衡器
    3. 請選取適當的區間。
    4. 按一下後端集,然後按一下後端
      每個後端都應該顯示確定。每部 PIA Web 伺服器啟動後可能需要幾分鐘的時間。
  12. 嘗試從 Web 瀏覽器登入 PIA Web 伺服器。
    • 使用者:PeopleSoft PIA Web 使用者
    在此範例中,URL 為:
    https://psfthcm.appprivad1.maacloud2vcn.oraclevcn.com/psp/ps/EMPLOYEE/HRMS/?cmd=login

當上述步驟成功完成後,生產會在站台 2 執行。