PeopleTools zur Unterstützung von Oracle Active Data Guard aktivieren

PeopleSoft PeopleTools ab Version 8.52 unterstützen Oracle Active Data Guard, mit dem Abfragen an eine physische Standbydatenbank ausgelagert werden können.

Sie benötigen Folgendes, um PeopleTools zur Unterstützung von Oracle Active Data Guard zu aktivieren:

  • Eine physische Standbydatenbank, für die Oracle Active Data Guard aktiviert ist
  • Ein Datenbankservice, der auf der Oracle Active Data Guard-Datenbankinstanz gestartet werden kann
  • Eine sekundäre Zugriffs-ID, die in PeopleSoft erstellt wurde
  • Ein zusätzliches Datenbankschema, das mit der sekundären Zugriffs-ID verknüpft wird
  • Ein Datenbanklink, der einen Service verwendet, der nur auf der Primärdatenbank ausgeführt wird

Oracle Active Data Guard implementieren

Beachten Sie die folgenden wichtigen Elemente bei der Implementierung der Unterstützung für Oracle Active Data Guard:

  • Die PeopleSoft-Anwendungsserverdomains an den primären und sekundären Sites müssen so konfiguriert sein, dass Oracle Active Data Guard unterstützt wird, damit die Abfrageauslagerung nach einem Switchover oder Failover funktioniert.
  • Der Benutzer PSFTADG2 benötigt einen eigenen Datenbanklink, um auf die Standbydatenbank zuzugreifen. Stellen Sie beim manuellen Erstellen des neuen Datenbanklinks sicher, dass der Name des Datenbanklinks mit dem Namen der Zieldatenbank übereinstimmt, einschließlich DB_DOMAIN, sofern festgelegt.
  • Wichtig: Sobald der PeopleTools-Anwendungsdomainserver für die Unterstützung von Oracle Active Data Guard konfiguriert ist, wird die PeopleSoft-Anwendung nicht gestartet, wenn der PSQUERY-Service nicht verfügbar ist. Wenn die Standbydatenbank nicht verfügbar ist, muss der PSQUERY-Service auf der Primärdatenbank gestartet werden. Sie kann wieder in die Standbydatenbank verschoben werden, wenn die Standbydatenbank wieder verfügbar ist, ohne die Anwendung neu zu starten.

Hinweis:

Wenn Sie die Standbydatenbank als Snapshot-Standbydatenbank zum Testen öffnen möchten, müssen Sie den PSQUERY-Service zuerst in die Primärdatenbank umspeichern.

Wenn Ihre On-Premise-Implementierung PeopleSoft bereits für die Verwendung von Oracle Active Data Guard zum Auslagern von Abfragen konfiguriert ist, müssen Sie sicherstellen, dass die Konfiguration für den Anwendungsserver und den Prozessplaner an das erste und zweite OCI-Deployment übertragen wird. Der Schemabenutzer der Datenbank ist bereits mit der sekundären Zugriffs-ID PeopleSoft verknüpft. In unserem Fall heißt dieses zusätzliche Schema PSFTADG2.

Oracle Active Data Guard implementieren

Wenn Sie die Active Data Guard-Unterstützung für das Ausladen von Abfragen neu implementieren möchten, befolgen Sie die hier referenzierte Prozedur, um die PeopleTools-Unterstützung für Oracle Active Data Guard zu aktivieren.

Primär- und Standbydatenbankserver für Oracle Active Data Guard konfigurieren

Der Primärdatenbankserver muss über einen Datenbanklink auf einen Service in der Standbydatenbank zugreifen. Erstellen Sie zunächst diesen Datenbankservice, und fügen Sie die tnsnames.ora-Einträge hinzu, um die Netzwerkadresse der Standbydatenbank auflösen zu können.

  1. Fügen Sie einen rollenbasierten Datenbankservice zur primären und sekundären Region hinzu.

    Fügen Sie den rollenbasierten Datenbankservice PSQUERY sowohl in der primären als auch in der sekundären Region hinzu, um ihn nur auszuführen, wenn die Datenbank die Rolle PHYSICAL_STANDBY erfüllt. Im Folgenden finden Sie einige Beispiele für hinzugefügte Services:

    Primär
    $ 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
    Standby
    $ 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. Erstellen Sie eine tnsnames.ora "Include-Datei" oder ein Ifile mit einer TNS-Verbindungszeichenfolge, mit der Berichte, die in der Oracle Active Data Guard-Standbydatenbank ausgeführt werden, Informationen zu den Jobs in der Primärdatenbank aufzeichnen können. Platzieren Sie das Ifile im Verzeichnis $TNS_ADMIN auf jedem RAC-Datenbankknoten auf der Primär- und der Standbysite.
    Dadurch können Berichte, die in der Oracle Active Data Guard-Datenbank ausgeführt werden, eine Verbindung zur Primärdatenbank herstellen und Ausführungsdaten in der Datenbank aktualisieren.

    Hinweis:

    Platzieren Sie diesen TNS-Verbindungszeichenfolgenalias nicht auf einer der mittleren Ebenen. Diese Verbindungszeichenfolge wird nur von dem Datenbanklink verwendet, der in einem späteren Schritt auf den Datenbankservern erstellt wurde.

    Im Folgenden finden Sie beispielsweise eine TNS-Verbindungszeichenfolge, die in einer Ifile namens tns_ps_adg.ora platziert wird.

    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. Fügen Sie unten in den tnsnames.ora-Dateien der Datenbank eine Zeile für eine IFILE-Anweisung hinzu, um das IFILE in die tnsnames-Definition aufzunehmen.
    IFILE=TNS_ADMIN full path/ tns_ps_adg.ora

Datenbank für Oracle Active Data Guard aktualisieren

Aktualisieren Sie den Datenbankinhalt so, dass er sowohl einen Zeiger enthält, der von der Anwendung PeopleSoft auf der Standbysite zum Suchen der Primärdatenbank verwendet wird, als auch den zu diesem Zweck verwendeten Datenbanklink. Die in der Primärdatenbank eingefügten Daten werden von Oracle Data Guard an die Standbydatenbank propagiert.

  1. Fügen Sie in der Primärdatenbank eine neue Zeile in die Tabelle PS.PSDBOWNER ein.
    Mit dieser Zeile können sich die Anwendungsserver bei der Oracle Active Data Guard-Standbydatenbank authentifizieren.
    1. Melden Sie sich bei einem der Oracle Exadata Database Service on Dedicated Infrastructure-Datenbankserver als BS-Benutzer "oracle" an.
    2. Quelldatenbankumgebung (CDBHCM.env).
    3. Starten Sie eine SQL*Plus-Session, und fügen Sie die neue Zeile ein.
      Das folgende Beispiel verwendet den PDB-Namen
      HR92U033
      :
      sqlplus / as sysdba 
      
      SQL> ALTER SESSION SET CONTAINER = HR92U033;
      SQL> INSERT INTO PS.DBOWNER VALUES (‘PSFTADG’, ‘EMDBO’);
      
      COMMIT;
  2. Erstellen Sie den Datenbanklink in der Primärdatenbank.

    Informationen zum Erstellen eines Datenbanklinks in der Primärdatenbank finden Sie in den Schritten unter Oracle Active Data Guard implementieren.

  3. Melden Sie sich mit SQL*Plus beim zweiten Datenbankschema (PSFTADG2) an, und erstellen Sie den Datenbanklink.

    Hinweis:

    Dabei wird der TNS-Alias HR92U033_PRIMARY verwendet, ein Service, der nur ausgeführt wird, wenn sich die Datenbank in der primären Rolle befindet.
    Beispiel:
    CREATE DATABASE LINK PRIMARY CONNECT TO EMDBO IDENTIFIED BY password USING 'HR92U033_PRIMARY';