Oracle Active Data GuardをサポートするためのPeopleToolsの有効化

PeopleSoft PeopleToolsバージョン8.52以降では、フィジカル・スタンバイへの問合せのオフロードを可能にするOracle Active Data Guardがサポートされています。

You need the following to enable PeopleTools to support 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を使用するようにすでに構成されている場合は、アプリケーション・サーバーおよびプロセス・スケジューラの構成が1番目と2番目の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)を作成します。プライマリ・サイトとスタンバイ・サイトの両方で、各RACデータベース・ノードの$TNS_ADMINディレクトリにifileを配置します。
    これにより、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ファイルの最下部に追加して、tnsnames定義にIFILEを含めます。
    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 Exadata Database Service on Dedicated Infrastructureデータベース・サーバーのいずれかにoracle OSユーザーとしてログインします。
    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を使用して2番目のデータベース・スキーマ(PSFTADG2)に接続し、データベース・リンクを作成します。

    ノート:

    これは、データベースがプライマリ・ロールの場合にのみ実行されるサービスであるTNS別名HR92U033_PRIMARYを使用します。
    たとえば次のようにします。
    CREATE DATABASE LINK PRIMARY CONNECT TO EMDBO IDENTIFIED BY password USING 'HR92U033_PRIMARY';