Switchover do Site

Uma prática recomendada do Oracle Maximum Availability Architecture (Oracle MAA) é executar um switchover de site de pilha completa semestralmente, revertendo as atribuições dos sites principal e secundário, testar procedimentos de switchover e detectar e corrigir quaisquer alterações não gerenciadas ou outros problemas que possam ter ocorrido. Você também pode alternar para o site secundário para continuar fornecendo serviços enquanto o site principal está passando por uma manutenção importante.

Executar um Switchover de Site no OCI

Execute um switchover PeopleSoft de pilha completa do Site 1 (originalmente o principal) para o Site 2 (originalmente o secundário).

Você pode usar o Oracle Cloud Infrastructure (OCI) para executar o switchover do site passo a passo, manualmente ou criando scripts das etapas em um único fluxo. Em ambos os casos, você usará uma combinação de APIs REST para a camada de banco de dados e scripts para as camadas de aplicativo e web.

Esta seção descreve as etapas manuais. O exemplo pressupõe que o banco de dados local já tenha sido eliminado da configuração do Data Guard Broker.

Neste exemplo, Site 1 é originalmente o principal e Site 2 é originalmente o secundário. Eles trocam de papéis durante este exercício. Veja a seguir as tarefas de alto nível para executar um switchover no OCI:

Site 1:

  1. Drenar ou colocar tarefas em batch suspensas no PeopleSoft Process Scheduler antes do evento de alternância planejado.
  2. Desligue todos os servidores de aplicativos PeopleSoft, o process scheduler e todos os servidores Web PIA (Internet Architecture) PeopleSoft.
  3. Valide se o banco de dados PeopleSoft está pronto para switchover.
  4. Execute o switchover do Oracle Data Guard.
  5. Execute o estorno da atribuição do OCI File Storage.

Site 2:

  1. Validar se os serviços de banco de dados baseados em atribuição foram iniciados.
  2. Inicie os servidores de aplicativos PeopleSoft, o process scheduler e todos os servidores Web PIA.
  3. Valide o status dos servidores de backend no novo balanceamento de carga da região principal (OK verde).
  4. Valide se você pode fazer log-in na PIA PeopleSoft.

O exemplo a seguir fornece as etapas detalhadas para executar um switchover PeopleSoft de pilha completa. Esses exemplos usam nomes de nosso ambiente de teste para o banco de dados Principal em Ashburn (CDBHCM_iad1dx) e o banco de dados Stand-by em Phoenix (CDBHCM_phx5s).

  1. Faça shutdown do programador de processos no Site 1 para cada instância de computação.
    • Site: Site 1
    • Nó: Cada instância de computação do servidor do process scheduler
    • Usuário: psadm2

    Na preparação para a alternância do local, pode ser necessário fazer shutdown do programador do processo em algum momento antes da alternância programada. Isso colocará todas as tarefas novas e recorrentes no status "enfileirado".

    Ao encerrar o Process Scheduler antes do horário de switchover agendado, use o script individual stopPS.sh localizado no diretório Tarefas Básicas em GitHub. NÃO use o script wrapper no momento. A etapa 4 abaixo executa o script wrapper como parte do processo de switchover real.

    $ stopPS.sh
  2. Valide se o stand-by está pronto para switchover.
    • Site: Site 1
    • Nó: Um Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Usuário: oracle
    1. Faça log-in em um dos principais Oracle Exadata Database Service on Dedicated Infrastructure domUs que hospeda uma instância do Oracle RAC PeopleSoft e torne-se o usuário oracle.
    2. Obtenha o ambiente.
      $ . ./CDBHCM.env
    3. Inicie a interface de linha de comando do 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. Valide o banco de dados stand-by.
      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   

      O banco de dados stand-by está pronto para switchover.

  3. Desligue os servidores web PIA.
    • Site: Site 1
    • Nó: Instâncias de computação do servidor Web PIA
    • Usuário: psadm2
    1. Faça log-in nos servidores da camada intermediária do PIA e torne-se psadm2.
    2. Use os scripts wrapper para fazer shutdown dos servidores Web PIA e dos servidores de cache Coherence*Web.
      Os scripts wrapper estão localizados no diretório wrapper em GitHub.
      $ stopPSFTWEB.sh
  4. Encerre o servidor de aplicativos e o process scheduler.
    • Site: Site 1
    • Nó: instâncias de computação do servidor do programador de aplicativos/processos
    • Usuário: psadm2
    1. Faça log-in nas instâncias de computação que hospedam os servidores de aplicativos PeopleSoft e o process scheduler e torne-se psadm2.
    2. Execute o script wrapper em stopPSFTAPP.sh.
      $ stopPSFTAPP.sh

      Observação:

      A primeira instância a executar o script stopPSFTAPP.sh executará um rsync final dos sistemas de arquivos depois que o restante dos domínios do servidor de aplicativos e do programador de processos estiver inativo e, em seguida, desativará rsync.
    3. Use o script SQL em PeopleSoft Domínios do Application e do Process Scheduler para monitorar sessões de banco de dados.
    4. Depois que todos os scripts stopPS forem concluídos, verifique o log rsync para verificar se um rsync final foi executado.
      Vá para o diretório de replicação em GitHub para o script rsync_psft.sh.
  5. Use a interface da linha de comando do Data Guard Broker para executar o switchover.
    • Site: Site 1
    • Nó: Um Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Usuário: 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. Use a interface da linha de comando do Data Guard Broker para monitorar e verificar se o switchover foi bem-sucedido.
    • Site: Site 1
    • Nó: Um Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Usuário: 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 o suporte ao Active Data Guard estiver configurado, certifique-se de que o serviço Active Data Guard para PeopleSoft (PSQUERY) tenha sido iniciado no novo banco de dados stand-by após o switchover.
    • Site: Site 1
    • Nó: Um Oracle Exadata Database Service on Dedicated Infrastructure domU
    • Usuário: oracle
    $ srvctl status service -db CDBHCM_iad1dx -s PSQUERY
    Service PSQUERY is running on instance(s) CDBHCM1,CDBHCM2
    Este serviço deve estar em execução em todas as instâncias do Oracle RAC.

    Observação:

    Esse serviço deve ser iniciado antes de iniciar o process scheduler. Caso contrário, o process scheduler falhará na inicialização.
  8. Verifique se os serviços de banco de dados baseados em atribuição estão ativos no novo principal.
    • Site: Site 2
    • Nó: Todos os Oracle Exadata Database Service on Dedicated Infrastructure domUs
    • Usuário: oracle
    Por exemplo, execute o seguinte comando em cada domU que hospeda uma instância de banco de dados 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
    Este serviço deve estar em execução em todas as instâncias do Oracle RAC.
  9. Inicie o servidor de aplicativos e os domínios do Process Scheduler.
    • Site: Site 2
    • Nó: Instâncias de computação do servidor do programador de aplicativos e processos
    • Usuário: psadm2
    1. Faça log-in nas instâncias de computação que hospedam os servidores de aplicativos PeopleSoft e o process scheduler e torne-se psadm2.
      Use o script startPSFTAPP.sh localizado no diretório wrapper em GitHub:
      $ startPSFTAPP.sh
    2. Monitore a inicialização.
      Você pode usar a consulta nos Domínios do Application e do 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. Inicie os serviços Web.
    • Site: Site 2
    • Nó: Todas as instâncias de computação do servidor Web PIA
    • Usuário: psadm2
    Se o Coherence*Web estiver configurado, você primeiro iniciará o cluster de cache em todas as instâncias de computação que hospedam os servidores Web PIA e, em seguida, iniciará os servidores Web PIA. Neste exemplo, um script é usado para iniciar ambos na ordem correta.
    1. Faça log-in nos servidores web do PIA e torne-se psadm2.
    2. Usando o script de startPSFTAPP.sh, inicie os servidores Web.
      $ startPSFTWEB.sh
  11. Verifique o balanceador de carga.
    • Site: Região do Site 2
    • Nó: Console do OCI
    • Usuário: Administrador da tenancy
    1. Faça log-in na Console do OCI e altere a região para sua nova instância principal (Phoenix em nosso exemplo).
    2. Selecione Rede e, em seguida, Balanceador de Carga no menu principal.
    3. Selecione o compartimento apropriado.
    4. Clique em Conjunto de Backend e, em seguida, clique em Backends.
      Cada backend deve mostrar OK. Pode levar alguns minutos após cada servidor web PIA ter sido iniciado.
  12. Tentativa de fazer logon no servidor Web PIA a partir de um navegador da Web.
    • Usuário: PeopleSoft Usuário da Web do PIA
    Para este exemplo, o URL é:
    https://psfthcm.appprivad1.maacloud2vcn.oraclevcn.com/psp/ps/EMPLOYEE/HRMS/?cmd=login

Quando as etapas acima forem concluídas com êxito, a produção estará em execução no Site 2.