Configurer un observateur Data Guard sur Google Cloud Compute Engine
Selon vos exigences de haute disponibilité, vous pouvez automatiser le basculement entre les bases de données. Une fois que vous avez validé votre déploiement Data Guard, vous pouvez configurer un observateur Data Guard sur Compute Engine. Un observateur est un processus qui surveille une configuration Data Guard afin d'initier un basculement automatisé si les conditions le justifient.
Ce guide explique comment installer le client de base de données Oracle 19c sur une machine virtuelle (VM) observateur et configurer le basculement rapide.
Les exemples suivants sont utilisés tout au long de ce guide:
Nom de base de données unique | Noms d'hôtes du serveur | Noms d'instance RAC | Rôle |
---|---|---|---|
DBDG_SITE1 | site1db1, site1db2 | DBDG_SITE11, DBDG_SITE12 | Principal |
DBDG_SITE2 | site2db1, site2db2 | DBDG_SITE21, DBDG_SITE22 | Instance de secours |
Installer le logiciel client de base de données Oracle
Créez une machine virtuelle (VM) sur Compute Engine répondant aux critères suivants:
Système d'exploitation Red Hat Enterprise Linux 7
Mise en réseau Un sous-réseau avec des règles de pare-feu autorisant l'accès de votre cloud privé virtuel aux hôtes de la solution Bare Metal qui exécutent les bases de données principale et de secours.
Stockage. -- au moins 20 Go alloués au disque de démarrage.
Connectez-vous à la VM et vérifiez que le nom d'hôte SCAN de chaque cluster de base de données est résolu dans le DNS:
host DBDG_SITE1_SCAN_HOSTNAME host DBDG_SITE2_SCAN_HOSTNAME
Si les noms d'hôte ne sont pas résolus, ajoutez les adresses IP de chaque nom d'hôte SCAN au fichier
/etc/hosts
de la VM. Remplacez les exemples d'adresses IP par les adresses IP de chaque 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
Installez le RPM de la base de données Oracle. Installez uniquement le logiciel. Il n'est pas nécessaire de configurer une base de données sur la VM observateur.
Le RPM de la base de données Oracle installe les logiciels dans un répertoire prédéfini. Incluez les entrées suivantes dans le fichier
/home/oracle/.bash_profile
pour ajouter la page d'accueil du logiciel Oracle au chemin:cat >> /home/oracle/.bash_profile << EOL export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 export PATH=\$PATH:\$ORACLE_HOME/bin EOL
Importez les variables d'environnement Oracle dans votre session de terminal:
source ~/.bash_profile
Configurer la connectivité de la base de données
Configurez les paramètres Oracle Net dans le fichier
$ORACLE_HOME/network/admin/tsnames.ora
.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 version 12.2 et les versions ultérieures d'Oracle Database sont compatibles avec l'exécution de l'observateur en mode arrière-plan. Pour ce faire, vous devez créer un portefeuille afin de procéder à une authentification sans mot de passe sur la base de données. Connectez-vous en tant qu'utilisateur oracle sur la VM observateur et effectuez les tâches suivantes pour créer un portefeuille:
Ajoutez les entrées suivantes à
$ORACLE_HOME/network/admin/sqlnet.ora
:WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /home/oracle/wallet)) ) SQLNET.WALLET_OVERRIDE = TRUE
Créez le répertoire de portefeuille sur la VM hébergeant l'observateur:
mkdir /home/oracle/wallet
Initialisez le portefeuille, puis indiquez un mot de passe pour le portefeuille lorsque vous y êtes invité:
mkstore -wrl /home/oracle/wallet -create
Créez une entrée dans le portefeuille pour chaque base de données dans la configuration Data Guard. La commande
mkstore
demande le mot de passe SYS de la base de données, suivi du mot de passe de portefeuille fourni à l'étape précédente:mkstore -wrl /home/oracle/wallet -createCredential DBDG_SITE1 sys mkstore -wrl /home/oracle/wallet -createCredential DBDG_SITE2 sys
Vérifiez que le portefeuille contient les identifiants associés à chaque base de données dans la configuration de Data Guard. L'argument
-listCredential
demkstore
demande le mot de passe du portefeuille:mkstore -wrl /home/oracle/wallet -listCredential
Connectez-vous à la VM observateur en tant qu'Oracle, puis testez la connectivité aux bases de données principale et de secours. Connectez-vous aux bases de données principale et secondaire avec SQL*Plus à l'aide des identifiants de portefeuille:
sqlplus /@DBDG_SITE1 as sysdba sqlplus /@DBDG_SITE2 as sysdba
Si la configuration du portefeuille aboutit, la commande
sqlplus
se connecte directement à la base de données sans demander de mot de passe.
Configurer et activer le basculement rapide
Créez un répertoire pour stocker la configuration de l'observateur et les fichiers journaux:
mkdir /home/oracle/fsfo
Connectez-vous à l'agent Data Guard sur la base de données principale à l'aide du portefeuille:
dgmgrl CONNECT /@DBDG_SITE1;
Affichez l'état de Data Guard pour vérifier que la configuration est marquée comme
SUCCESS
:SHOW CONFIGURATION;
Activer le basculement rapide "fast_start" (FSFO, fast start failover)
ENABLE FAST_START FAILOVER;
L'activation de FSFO ne permet pas de préparer la configuration pour le basculement automatique. Le basculement automatique nécessite un observateur.
Démarrez Data Guard Observer.
START OBSERVER observer1 IN BACKGROUND FILE IS '/home/oracle/fsfo/observer1_DBDG.dat' LOGFILE IS '/home/oracle/fsfo/observer1_DBDG.log';
Dans une session de terminal distincte, vérifiez la configuration.
SHOW CONFIGURATION VERBOSE;
L'exemple suivant montre le mode détaillé de la commande
show configuration
. Si l'état de la configuration estSUCCESS
, votre configuration est terminée.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