啟用 PeopleTools 以支援 Oracle Active Data Guard

PeopleSoft PeopleTools 版本 8.52 和更新版本都支援 Oracle Active Data Guard,這可讓查詢卸載至實體待命資料庫。

您必須啟用 PeopleTools,才能支援 Oracle Active Data Guard

  • 已啟用 Oracle Active Data Guard 的實體待命資料庫
  • 可在 Oracle Active Data Guard 資料庫執行處理上啟動的資料庫服務
  • 在 PeopleSoft 中建立的次要存取 ID
  • 將與次要存取 ID 關聯的其他資料庫綱要
  • 使用在主要資料庫上執行之服務的資料庫連結

關於實作 Oracle Active Data Guard

實行 Oracle Active Data Guard 支援時,請記住下列重要項目:

  • 主要和次要站台的 PeopleSoft 應用程式伺服器網域必須設定為支援 Oracle Active Data Guard,以便查詢卸載在切換或容錯移轉後運作。
  • PSFTADG2 使用者需要自己的資料庫連結才能存取待命資料庫。手動建立新資料庫連結時,請確定資料庫連結名稱符合目標資料庫的名稱,包括 DB_DOMAIN (如果已設定)。
  • 重要事項:將 PeopleTools 應用程式網域伺服器設定為支援 Oracle Active Data Guard 之後,如果無法使用 PSQUERY 服務,PeopleSoft 應用程式將無法啟動。如果待命資料庫無法使用,就必須在主要資料庫上啟動 PSQUERY 服務。當待命資料庫再次可用時,它可以重新定位回待命資料庫,而不需要重新啟動應用程式。

附註:

如果您計畫開啟待命資料庫作為測試的快照待命資料庫,則必須將 PSQUERY 服務搬移至主要資料庫。

如果您的內部部署 PeopleSoft 實作已設定為使用 Oracle Active Data Guard 來卸載查詢,則您必須確定應用程式伺服器和處理排程器的組態已移轉至第一個和第二個 OCI 部署。資料庫將已經有與 PeopleSoft 次要存取 ID 關聯的綱要使用者。在我們的案例中,此額外的綱要稱為 PSFTADG2。

導入 Oracle Active Data Guard

如果您選擇為卸載查詢新實行 Active Data Guard 支援,請依照此處參照的程序啟用 Oracle Active Data Guard 的 PeopleTools 支援。

  • 依照實行 Oracle Active Data Guard 中的步驟進行。

    這些步驟旨在提供 Oracle Maximum Availability Architecture (Oracle MAA) 最佳做法。

設定 Oracle Active Data Guard 的主要和待命資料庫伺服器

主要資料庫伺服器必須透過資料庫連結存取待命資料庫的服務。首先,建立該資料庫服務並新增 tnsnames.ora 項目,以解析待命資料庫的網路位址。

  1. 將角色型資料庫服務新增至主要和次要區域。

    在主要和次要區域新增以角色為基礎的資料庫服務 PSQUERY,只在資料庫符合 PHYSICAL_STANDBY 角色時才執行。下列是新增服務的範例:

    主要
    $ srvctl add service -db <primary DB unique name> -pdb HR92U033 -service PSQUERY -preferred "CDBHCM1,CDBHCM2" failovermethod BASIC -failovertype SELECT -notification TRUE -role PHYSICAL_STANDBY -failoverretry 10 -failoverdelay 3
    待機
    $ srvctl add service -db <standby DB unique name> -pdb HR92U033 -service PSQUERY -preferred "CDBHCM1,CDBHCM2" failovermethod BASIC -failovertype SELECT -notification TRUE -role PHYSICAL_STANDBY -failoverretry 10 -failoverdelay 3
    
  2. 使用在 Oracle Active Data Guard 待命資料庫上執行的 TNS 連線字串建立 tnsnames.ora「包括檔案」或 ifile,即可用來記錄主要資料庫中工作的相關資訊。將 ifile 放置在每個 RAC 資料庫節點的 $TNS_ADMIN 目錄中,主要和待命位置。
    這可讓在 Oracle Active Data Guard 資料庫上執行的報表連線回主要報表,以及更新資料庫中的執行資料。

    附註:

    請勿將此 TNS 連線字串別名放在任何中間層。此連線字串僅供在資料庫伺服器的後續步驟中建立的資料庫連結使用。

    例如,以下是放置在名為 tns_ps_adg.ora 之 ifile 中的 TNS 連線字串。

    HR92U033_PRIMARY =
    (DESCRIPTION_LIST =
       (LOAD_BALANCE=off)(FAILOVER=on)
       (DESCRIPTION =
           (CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
           (ADDRESS_LIST =
               (LOAD_BALANCE=on)
               (ADDRESS = (PROTOCOL = TCP)(HOST = iadexadb-bw5wn-scan.exadbprivate.ebscloudmaavcn.oraclevcn.com)(PORT = 1521))
           )
            (CONNECT_DATA =
               (SERVER = DEDICATED)
               (SERVICE_NAME = HR92U033_ONLINE)
           )
        )
        (DESCRIPTION =
           (CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
           (ADDRESS_LIST =
               (LOAD_BALANCE=on)
               (ADDRESS = (PROTOCOL = TCP)(HOST = phxexadb-krppw-scan.dbprivateexa.maacloud2vcn.oraclevcn.com)(PORT = 1521))
           )
            (CONNECT_DATA =
               (SERVER = DEDICATED)
               (SERVICE_NAME = HR92U033_ONLINE)
           )
        )
     )
  3. 新增一行 IFILE 指令至資料庫 tnsnames.ora 檔案的底端,以將 IFILE 納入 tnsnames 定義中。
    IFILE=TNS_ADMIN full path/ tns_ps_adg.ora

更新 Oracle Active Data Guard 的資料庫

更新資料庫內容,以同時保存待命網站之 PeopleSoft 應用程式所使用的指標,以尋找主要資料庫,以及用於該用途的資料庫連結。在主要資料庫插入的資料會由 Oracle Data Guard 傳輸至待命資料庫。

  1. 將新資料列插入主要資料庫的 PS.PSDBOWNER 表格中。
    此資料列可讓應用程式伺服器與 Oracle Active Data Guard 待命資料庫進行認證。
    1. 以 oracle 作業系統使用者身分登入其中一個 Oracle Exadata Database Service on Dedicated Infrastructure 資料庫伺服器。
    2. 來源資料庫環境 (CDBHCM.env)。
    3. 啟動 SQL*Plus 階段作業並插入新資料列。
      下列範例使用 PDB 名稱
      HR92U033
      :
      sqlplus / as sysdba 
      
      SQL> ALTER SESSION SET CONTAINER = HR92U033;
      SQL> INSERT INTO PS.DBOWNER VALUES (‘PSFTADG’, ‘EMDBO’);
      
      COMMIT;
  2. 在主要資料庫上建立資料庫連結。

    請參閱實行 Oracle Active Data Guard 中的步驟,在主要資料庫上建立資料庫連結。

  3. 使用 SQL*Plus 連線至第二個資料庫綱要 (PSFTADG2),然後建立資料庫連結。

    附註:

    這會使用 TNS 別名 HR92U033_PRIMARY (僅在資料庫處於主要角色時執行的服務)。
    舉例而言:
    CREATE DATABASE LINK PRIMARY CONNECT TO EMDBO IDENTIFIED BY password USING 'HR92U033_PRIMARY';