Configurare un osservatore di Data Guard su Google Cloud Google Compute Engine
A seconda dei requisiti di alta disponibilità, potresti voler automatizzare il failover tra i database. Dopo aver convalidato il deployment di Data Guard, puoi configurare un osservatore Data Guard su Compute Engine per eseguire questa operazione. Un osservatore è un processo che monitora una configurazione di Data Guard per avviare un failover automatico se le condizioni lo richiedono.
Questa guida illustra l'installazione del client di database Oracle 19c su un osservatore macchina virtuale (VM) e la configurazione del failover ad avvio rapido.
In questa guida vengono utilizzati i seguenti esempi:
Nome univoco database | Nomi host del server | Nomi istanze RAC | Ruolo |
---|---|---|---|
DBDG_SITE1 | site1db1, site1db2 | DBDG_SITE11, DBDG_SITE12 | Principale |
DBDG_SITE2 | site2db1, site2db2 | DBDG_SITE21, DBDG_SITE22 | Standby |
Installa il software client Oracle Database
Crea una macchina virtuale (VM) su Compute Engine che soddisfa i seguenti criteri:
Sistema operativo. Red Hat Enterprise Linux 7.
Networking: Una subnet con regole firewall che consentono l'accesso Virtual Private Cloud agli host Bare Metal Solution che eseguono l'istanza principale e quella in standby o Microsoft SQL Server.
Spazio di archiviazione. -- Almeno 20 GB allocati nel disco di avvio.
Accedi alla VM e verifica che il nome host SCAN di ciascun cluster di database si risolve in DNS:
host DBDG_SITE1_SCAN_HOSTNAME host DBDG_SITE2_SCAN_HOSTNAME
Se i nomi host non vengono risolti, aggiungi gli indirizzi IP per ogni nome host SCAN al file
/etc/hosts
sulla VM. Sostituisci gli indirizzi IP di esempio con gli indirizzi IP di ciascun cluster:# Site 1 SCAN Hosts 192.0.2.10 DBDG_SITE1_SCAN_HOSTNAME 192.0.2.11 DBDG_SITE1_SCAN_HOSTNAME 192.0.2.12 DBDG_SITE1_SCAN_HOSTNAME # Site 2 SCAN Hosts 198.51.100.10 DBDG_SITE2_SCAN_HOSTNAME 198.51.100.11 DBDG_SITE2_SCAN_HOSTNAME 198.51.100.12 DBDG_SITE2_SCAN_HOSTNAME
Installa l'RPM del database Oracle. Installa solo il software. Non è necessario configurare un database sulla VM osservatore.
L'RPM Oracle Database RPM installa il software in una directory predefinita. Aggiungi le seguenti voci a
/home/oracle/.bash_profile
per aggiungere la home page del software Oracle al percorso:cat >> /home/oracle/.bash_profile << EOL export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 export PATH=\$PATH:\$ORACLE_HOME/bin EOL
Specifica le variabili di ambiente Oracle nella sessione del terminale:
source ~/.bash_profile
configura la connettività del database
Configura le impostazioni di Oracle Net in
$ORACLE_HOME/network/admin/tsnames.ora
file:DBDG_SITE1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = DBDG_SITE1_SCAN_HOSTNAME)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = DBDG_SITE1) (UR=A) ) ) DBDG_SITE2 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = DBDG_SITE2_SCAN_HOSTNAME)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = DBDG_SITE2) (UR=A) ) )
La versione 12.2 e successive di Oracle Database include il supporto per l'esecuzione dell'osservatore in modalità di sfondo. A tale scopo, è necessario creare un portafoglio per eseguire l'autenticazione senza password nel database. Accedi come utente Oracle sulla VM di osservazione ed esegui le seguenti attività per creare un portafoglio:
Aggiungi le seguenti voci a
$ORACLE_HOME/network/admin/sqlnet.ora
:WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /home/oracle/wallet)) ) SQLNET.WALLET_OVERRIDE = TRUE
Crea la directory del portafoglio sulla VM che ospita l'osservatore:
mkdir /home/oracle/wallet
Inizializza il wallet, quindi fornisci una password quando richiesto:
mkstore -wrl /home/oracle/wallet -create
Crea una voce nel portafoglio per ogni database nella configurazione di Data Guard. Il comando
mkstore
richiederà la password SYS per il database, seguita dalla password del portafoglio fornita nel passaggio precedente:mkstore -wrl /home/oracle/wallet -createCredential DBDG_SITE1 sys mkstore -wrl /home/oracle/wallet -createCredential DBDG_SITE2 sys
Verifica che il portafoglio contenga le credenziali per ogni database nella configurazione di Data Guard. L'argomento
-listCredential
permkstore
richiederà la password del portafoglio:mkstore -wrl /home/oracle/wallet -listCredential
Accedi alla VM di monitoraggio come Oracle e poi testa la connettività ai database principale e di standby. Connettiti ai database principale e secondario con SQL*Plus utilizzando le credenziali del portafoglio:
sqlplus /@DBDG_SITE1 as sysdba sqlplus /@DBDG_SITE2 as sysdba
Se la configurazione del portafoglio è andata a buon fine, il comando
sqlplus
accede direttamente al database senza chiedere una password.
Configura e abilita il failover di avvio rapido
Crea una directory per archiviare la configurazione dell'osservatore e i file di log:
mkdir /home/oracle/fsfo
Connettiti al broker Data Guard sul database principale utilizzando il portafoglio:
dgmgrl CONNECT /@DBDG_SITE1;
Visualizza lo stato di Data Guard per verificare che la configurazione sia contrassegnata come
SUCCESS
:SHOW CONFIGURATION;
Abilita il failover ad avvio rapido (FSFO):
ENABLE FAST_START FAILOVER;
L'abilitazione di FSFO non rende la configurazione pronta per il failover automatico. Il failover automatico richiede un osservatore.
Avvia Data Guard Observer:
START OBSERVER observer1 IN BACKGROUND FILE IS '/home/oracle/fsfo/observer1_DBDG.dat' LOGFILE IS '/home/oracle/fsfo/observer1_DBDG.log';
In una sessione del terminale separata, verifica la configurazione:
SHOW CONFIGURATION VERBOSE;
L'esempio seguente mostra la modalità dettagliata del comando
show configuration
. Se lo stato di configurazione èSUCCESS
, la configurazione è completata.Configuration - DBDG Protection Mode: MaxAvailability Members: DBDG_SITE1 - Primary database DBDG_SITE2 - Physical standby database (*) Fast-Start Failover target Properties: FastStartFailoverThreshold = '30' OperationTimeout = '30' TraceLevel = 'USER' FastStartFailoverLagLimit = '45' CommunicationTimeout = '180' ObserverReconnect = '0' FastStartFailoverAutoReinstate = 'TRUE' FastStartFailoverPmyShutdown = 'TRUE' BystandersFollowRoleChange = 'ALL' ObserverOverride = 'FALSE' ExternalDestination1 = '' ExternalDestination2 = '' PrimaryLostWriteAction = 'CONTINUE' ConfigurationWideServiceName = 'DBDG_CFG' Fast-Start Failover: Enabled in Potential Data Loss Mode Lag Limit: 45 seconds Threshold: 30 seconds Active Target: DBDG_SITE2 Potential Targets: "DBDG_SITE2" DBDG_SITE2 valid Observer: observer1 Shutdown Primary: TRUE Auto-reinstate: TRUE Observer Reconnect: (none) Observer Override: FALSE Configuration Status: SUCCESS