Configura un observador de Data Guard en Google Cloud Compute Engine
Según tus requisitos de alta disponibilidad, es posible que desees automatizar la conmutación por error entre las bases de datos. Después de validar tu implementación de Data Guard, tienes la opción de configurar un observador de Data Guard en Compute Engine para hacerlo. Un observador es un proceso que supervisa una configuración de Data Guard para iniciar una conmutación por error automatizada si las condiciones lo garantizan.
En esta guía, se explica cómo instalar el cliente de base de datos de Oracle 19c en una máquina virtual (VM) de observador y cómo configurar la conmutación por error de inicio rápido.
En esta guía, se usan los siguientes ejemplos:
Nombre único de la base de datos | Nombres de host del servidor | Nombres de instancias de RAC | Rol |
---|---|---|---|
DBDG_SITE1 | site1db1, site1db2 | DBDG_SITE11, DBDG_SITE12 | Principal |
DBDG_SITE2 | site2db1, site2db2 | DBDG_SITE21, DBDG_SITE22 | En suspensión |
Instala el software cliente de Oracle Database
Crea una máquina virtual (VM) en Compute Engine que cumpla con los siguientes criterios:
Sistema operativo. Red Hat Enterprise Linux 7.
Herramientas de redes. Una subred con reglas de firewall que permitan el acceso desde la nube privada virtual a los hosts de la solución Bare Metal que ejecutan las bases de datos principal y en espera.
Almacenamiento. -- Al menos 20 GB asignados al disco de arranque.
Accede a la VM y verifica que el nombre de host de SCAN de cada clúster de la base de datos se resuelva en DNS:
host DBDG_SITE1_SCAN_HOSTNAME host DBDG_SITE2_SCAN_HOSTNAME
Si los nombres de host no se resuelven, agrega las direcciones IP para cada nombre de host de SCAN al archivo
/etc/hosts
en la VM. Reemplaza las direcciones IP de ejemplo por las direcciones IP para cada clúster:# 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
Instala Oracle Database RPM. Instala solo el software. No es necesario configurar una base de datos en la VM de observador.
Oracle Database RPM instala software en un directorio predefinido. Agrega las siguientes entradas a
/home/oracle/.bash_profile
para agregar la página principal del software de Oracle a la ruta de acceso:cat >> /home/oracle/.bash_profile << EOL export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 export PATH=\$PATH:\$ORACLE_HOME/bin EOL
Obtén las variables de entorno de Oracle en la sesión de la terminal:
source ~/.bash_profile
Configura la conectividad de la base de datos
Establece los parámetros de configuración de Oracle Net en el archivo
$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 versión 12.2 de la base de datos de Oracle y las versiones posteriores incluyen compatibilidad para que el observador se ejecute en modo en segundo plano. Para hacerlo, se debe crear una cartera a fin de realizar una autenticación sin contraseña para la base de datos. Accede como el usuario de Oracle en la VM de observador y realiza las siguientes tareas para crear una cartera:
Agrega las siguientes entradas a
$ORACLE_HOME/network/admin/sqlnet.ora
:WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /home/oracle/wallet)) ) SQLNET.WALLET_OVERRIDE = TRUE
Crea el directorio de cartera en la VM que aloja el observador:
mkdir /home/oracle/wallet
Inicializa la cartera y, luego, proporciona una contraseña para la cartera cuando se te solicite:
mkstore -wrl /home/oracle/wallet -create
Crea una entrada en la cartera de cada base de datos en la configuración de Data Guard. El comando
mkstore
solicitará la contraseña de SYS para la base de datos, seguida de la contraseña de la cartera proporcionada en el paso anterior:mkstore -wrl /home/oracle/wallet -createCredential DBDG_SITE1 sys mkstore -wrl /home/oracle/wallet -createCredential DBDG_SITE2 sys
Confirma que la cartera contiene credenciales para cada base de datos en la configuración de Data Guard. El argumento
-listCredential
paramkstore
solicitará la contraseña de cartera:mkstore -wrl /home/oracle/wallet -listCredential
Accede a la VM de observador como Oracle y, luego, prueba la conectividad a las bases de datos principal y en espera. Conéctate a las bases de datos principal y secundaria con SQL*Plus mediante el uso de las credenciales de cartera:
sqlplus /@DBDG_SITE1 as sysdba sqlplus /@DBDG_SITE2 as sysdba
Si la configuración de la cartera se realiza correctamente, el comando
sqlplus
accede directamente a la base de datos sin solicitar una contraseña.
Configura y habilita la conmutación por error de inicio rápido
Crea un directorio para almacenar la configuración del observador y los archivos de registro:
mkdir /home/oracle/fsfo
Conéctate al agente de Guard Data en la base de datos principal con la cartera:
dgmgrl CONNECT /@DBDG_SITE1;
Observa el estado de Data Guard para verificar que la configuración esté marcada como
SUCCESS
:SHOW CONFIGURATION;
Habilita la conmutación por error de inicio rápido (FSFO):
ENABLE FAST_START FAILOVER;
La habilitación de la FSFO no prepara la configuración para la conmutación por error automática. La conmutación por error automática requiere un observador.
Inicia Data Guard Observer:
START OBSERVER observer1 IN BACKGROUND FILE IS '/home/oracle/fsfo/observer1_DBDG.dat' LOGFILE IS '/home/oracle/fsfo/observer1_DBDG.log';
En una sesión de terminal independiente, verifica la configuración:
SHOW CONFIGURATION VERBOSE;
En el siguiente ejemplo, se muestra el modo detallado del comando
show configuration
. Si el estado de la configuración esSUCCESS
, significa que se completó la configuración.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