Iniciar o Observer e Ativar Failover de Inicialização Rápida

Instale o observer em uma VM do serviço Compute do Azure em uma zona de disponibilidade separada e ative o failover de inicialização rápida.
O Observer é um cliente de baixa pegada incorporado à CLI DGMGRL e, como qualquer outro cliente, pode ser executado em uma plataforma de hardware diferente dos servidores de banco de dados.

O broker do Data Guard automatiza e centraliza a criação, a manutenção e o monitoramento das configurações do Data Guard. Ele permite que você execute todas as operações de gerenciamento local ou remotamente por meio das interfaces de cliente do broker:

  • Oracle Enterprise Manager Cloud Control, ou
  • Interface de linha de comando do Data Guard, DGMGRL
A linha de comando DGMGRL faz parte da instalação do software Oracle AI Database e está disponível no site $ORACLE_HOME/bin/dgmgrl. Siga estas etapas para ativar o failover de inicialização rápida:
  1. Faça download e instale o cliente do Oracle AI Database na VM do observador. Para Linux x64:
    unzip LINUX.X64_2326100_client.zip
    cd client
    ./runInstaller
    
  2. Crie o arquivo tnsnames.ora com strings de conexão para o banco de dados principal e stand-by. Use a string de conexão recomendada com o nome SCAN:

    Edite $ORACLE_HOME/network/admin/tnsnames.ora na VM do observador.

    vi $ORACLE_HOME/network/admin/tnsnamse.ora
    
    DBZONE1=(DESCRIPTION=(CONNECT_TIMEOUT= 90)(RETRY_COUNT=100)(RETRY_DELAY=3)(TRANSPORT_CONNECT_TIMEOUT=1000ms)(LOAD_BALANCE=off)(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=scan-vmcluster-1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME = DBzone1.ocidelegatedsu.ocivnet1.oraclevcn.com)))
    
    DBZONE2=(DESCRIPTION=(CONNECT_TIMEOUT= 90)(RETRY_COUNT=100)(RETRY_DELAY=3)(TRANSPORT_CONNECT_TIMEOUT=1000ms)(LOAD_BALANCE=off)(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=scan-mvcluster-2)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME = DBzone2.ocidelegatedsu.ocivnet2.oraclevcn.com)))
    
    haservice = (DESCRIPTION =
    (CONNECT_TIMEOUT= 90)(RETRY_COUNT=100)(RETRY_DELAY=3)(TRANSPORT_CONNECT_TIMEOUT=1000ms)(LOAD_BALANCE=off)
        (ADDRESS_LIST =
            (LOAD_BALANCE=on)
            (ADDRESS = (PROTOCOL = TCP)(HOST=scan-vmcluster-1)(PORT=1521)))
        (ADDRESS_LIST =
            (LOAD_BALANCE=on)
            (ADDRESS = (PROTOCOL = TCP)(HOST=scan-vmcluster-2)(PORT=1521)))      
        (CONNECT_DATA=(SERVICE_NAME = haservice.oracle.com)))
  3. Validar a conectividade com os bancos de Dados principal e stand-by.
    export TNS_ADMIN=$ORACLE_HOME/network/admin
    
    dgmgrl SYS@DBZONE1
    ...
    Connected to "DBzone1"
    Connected as SYSDBA.
                
    dgmgrl SYS@DBZONE2
    ...
    Connected to "DBzone2"
    Connected as SYSDBA.
    
  4. Verifique as definições de destino do Data Guard e do Failover de Inicialização Rápida.
    DGMGRL> show configuration
    Configuration - db26_dgconf
      Protection Mode: MaxAvailability
      Members:
      DBzone1 - Primary database
        DBzone2 - Physical standby database
    Fast-Start Failover:  Disabled
    Configuration Status:
    SUCCESS   (status updated 20 seconds ago)
    
    DGMGRL> show database DBzone1 FastStartFailoverTarget;
      FastStartFailoverTarget = 'DBzone2'
    
    DGMGRL> show database DBzone2 FastStartFailoverTarget;
      FastStartFailoverTarget = 'DBzone1'
  5. Inicie o processo do observador na VM do observador. Para executar o observador em segundo plano:
    export WALLET_DIR=/u01/app/oracle/product/23.26.0/dbhome_1/network/admin/wallet
    mkstore -wrl $WALLET_DIR -create
    mkstore -wrl $WALLET_DIR -createCredential 'DBZONE1' sysdg <password>;
    mkstore -wrl $WALLET_DIR -createCredential 'DBZONE2' sysdg <password>;
    mkstore -wrl $WALLET_DIR -createCredential 'HASERVICE' sysdg <password>;
    
    vi /u01/app/oracle/product/23.26.0/dbhome_1/network/admin/sqlnet.ora
    WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /u01/app/oracle/product/23.26.0/dbhome_1/network/admin/wallet)))
    SQLNET.WALLET_OVERRIDE = TRUE
    
    dgmgrl SYS@DBZONE1
    DGMGRL> START OBSERVER observer3 IN BACKGROUND FILE IS /home/oracle/observer3.dat LOGFILE IS /home/oracle/observer3.log CONNECT IDENTIFIER IS haservice;
    Submitted command "START OBSERVER" using connect identifier "haservice"
    
    DGMGRL> show observer
    Configuration - db26_dgconf
      Fast-Start Failover:     DISABLED
    Observer "observer3"(23.26.0.0.0)
      Host Name:                    fsfovm3
      Last Ping to Primary:         6 seconds ago
      Log File:                     /home/oracle/observerz3.log
      State File:                   /home/oracle/observerz3.dat
  6. Ative o Failover de Inicialização Rápida para a configuração.
    DGMGRL> enable fast_start failover
    Enabled in Zero Data Loss Mode.
  7. Verifique se o observer e o status da configuração mostram o Failover de Inicialização Rápida como ativado.
    DGMGRL> show observer
    Configuration - db26_dgconf
      Fast-Start Failover:     ENABLED
      Primary:            DBzone1
      Active Target:      DBzone2
    Observer "observer3"(23.26.0.0.0) - Master
      Host Name:                    fsfovm3
      Last Ping to Primary:         1 second ago
      Last Ping to Target:          2 seconds ago
      Log File:                     /home/oracle/observerz3.log
      State File:                   /home/oracle/observerz3.dat
    
    DGMGRL> show configuration
    Configuration - db26_dgconf
      Protection Mode: MaxAvailability
      Members:
      DBzone1 - Primary database
        DBzone2 - (*) Physical standby database
    Fast-Start Failover: Enabled in Zero Data Loss Mode
    Configuration Status:
    SUCCESS   (status updated 13 second ago)
    
    DGMGRL> show fast_start failover
    Fast-Start Failover: Enabled in Zero Data Loss Mode
    ...

O observador está em execução e o Failover de Inicialização Rápida está ativado para a configuração do Data Guard.