Configuración de Oracle Data Guard
Este cuaderno de estrategias proporciona scripts para ayudarle a configurar el entorno de Oracle Data Guard. Estos scripts configuran una base de datos en espera para una base de datos primaria existente mediante la función restore from service
y el agente de Oracle Data Guard.
dg-setup-scripts
utiliza un archivo DG_properties.ini
para definir los entornos principal y en espera.
Los scripts crean 2 archivos tar, un tar del archivo de contraseña principal y un tar de la cartera principal de cifrado de datos transparente (TDE), que se copiará en el nodo de base de datos en espera.
Las secuencias de comandos no realizan cambios en el sistema operativo, como net.core.rmem_max
y net.core.wmem_max
, ni en la unidad de transmisión máxima (MTU). Se recomienda ajustar net.core.rmem_max
y net.core.wmem_max
para un transporte de redo óptimo.
Las siguientes tareas describen cómo ejecutar los scripts para configurar Oracle Data Guard para la base de datos.
Definición de variables de entorno para Oracle Data Guard
Utilice un archivo DG_properties.ini
para preparar el sistema principal para una configuración de Oracle Data Guard. Las secuencias de comandos utilizan los parámetros de DG_properties.ini
para configurar los sistemas principal y en espera. El archivo contiene todos los parámetros de entrada necesarios para las secuencias de comandos. Consulte Ejemplos de archivos DG_properties.ini
en Explorar más.
Hay un archivo DG_properties.ini
de ejemplo disponible en el archivo zip dg-setup-scripts
. Puede personalizar el archivo con los valores de su entorno.
Carga de los scripts
Cargue los scripts en los hosts de base de datos primaria y secundaria de la siguiente forma:
Preparación de los parámetros de Oracle Data Guard para la base de datos principal
Defina los parámetros recomendados de Oracle Data Guard de Oracle Maximum Availability Architecture (MAA) en la base de datos primaria antes de configurar Oracle Data Guard. El script 1_prepare_primary_maa_parameters.sh
configura los parámetros de MAA recomendados para Oracle Data Guard y crea los archivos log en espera.
Nombre de script: |
|
Dónde ejecutar: |
En la base de datos PRIMARY host1 (independientemente de si la base de datos principal es Oracle Real Application Clusters (Oracle RAC) o una única instancia) |
Ejecutar con usuario: |
oracle |
MAA proporciona mejores prácticas de arquitectura, configuración y ciclo de vida para bases de datos Oracle, lo que permite niveles de servicio de alta disponibilidad para bases de datos que residen en configuraciones locales, en la nube o híbridas.
- exportar DB_FLASHBACK_RETENTION_TARGET=1440
- export DB_BLOCK_CHECKSUM=FULL
- export DB_BLOCK_CHECKING=FULL
- export DB_LOST_WRITE_PROTECT=TYPICAL
- exportar LOG_BUFFER=256M
- export STANDBY_FILE_MANAGEMENT=AUTO
Nota:
Según las mejores prácticas de MAA, el parámetroDB_BLOCK_CHECKING
se debe definir en MEDIUM
o FULL
en la base de datos primaria. El script lo define en FULL
. Si la sobrecarga de rendimiento de la activación de DB_BLOCK_CHECKING
en MEDIUM
o FULL
no es aceptable en la base de datos primaria, defina DB_BLOCK_CHECKING
en MEDIUM
o FULL
solo para la base de datos en espera.
Ejecute el script para definir los parámetros antes de configurar Oracle Data Guard. Ejecute este script sólo una vez, si la base de datos principal es Oracle Real Application Clusters (Oracle RAC) o una base de datos de instancia única.
Después de definir los parámetros de MAA, la secuencia de comandos crea logs en espera en el directorio ONLINE_LOG_DEST1
. Los logs en espera tienen el mismo tamaño que los logs en línea (REDOLOG_SIZE
). Tienen un grupo más que los logs en línea, pero el mismo número de threads.
Preparación del sistema principal para Oracle Data Guard
Prepare los hosts principales para una configuración de Oracle Data Guard y cree los archivos de salida que se necesitan más adelante en los hosts de base de datos en espera.
Nombre de script: |
|
Dónde ejecutar: |
En hosts de base de datos PRIMARY. Si Oracle Real Application Clusters (Oracle RAC): ejecútelo primero en el host de base de datos principal 1 y, a continuación, en el host de base de datos principal 2. |
Ejecutar con usuario: |
oracle |
2_dataguardit_primary.sh
crea los siguientes archivos de salida:
- Archivo TAR que contiene el archivo de contraseñas
- Archivo TAR que contiene la cartera de TDE (solo si se utiliza el cifrado de TDE).
Copia de los Archivos de Salida
Asegúrese de colocar los archivos tar en las ubicaciones indicadas por las propiedades INPUT_PASWORD_TAR
y INPUT_WALLET_TAR
(cuando se utiliza TDE) definidas en el archivo DG_properties.ini
.
Preparación del sistema secundario para Oracle Data Guard
Prepare el nuevo host secundario (en espera), cree la base de datos en espera y configure Oracle Data Guard Broker en el nodo de base de datos secundario.
Nombre de script: |
|
Dónde ejecutar: |
En los nuevos hosts de base de datos STANDBY. Si Oracle Real Application Clusters (Oracle RAC): primero se ejecuta en el host de base de datos en espera 1 y, a continuación, en el host de base de datos en espera 2. |
Ejecutar con usuario: |
root |
La secuencia de comandos 3_dataguardit_standby_root.sh
prepara los nuevos hosts de base de datos en espera mediante la supresión de la base de datos existente y la configuración de los artefactos necesarios (alias TNS, cifrado NET, archivo de contraseñas y cartera de cifrado de datos transparente (TDE)). A continuación, crea y configura la base de datos en espera mediante la función Oracle Recovery Manager (RMAN) restore from service
y configura el broker de Oracle Data Guard.
La secuencia de comandos 3_dataguardit_standby_root.sh
utiliza las variables de entorno definidas en el archivo DG_properties.ini
. Si el secundario es una base de datos Oracle RAC, ejecute el script en ambos nodos. La mayoría de las acciones se realizan cuando el script se ejecuta en Node1 y se realiza un subjuego de los pasos cuando se ejecuta en Node2. No ejecute el script en Node2 antes de que el script finalice en Node1.
Agregar una entrada TNS para una nueva base de datos en espera
ADDITIONAL_STANDBY=YES
), agregue la entrada TNS que apunta a la base de datos en espera existente anteriormente, en el nuevo archivo tnsnames.ora
de la base de datos en espera y, a la inversa. Asegúrese de que las bases de datos en espera pueden conectarse entre sí al puerto del listener.