Avviare l'Observer e abilitare il failover di avvio rapido

Installare l'observer su una VM di computazione Azure in una zona di disponibilità separata e abilitare il failover di avvio rapido.
L'Observer è un client low-footprint integrato nell'interfaccia CLI DGMGRL e, come qualsiasi altro client, può essere eseguito su una piattaforma hardware diversa dai database server.

Il broker Data Guard automatizza e centralizza la creazione, la manutenzione e l'esecuzione del monitoraggio delle configurazioni Data Guard. Consente di eseguire tutte le operazioni di gestione a livello locale o remoto attraverso le interfacce client del broker:

  • Oracle Enterprise Manager Cloud Control o
  • Interfaccia della riga di comando Data Guard, DGMGRL
La riga di comando DGMGRL fa parte dell'installazione del software Oracle AI Database ed è disponibile all'indirizzo $ORACLE_HOME/bin/dgmgrl. Per abilitare il failover di avvio rapido, effettuare le operazioni riportate di seguito.
  1. Scaricare e installare il client Oracle AI Database nella VM observer. Per Linux x64:
    unzip LINUX.X64_2326100_client.zip
    cd client
    ./runInstaller
    
  2. Creare il file tnsnames.ora con stringhe di connessione per il database primario e in standby. Utilizzare la stringa di connessione consigliata con il nome SCAN:

    Modificare $ORACLE_HOME/network/admin/tnsnames.ora nella VM dell'observer.

    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. Convalidare la connettività ai database primario e in standby.
    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. Controllare la configurazione di Data Guard e le impostazioni di destinazione Fast-Start Failover.
    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. Avviare il processo observer nella VM observer. Per eseguire l'observer in background, effettuare le operazioni riportate di seguito.
    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. Abilita Fast-Start Failover per la configurazione.
    DGMGRL> enable fast_start failover
    Enabled in Zero Data Loss Mode.
  7. Verificare che l'observer e lo stato della configurazione mostrino Fast-Start Failover come abilitato.
    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
    ...

L'observer è in esecuzione e Fast-Start Failover è abilitato per la configurazione Data Guard.