Activer PeopleTools pour prendre en charge Oracle Active Data Guard

Les versions 8.52 et supérieures de PeopleSoft PeopleTools prennent en charge Oracle Active Data Guard, ce qui permet de décharger les requêtes vers une base de données de secours physique.

Pour activer PeopleTools afin de prendre en charge Oracle Active Data Guard, procédez comme suit :

  • Base de données de secours physique sur laquelle Oracle Active Data Guard est activé
  • Service de base de données pouvant être démarré sur l'instance de base de données Oracle Active Data Guard
  • ID d'accès secondaire créé dans PeopleSoft
  • Schéma de base de données supplémentaire qui sera associé à l'ID d'accès secondaire
  • Lien de base de données qui utilise un service uniquement exécuté sur la base principale

A propos de l'implémentation d'Oracle Active Data Guard

Gardez à l'esprit les éléments importants suivants lors de l'implémentation de la prise en charge d'Oracle Active Data Guard :

  • Les domaines de serveur d'applications PeopleSoft sur les sites principal et secondaire doivent être configurés de manière à prendre en charge Oracle Active Data Guard pour que le déchargement des requêtes fonctionne après une permutation ou un basculement.
  • L'utilisateur PSFTADG2 aura besoin de son propre lien de base de données pour accéder à la base de données de secours. Lors de la création manuelle du lien de base de données, assurez-vous que le nom du lien de base de données correspond au nom de la base de données cible, y compris DB_DOMAIN si défini.
  • IMPORTANT : une fois que le serveur de domaine d'application PeopleTools est configuré pour prendre en charge Oracle Active Data Guard, l'application PeopleSoft ne démarre pas si le service PSQUERY n'est pas disponible. Si la base de données de secours n'est pas disponible, le service PSQUERY doit être démarré sur la base principale. Il peut être transféré vers la base de données de secours lorsque celle-ci est à nouveau disponible sans redémarrer l'application.

Remarques :

Si vous prévoyez d'ouvrir la base de données de secours en tant que base de données de secours instantanée à des fins de test, vous devez d'abord transférer le service PSQUERY vers la base de données principale.

Si votre implémentation PeopleSoft sur site est déjà configurée pour utiliser Oracle Active Data Guard pour le déchargement des requêtes, vous devez vous assurer que la configuration du serveur d'applications et du planificateur de processus est transférée vers les premier et deuxième déploiements OCI. L'utilisateur de schéma associé à l'ID d'accès secondaire PeopleSoft est déjà associé à la base de données. Dans notre cas, ce schéma supplémentaire est appelé PSFTADG2.

Implémenter Oracle Active Data Guard

Si vous choisissez d'implémenter la prise en charge d'Active Data Guard pour le déchargement des requêtes, suivez la procédure référencée ici afin d'activer la prise en charge d'PeopleTools pour Oracle Active Data Guard.

Configurer les serveurs de base de données principale et de secours pour Oracle Active Data Guard

Le serveur de base de données principale doit accéder à un service au niveau de la base de données de secours via un lien de base de données. Commencez par créer ce service de base de données et ajoutez les entrées tnsnames.ora pour pouvoir résoudre l'adresse réseau de la base de données de secours.

  1. Ajoutez un service de base de données basé sur les rôles aux régions principale et secondaire.

    Ajoutez le service de base de données basé sur les rôles PSQUERY dans les régions principale et secondaire, à exécuter uniquement lorsque la base de données remplit le rôle PHYSICAL_STANDBY. Voici des exemples de services ajoutés :

    Principal
    $ 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
    Base de données de secours
    $ 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. Créez un fichier tnsnames.ora "include file", ou ifile, avec une chaîne de connexion TNS que les rapports en cours d'exécution sur la base de données de secours Oracle Active Data Guard peuvent utiliser pour enregistrer des informations sur les travaux dans la base de données principale. Placez l'Ifile dans le répertoire $TNS_ADMIN sur chaque noeud de base de données RAC sur les sites principal et de secours.
    Cela permet aux rapports exécutés sur la base de données Oracle Active Data Guard de se reconnecter à la base principale et de mettre à jour les données d'exécution dans la base de données.

    Remarques :

    Ne placez pas cet alias de chaîne de connexion TNS sur l'un des niveaux intermédiaires. Cette chaîne de connexion est uniquement utilisée par le lien de base de données créé lors d'une étape ultérieure sur les serveurs de base de données.

    Par exemple, voici une chaîne de connexion TNS placée dans un ifile nommé tns_ps_adg.ora.

    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. Ajoutez une ligne pour une directive IFILE au bas des fichiers tnsnames.ora de la base de données afin d'inclure l'ifile dans la définition tnsnames.
    IFILE=TNS_ADMIN full path/ tns_ps_adg.ora

Mise à jour de la base de données pour Oracle Active Data Guard

Mettez à jour le contenu de la base de données pour contenir à la fois un pointeur utilisé par l'application PeopleSoft sur le site de secours afin de localiser la base de données principale et le lien de base de données utilisé à cette fin. Les données insérées au niveau de la base principale sont propagées vers la base de données de secours par Oracle Data Guard.

  1. Insérez une nouvelle ligne dans la table PS.PSDBOWNER de la base de données principale.
    Cette ligne permet aux serveurs d'applications de s'authentifier auprès de la base de données de secours Oracle Active Data Guard.
    1. Connectez-vous à l'un des serveurs de base de données Oracle Exadata Database Service on Dedicated Infrastructure en tant qu'utilisateur de système d'exploitation oracle.
    2. Source de l'environnement de base de données (CDBHCM.env).
    3. Démarrez une session SQL*Plus et insérez la nouvelle ligne.
      L'exemple suivant utilise le nom de base de données pluggable
      HR92U033
      :
      sqlplus / as sysdba 
      
      SQL> ALTER SESSION SET CONTAINER = HR92U033;
      SQL> INSERT INTO PS.DBOWNER VALUES (‘PSFTADG’, ‘EMDBO’);
      
      COMMIT;
  2. Créez le lien de base de données sur la base principale.

    Reportez-vous aux étapes de la section Implémentation d'Oracle Active Data Guard pour créer un lien de base de données sur la base de données principale.

  3. Utilisez SQL*Plus pour vous connecter au deuxième schéma de base de données (PSFTADG2) et créer le lien de base de données.

    Remarques :

    Cela utilise l'alias TNS HR92U033_PRIMARY, un service qui s'exécute uniquement lorsque la base de données a le rôle principal.
    Exemple :
    CREATE DATABASE LINK PRIMARY CONNECT TO EMDBO IDENTIFIED BY password USING 'HR92U033_PRIMARY';