Switchover sito

Una best practice di Oracle Maximum Availability Architecture (Oracle MAA) consiste nell'eseguire semestralmente uno switchover completo del sito stack, invertendo i ruoli dei siti primari e secondari, per testare le procedure di switchover e rilevare e correggere eventuali modifiche non gestite o altri problemi che potrebbero essersi verificati. È inoltre possibile passare al sito secondario per continuare a fornire servizi mentre il sito principale è in fase di manutenzione principale.

Eseguire uno switchover del sito in OCI

Eseguire uno switchover dell'intero stack PeopleSoft dal Sito 1 (originariamente il principale) al Sito 2 (originariamente il secondario).

È possibile utilizzare Oracle Cloud Infrastructure (OCI) per eseguire lo switchover del sito passo dopo passo, manualmente o eseguendo lo script dei passi in un singolo flusso. In entrambi i casi, utilizzerai una combinazione di API REST per il livello di database e script per l'applicazione e i livelli Web.

In questa sezione vengono descritti i passi manuali. L'esempio presuppone che il database in locale sia già stato eliminato dalla configurazione del broker Data Guard.

In questo esempio, il sito 1 è originariamente il principale e il sito 2 è originariamente il secondario. Cambiano ruolo durante questo esercizio. Di seguito sono riportati i task di alto livello per l'esecuzione di uno switchover in OCI.

Sito 1:

  1. Eliminare o bloccare i processi batch in PeopleSoft Process Scheduler prima dell'evento di switchover pianificato.
  2. Arrestare tutti i server applicazioni PeopleSoft, lo scheduler dei processi e tutti i server Web PeopleSoft Internet Architecture (PIA).
  3. Verificare che il database PeopleSoft sia pronto per lo switchover.
  4. Eseguire lo switchover di Oracle Data Guard.
  5. Eseguire lo storno del ruolo OCI File Storage.

Sito 2:

  1. Verificare che i servizi di database basati sui ruoli siano stati avviati.
  2. Avviare gli Application Server PeopleSoft, lo scheduler dei processi e tutti i Web Server PIA.
  3. Convalidare lo stato dei server backend nel nuovo bilanciamento del carico dell'area primaria (verde OK).
  4. Verifica che tu possa accedere a PeopleSoft PIA.

L'esempio seguente fornisce i passi dettagliati per l'esecuzione di uno switchover PeopleSoft full-stack. Questi esempi utilizzano i nomi del nostro ambiente di test per il database primario in Ashburn (CDBHCM_iad1dx) e il database in standby in Phoenix (CDBHCM_phx5s).

  1. Arrestare lo scheduler dei processi sul sito 1 per ogni istanza di computazione.
    • Sito: sito 1
    • Nodo: ogni istanza di computazione del server dello scheduler dei processi
    • Utente: psadm2

    In preparazione allo switchover del sito, potrebbe essere necessario arrestare lo scheduler dei processi in un determinato momento prima dello switchover pianificato. In questo modo, tutti i job ricorrenti e nuovi avranno lo stato "accodato".

    Quando si chiude lo scheduler dei processi prima del tempo di switchover pianificato, utilizzare il singolo script stopPS.sh situato nella directory Task di base in GitHub. Non utilizzare lo script wrapper in questo momento. Il passo 4 seguente esegue lo script wrapper come parte del processo di switchover effettivo.

    $ stopPS.sh
  2. Verificare che il database in standby sia pronto per lo switchover.
    • Sito: sito 1
    • Nodo: un Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Utente: oracle
    1. Eseguire il login a una delle istanze primarie di Oracle Exadata Database Service on Dedicated Infrastructure domUs che ospitano un'istanza Oracle RAC PeopleSoft e diventare l'utente oracle.
    2. Origine dell'ambiente.
      $ . ./CDBHCM.env
    3. Avviare l'interfaccia della riga di comando di 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. Convalida il database di standby.
      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   

      Il database in standby è pronto per lo switchover.

  3. Arrestare i server Web PIA.
    • Sito: sito 1
    • Nodo: istanze di calcolo del server Web PIA
    • Utente: psadm2
    1. Eseguire il login ai server di livello intermedio PIA e diventare psadm2.
    2. Utilizzare gli script wrapper per chiudere i server Web PIA e i server cache Web Coherence*.
      Gli script wrapper si trovano nella directory wrapper di GitHub.
      $ stopPSFTWEB.sh
  4. Chiudere Application Server e Process Scheduler.
    • Sito: sito 1
    • Nodo: istanze di computazione del server dello scheduler di applicazione/processo
    • Utente: psadm2
    1. Eseguire il login alle istanze di computazione che ospitano gli Application Server PeopleSoft e lo scheduler dei processi e diventare psadm2.
    2. Eseguire lo script del wrapper da stopPSFTAPP.sh.
      $ stopPSFTAPP.sh

      Nota

      La prima istanza per eseguire lo script stopPSFTAPP.sh eseguirà l'ultimo rsync dei file system dopo che il resto dei domini Application Server e Process Scheduler non sarà attivo, quindi disabiliterà rsync.
    3. Utilizzare lo script SQL nei domini Application and Process Scheduler PeopleSoft per monitorare le sessioni del database.
    4. Una volta completati tutti gli script stopPS, controllare il log rsync per verificare che sia stato eseguito un rsync finale.
      Andare alla directory di replica in GitHub per lo script rsync_psft.sh.
  5. Utilizzare l'interfaccia della riga di comando del broker Data Guard per eseguire lo switchover.
    • Sito: sito 1
    • Nodo: un Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Utente: 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. Utilizzare l'interfaccia della riga di comando del broker Data Guard per monitorare e verificare che lo switchover sia riuscito.
    • Sito: sito 1
    • Nodo: un Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Utente: 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. Se è configurato il supporto di Active Data Guard, assicurarsi che il servizio Active Data Guard per PeopleSoft (PSQUERY) sia stato avviato nel nuovo switchover del database di standby.
    • Sito: sito 1
    • Nodo: un Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Utente: oracle
    $ srvctl status service -db CDBHCM_iad1dx -s PSQUERY
    Service PSQUERY is running on instance(s) CDBHCM1,CDBHCM2
    Questo servizio deve essere in esecuzione su tutte le istanze Oracle RAC.

    Nota

    Questo servizio deve essere avviato prima di avviare lo scheduler dei processi. In caso contrario, lo scheduler dei processi non riuscirà all'avvio.
  8. Verificare che i servizi di database basati sui ruoli siano attivi sul nuovo database primario.
    • Sito: sito 2
    • Nodo: tutti i Oracle Exadata Database Service on Dedicated Infrastructure domUs
    • Utente: oracle
    Ad esempio, eseguire il comando seguente su ogni domU che ospita un'istanza di database 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
    Questo servizio deve essere in esecuzione su tutte le istanze Oracle RAC.
  9. Avviare i domini Application Server e Process Scheduler.
    • Sito: sito 2
    • Nodo: istanze di computazione del server dello scheduler di applicazioni e processi
    • Utente: psadm2
    1. Eseguire il login alle istanze di computazione che ospitano gli Application Server PeopleSoft e lo scheduler dei processi e diventare psadm2.
      Utilizzare lo script startPSFTAPP.sh situato nella directory wrapper in GitHub:
      $ startPSFTAPP.sh
    2. Monitorare l'avvio.
      È possibile utilizzare la query dai domini Application and Process Scheduler di 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. Avviare i servizi Web.
    • Sito: sito 2
    • Nodo: tutte le istanze di calcolo del server Web PIA
    • Utente: psadm2
    Se Coherence*Web è configurato, il cluster cache verrà avviato prima su tutte le istanze di computazione che ospitano i server Web PIA, quindi sui server Web PIA. In questo esempio, viene utilizzato uno script per avviare entrambi nell'ordine corretto.
    1. Eseguire il login ai server Web PIA e diventare psadm2.
    2. Utilizzando lo script da startPSFTAPP.sh, avviare i server Web.
      $ startPSFTWEB.sh
  11. Controllare il load balancer.
    • Sito: area sito 2
    • Nodo: OCI Console
    • Utente: amministratore della tenancy
    1. Eseguire il login a OCI Console e modificare l'area in base al nuovo primario (Phoenix nel nostro esempio).
    2. Selezionare Networking, quindi Load Balancer dal menu principale.
    3. Selezionare il compartimento appropriato.
    4. Fare clic su Set backend, quindi su Backend.
      Ogni backend deve mostrare OK. Potrebbero essere necessari alcuni minuti dopo l'avvio di ciascun server Web PIA.
  12. Tentativo di login al server Web PIA da un browser Web.
    • Utente: PeopleSoft utente Web PIA
    In questo esempio, l'URL è:
    https://psfthcm.appprivad1.maacloud2vcn.oraclevcn.com/psp/ps/EMPLOYEE/HRMS/?cmd=login

Una volta completati correttamente i passaggi precedenti, la produzione viene eseguita sul sito 2.