Sitewechsel

Eine Best Practice von Oracle Maximum Availability Architecture (Oracle MAA) besteht darin, halbjährlich einen Full Stack Site Switchover durchzuführen, die Rollen der primären und sekundären Sites umzukehren, Switchover-Prozeduren zu testen und nicht verwaltete Änderungen oder andere aufgetretene Probleme zu erfassen und zu beheben. Sie können auch zur sekundären Site wechseln, um weiterhin Services bereitzustellen, während die primäre Site einer größeren Wartung unterzogen wird.

Site-Switchover in OCI ausführen

Führen Sie einen Full Stack PeopleSoft-Switchover von Site 1 (ursprünglich die primäre) zu Site 2 (ursprünglich die sekundäre) aus.

Mit Oracle Cloud Infrastructure (OCI) können Sie Site-Switchover entweder Schritt für Schritt, manuell oder durch Skripting der Schritte in einem einzelnen Ablauf ausführen. In beiden Fällen verwenden Sie eine Kombination aus REST-APIs für die Datenbankebene und Skripten für die Anwendungs- und Web-Tiers.

In diesem Abschnitt werden die manuellen Schritte beschrieben. Im Beispiel wird davon ausgegangen, dass die On-Premise-Datenbank bereits aus der Data Guard Broker-Konfiguration gelöscht wurde.

In diesem Beispiel ist Site 1 ursprünglich die primäre und Site 2 die sekundäre. Sie wechseln während dieser Übung die Rollen. Im Folgenden werden die allgemeinen Aufgaben für die Durchführung eines Switchovers in OCI beschrieben:

Site 1:

  1. Batch-Jobs vor dem geplanten Switchover-Ereignis im PeopleSoft Process Scheduler ableiten oder sperren.
  2. Fahren Sie alle PeopleSoft-Anwendungsserver, den Prozessplaner und alle PeopleSoft Internet Architecture-(PIA-)Webserver herunter.
  3. Prüfen Sie, ob die Datenbank PeopleSoft für das Switchover bereit ist.
  4. Führen Sie einen Oracle Data Guard Switchover aus.
  5. Führen Sie die OCI File Storage-Rollenumkehrung aus.

Site 2:

  1. Überprüfen Sie, ob rollenbasierte Datenbankservices gestartet wurden.
  2. Starten Sie die PeopleSoft-Anwendungsserver, den Prozessplaner und alle PIA-Webserver.
  3. Validieren Sie den Status der Backend-Server im Load Balancing der neuen primären Region (grünes OK).
  4. Validieren Sie, dass Sie sich bei der PIA PeopleSoft anmelden können.

Das folgende Beispiel enthält die detaillierten Schritte zum Ausführen eines Full-Stack-Switchovers PeopleSoft. In diesen Beispielen werden Namen aus unserer Testumgebung für die Primärdatenbank in Ashburn (CDBHCM_iad1dx) und die Standbydatenbank in Phoenix (CDBHCM_phx5s) verwendet.

  1. Fahren Sie den Prozessplaner auf Site 1 für jede Compute-Instanz herunter.
    • Site: Site 1
    • Knoten: Jede Compute-Instanz des Prozessplanerservers
    • Benutzer: psadm2

    Zur Vorbereitung des Site Switchovers kann es erforderlich sein, den Prozessplaner vor dem geplanten Switchover zu einem bestimmten Zeitpunkt herunterzufahren. Dadurch werden alle wiederkehrenden und neuen Jobs in den Status "In Warteschlange" versetzt.

    Wenn Sie den Prozess-Scheduler vor der geplanten Switchover-Zeit herunterfahren, verwenden Sie das individuelle Skript stopPS.sh im Verzeichnis Basic Tasks directory in GitHub. Verwenden Sie das Wrapper-Skript zu diesem Zeitpunkt NICHT. Schritt 4 unten führt das Wrapper-Skript als Teil des eigentlichen Switchover-Prozesses aus.

    $ stopPS.sh
  2. Prüfen Sie, ob die Standby-Datenbank für das Switchover bereit ist.
    • Site: Site 1
    • Knoten: Ein Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Benutzer: oracle
    1. Melden Sie sich bei einer der primären Oracle Exadata Database Service on Dedicated Infrastructure domUs an, die eine Oracle RAC-Instanz PeopleSoft hostet, und werden Sie der oracle-Benutzer.
    2. Quelle der Umgebung.
      $ . ./CDBHCM.env
    3. Starten Sie die Oracle Data Guard-Befehlszeilenschnittstelle.
      $ 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. Validieren Sie die Standbydatenbank.
      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   

      Die Standbydatenbank ist bereit für das Switchover.

  3. Fahren Sie die PIA-Webserver herunter.
    • Site: Site 1
    • Knoten: PIA-Webserver-Compute-Instanzen
    • Benutzer: psadm2
    1. Melden Sie sich bei den PIA-Middle Tier-Servern an, und werden Sie psadm2.
    2. Verwenden Sie die Wrapper-Skripte, um die PIA-Webserver und Coherence*Web-Cacheserver herunterzufahren.
      Die Wrapper-Skripte befinden sich im Wrapper-Verzeichnis in GitHub.
      $ stopPSFTWEB.sh
  4. Fahren Sie den Anwendungsserver und den Prozess-Scheduler herunter.
    • Site: Site 1
    • Knoten: Compute-Instanzen des Anwendungs-/Prozess-Scheduler-Servers
    • Benutzer: psadm2
    1. Melden Sie sich bei den Compute-Instanzen an, die die PeopleSoft-Anwendungsserver und den Prozessplaner hosten, und werden Sie psadm2.
    2. Führen Sie das Wrapper-Skript von stopPSFTAPP.sh aus.
      $ stopPSFTAPP.sh

      Hinweis:

      Die erste Instanz, die das Skript stopPSFTAPP.sh ausführt, führt eine endgültige rsync der Dateisysteme aus, nachdem die restlichen Anwendungsserver- und Prozessplanerdomains heruntergefahren sind, und deaktiviert dann rsync.
    3. Mit dem SQL-Skript in den Anwendungs- und Process Scheduler-Domains PeopleSoft können Sie Datenbanksessions überwachen.
    4. Nachdem alle stopPS-Skripte abgeschlossen sind, prüfen Sie im Log rsync, ob ein endgültiges rsync ausgeführt wurde.
      Gehen Sie für das Skript rsync_psft.sh zum Replikationsverzeichnis in GitHub.
  5. Führen Sie das Switchover mit der Data Guard Broker-Befehlszeilenschnittstelle aus.
    • Site: Site 1
    • Knoten: Ein Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Benutzer: 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. Mit der Data Guard Broker-Befehlszeilenschnittstelle können Sie überwachen und prüfen, ob das Switchover erfolgreich war.
    • Site: Site 1
    • Knoten: Ein Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Benutzer: 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. Wenn die Unterstützung für Active Data Guard konfiguriert ist, stellen Sie sicher, dass der Active Data Guard-Service für PeopleSoft (PSQUERY) nach dem Switchover der neuen Standbydatenbank gestartet wurde.
    • Site: Site 1
    • Knoten: Ein Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Benutzer: oracle
    $ srvctl status service -db CDBHCM_iad1dx -s PSQUERY
    Service PSQUERY is running on instance(s) CDBHCM1,CDBHCM2
    Dieser Service muss auf allen Oracle RAC-Instanzen ausgeführt werden.

    Hinweis:

    Dieser Service muss gestartet werden, bevor der Prozessplaner gestartet wird. Andernfalls verläuft der Prozessplaner beim Hochfahren nicht erfolgreich.
  8. Prüfen Sie, ob die rollenbasierten Datenbankservices auf der neuen Primärdatenbank ausgeführt werden.
    • Site: Site 2
    • Knoten: Alle Oracle Exadata Database Service on Dedicated Infrastructure domUs
    • Benutzer: oracle
    Beispiel: Setzen Sie den folgenden Befehl für jede domU ab, die eine Oracle RAC-Datenbankinstanz PeopleSoft hostet:
    $ 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
    Dieser Service muss auf allen Oracle RAC-Instanzen ausgeführt werden.
  9. Starten Sie die Application Server- und Process Scheduler-Domains.
    • Site: Site 2
    • Knoten: Compute-Instanzen des Anwendungs- und Prozess-Scheduler-Servers
    • Benutzer: psadm2
    1. Melden Sie sich bei den Compute-Instanzen an, die die PeopleSoft-Anwendungsserver und den Prozessplaner hosten, und werden Sie psadm2.
      Verwenden Sie das Skript startPSFTAPP.sh im Wrapper-Verzeichnis in GitHub:
      $ startPSFTAPP.sh
    2. Überwachen Sie den Start.
      Sie können die Abfrage aus den Anwendungs- und Process Scheduler-Domains PeopleSoft verwenden.
      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. Starten Sie Web Services.
    • Site: Site 2
    • Knoten: Alle PIA-Webserver-Compute-Instanzen
    • Benutzer: psadm2
    Wenn Coherence*Web konfiguriert ist, starten Sie zuerst das Cachecluster auf allen Compute-Instanzen, auf denen die PIA-Webserver gehostet werden, und starten dann die PIA-Webserver. In diesem Beispiel wird ein Skript verwendet, um beide in der richtigen Reihenfolge zu starten.
    1. Melden Sie sich bei den PIA-Webservern an, und werden Sie psadm2.
    2. Starten Sie mit dem Skript von startPSFTAPP.sh die Webserver.
      $ startPSFTWEB.sh
  11. Prüfen Sie den Load Balancer.
    • Standort: Region Standort 2
    • Knoten: OCI-Konsole
    • Benutzer: Mandantenadministrator
    1. Melden Sie sich bei der OCI-Konsole an, und ändern Sie die Region in Ihre neue primäre Region (in unserem Beispiel Phoenix).
    2. Wählen Sie im Hauptmenü Networking und dann Load Balancer aus.
    3. Wählen Sie das entsprechende Compartment aus.
    4. Klicken Sie auf Backend-Set und dann auf Backends.
      Jedes Backend muss OK enthalten. Es kann einige Minuten dauern, bis jeder PIA-Webserver gestartet wurde.
  12. Versuchen Sie, sich über einen Webbrowser beim PIA-Webserver anzumelden.
    • Benutzer: PeopleSoft PIA-Webbenutzer
    In diesem Beispiel lautet die URL:
    https://psfthcm.appprivad1.maacloud2vcn.oraclevcn.com/psp/ps/EMPLOYEE/HRMS/?cmd=login

Wenn die oben genannten Schritte erfolgreich abgeschlossen wurden, wird die Produktion an Standort 2 ausgeführt.