Permuter le site

Une bonne pratique d'Oracle Maximum Availability Architecture (Oracle MAA) consiste à effectuer une permutation de site de pile complète semestriellement, en inversant les rôles des sites principal et secondaire, en testant les procédures de permutation et en détectant et corrigeant les modifications non gérées ou d'autres problèmes qui auraient pu se produire. Vous pouvez également passer au site secondaire pour continuer à fournir des services pendant que le site principal est en maintenance majeure.

Effectuer une permutation de site dans OCI

Effectuez une permutation de pile complète PeopleSoft du site 1 (à l'origine le site principal) vers le site 2 (à l'origine le site secondaire).

Vous pouvez utiliser Oracle Cloud Infrastructure (OCI) pour effectuer une permutation de site étape par étape, manuellement ou en écrivant les étapes dans un seul flux. Dans les deux cas, vous utiliserez une combinaison d'API REST pour le niveau base de données et de scripts pour les niveaux application et Web.

Cette section décrit les étapes manuelles. L'exemple suppose que la base de données sur site a déjà été supprimée de la configuration Data Guard Broker.

Dans cet exemple, le site 1 est à l'origine le site principal et le site 2 est à l'origine le site secondaire. Ils changent de rôle au cours de cet exercice. Voici les tâches générales permettant d'effectuer une permutation dans OCI :

Site 1:

  1. Purge ou blocage des traitements batch dans PeopleSoft Process Scheduler avant l'événement de permutation planifié.
  2. Arrêtez tous les serveurs d'applications PeopleSoft, l'ordonnanceur de traitements et tous les serveurs Web PIA (Internet Architecture) PeopleSoft.
  3. Vérifiez que la base de données PeopleSoft est prête pour la permutation.
  4. Effectuez une commutation Oracle Data Guard.
  5. Effectuez l'inversion du rôle OCI File Storage.

Site 2:

  1. Vérifiez que les services de base de données basés sur les rôles ont été démarrés.
  2. Démarrez les serveurs d'applications PeopleSoft, l'ordonnanceur de traitements et tous les serveurs Web PIA.
  3. Validez le statut des serveurs back-end sur le nouvel équilibrage de charge de la région principale (vert OK).
  4. Validez que vous pouvez vous connecter à l'application PIA PeopleSoft.

L'exemple suivant fournit les étapes détaillées permettant d'effectuer une permutation PeopleSoft full-stack. Ces exemples utilisent les noms de notre environnement de test pour la base de données principale dans Ashburn (CDBHCM_iad1dx) et la base de données de secours dans Phoenix (CDBHCM_phx5s).

  1. Arrêtez l'ordonnanceur de traitements sur le site 1 pour chaque instance de calcul.
    • Site : Site 1
    • Noeud : chaque instance de calcul du serveur de l'ordonnanceur de traitements
    • Utilisateur : psadm2

    En vue de la permutation du site, il peut être nécessaire d'arrêter l'Ordonnanceur de traitements à un moment donné avant la permutation planifiée. Toutes les tâches récurrentes et nouvelles prendront le statut "en file d'attente".

    Lorsque vous arrêtez l'ordonnanceur de traitements avant l'heure de permutation planifiée, utilisez le script individuel stopPS.sh situé dans le répertoire des tâches de base dans GitHub. N'utilisez PAS le script wrapper pour le moment. L'étape 4 ci-dessous exécute le script wrapper dans le cadre du processus de permutation réel.

    $ stopPS.sh
  2. Vérifiez que la base de données de secours est prête pour la permutation.
    • Site : Site 1
    • Noeud : un Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Utilisateur : oracle
    1. Connectez-vous à l'un des services Oracle Exadata Database Service on Dedicated Infrastructure domUs principaux hébergeant une instance Oracle RAC PeopleSoft et devenez l'utilisateur oracle.
    2. Source de l'environnement.
      $ . ./CDBHCM.env
    3. Démarrez l'interface de ligne de commande 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. Validez la base de données de secours.
      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   

      La base de données de secours est prête pour la permutation.

  3. Arrêtez les serveurs Web PIA.
    • Site : Site 1
    • Noeud : instances de calcul de serveur Web PIA
    • Utilisateur : psadm2
    1. Connectez-vous aux serveurs de niveau intermédiaire PIA et devenez psadm2.
    2. Utilisez les scripts wrapper pour arrêter les serveurs Web PIA et les serveurs de cache Coherence*Web.
      Les scripts wrapper se trouvent dans le répertoire wrapper dans GitHub.
      $ stopPSFTWEB.sh
  4. Arrêtez le serveur d'applications et l'Ordonnanceur de traitements.
    • Site : Site 1
    • Noeud : instances de calcul de serveur de planificateur d'applications/de processus
    • Utilisateur : psadm2
    1. Connectez-vous aux instances de calcul hébergeant les serveurs d'applications et l'ordonnanceur de traitements PeopleSoft et devenez psadm2.
    2. Exécutez le script wrapper à partir de stopPSFTAPP.sh.
      $ stopPSFTAPP.sh

      Remarques :

      La première instance à exécuter le script stopPSFTAPP.sh exécutera un dernier rsync des systèmes de fichiers une fois que le reste des domaines du serveur d'applications et de l'ordonnanceur de traitements sera arrêté, puis désactivera rsync.
    3. Utilisez le script SQL dans les domaines d'application PeopleSoft et Process Scheduler pour surveiller les sessions de base de données.
    4. Une fois tous les scripts stopPS terminés, consultez le journal rsync pour vérifier qu'un fichier rsync final a été exécuté.
      Accédez au répertoire de réplication dans GitHub pour le script rsync_psft.sh.
  5. Utilisez l'interface de ligne de commande de Data Guard Broker pour effectuer la permutation.
    • Site : Site 1
    • Noeud : un Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Utilisateur : 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. Utilisez l'interface de ligne de commande de Data Guard Broker pour surveiller et vérifier que la permutation a réussi.
    • Site : Site 1
    • Noeud : un Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Utilisateur : 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. Si la prise en charge d'Active Data Guard est configurée, assurez-vous que le service Active Data Guard pour PeopleSoft (PSQUERY) a été démarré sur la nouvelle base de données de secours après la permutation.
    • Site : Site 1
    • Noeud : un Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Utilisateur : oracle
    $ srvctl status service -db CDBHCM_iad1dx -s PSQUERY
    Service PSQUERY is running on instance(s) CDBHCM1,CDBHCM2
    Ce service doit être en cours d'exécution sur toutes les instances Oracle RAC.

    Remarques :

    Ce service doit être démarré avant de démarrer l'Ordonnanceur de traitements. Sinon, l'ordonnanceur de traitements échouera au démarrage.
  8. Vérifiez que les services de base de données basés sur les rôles fonctionnent sur la nouvelle base principale.
    • Site : Site 2
    • Noeud : tous les Oracle Exadata Database Service on Dedicated Infrastructure domUs
    • Utilisateur : oracle
    Par exemple, exécutez la commande suivante sur chaque instance domU hébergeant une instance de base de données Oracle RAC PeopleSoft :
    $ 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
    Ce service doit être en cours d'exécution sur toutes les instances Oracle RAC.
  9. Démarrez le serveur d'applications et les domaines de l'Ordonnanceur de traitements.
    • Site : Site 2
    • Noeud : instances de calcul du serveur de l'Ordonnanceur de traitements et de l'application
    • Utilisateur : psadm2
    1. Connectez-vous aux instances de calcul hébergeant les serveurs d'applications et l'ordonnanceur de traitements PeopleSoft et devenez psadm2.
      Utilisez le script startPSFTAPP.sh situé dans le répertoire wrapper dans GitHub :
      $ startPSFTAPP.sh
    2. Surveillez le démarrage.
      Vous pouvez utiliser la requête à partir des domaines d'application et de Process Scheduler 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. Démarrez les services Web.
    • Site : Site 2
    • Noeud : toutes les instances de calcul de serveur Web PIA
    • Utilisateur : psadm2
    Si Coherence*Web est configuré, vous démarrez d'abord le cluster de cache sur toutes les instances de calcul qui hébergent les serveurs Web PIA, puis les serveurs Web PIA. Dans cet exemple, un script est utilisé pour démarrer les deux dans l'ordre approprié.
    1. Connectez-vous aux serveurs Web PIA et devenez psadm2.
    2. A l'aide du script de startPSFTAPP.sh, démarrez les serveurs Web.
      $ startPSFTWEB.sh
  11. Vérifiez l'équilibreur de charge.
    • Site : Région Site 2
    • Noeud : console OCI
    • Utilisateur : administrateur de location
    1. Connectez-vous à la console OCI et remplacez la région par votre nouvelle région principale (Phoenix dans notre exemple).
    2. Sélectionnez Fonctions de réseau, puis Equilibreur de charge dans le menu principal.
    3. Sélectionnez le compartiment approprié.
    4. Cliquez sur Ensemble de back-ends, puis sur Back-ends.
      Chaque back-end doit afficher OK. Cela peut prendre quelques minutes après le démarrage de chaque serveur Web PIA.
  12. Tentative de connexion au serveur Web PIA à partir d'un navigateur Web.
    • Utilisateur : utilisateur Web PIA PeopleSoft
    Pour cet exemple, l'URL est la suivante :
    https://psfthcm.appprivad1.maacloud2vcn.oraclevcn.com/psp/ps/EMPLOYEE/HRMS/?cmd=login

Une fois les étapes ci-dessus terminées, la production est exécutée sur le site 2.