Introducción
Oracle Database 12c nos provee un nuevo tipo de rol de Standby database llamado Far Sync, el cual viene en reemplazo a las configuraciones de Standby Database en cascada que en previas versiones uno configuraba y que mantenía ciertas dificultades.
Far Sync
Standby Database nos permite mantener la siguiente configuración.
Figura 1
Donde una
base de datos replica su información con respecto a diferentes standby database
(physical y logical) mediante un coordinador.
Far Sync Standby Database que actúa como coordinador en esta configuración tiene como característica que solo se compone de su parameter file, control file, standby redo logs y archives, carece de data files, esto permite que pueda ser alojado en un servidor con poco espacio de storage y menos procesamiento. Al no contar con data files no puede ser abierto en modo lectura ni tampoco participar como un Active Data Guard.
Far Sync Standby Database que actúa como coordinador en esta configuración tiene como característica que solo se compone de su parameter file, control file, standby redo logs y archives, carece de data files, esto permite que pueda ser alojado en un servidor con poco espacio de storage y menos procesamiento. Al no contar con data files no puede ser abierto en modo lectura ni tampoco participar como un Active Data Guard.
Otras
características que tiene este nuevo rol de Standby Database son las
siguientes:
- No ejecuta operaciones de RECOVER al no
contar con datafiles.
- Soporta Máxima Performance y Máxima
Disponibilidad.
- Cuenta con las opciones de transporte en
ASYNC y compresión de redo.
- Tiene la capacidad de coordinar con la
base de datos Primaria para descubrir y resolver archives logs requeridos para
su sincronización y también los archives que requieren los Standby
Database destinos.
- Si Far Sync Standby Database tiene
problemas de espacio por los archives que recibe entonces envía una
notificación a la base de datos primaria en pro de que este deje de enviar
hasta que se solucione el incidente por espacio.
A continuación se realizará la implementación de una solución con Far Sync Standby Database.
Implementación
La implementación que se desarrollará tendrá una base de datos primaria, un Far Sync Standby Database y una base de datos destino que será un Physical Standby Database. Toda nuestra solución será desplegada en servidores Windows Server 2008 R2.
Inventario
Servidor
|
Rol
|
Servicio de BD
|
DB_UNIQUE_NAME
|
172.68.1.21
|
Primario
|
PROD
|
PROD
|
172.68.1.22
|
Far Sync
Standby Database
|
PROD2
|
PROD2
|
172.68.1.23
|
Physical
Standby Database
|
PROD3
|
PROD3
|
Paso 1
En el servidor donde se alojará el Far Sync Standby Database crearemos su servicio de Windows y su instancia respectiva.
Paso 2
Creamos su control file que será de tipo Far Sync Standby Database.
Este paso es ejecutado en el servidor Primario.
El control file generado debe ser copiado al servidor que tiene el rol Far Sync Standby Database en la ubicación que indique el parámetro CONTROL_FILES de su instancia, ejemplo:
En la instancia del Far Sync Standby Database el parámetro CONTROL_FILES tiene el siguiente valor: *.control_files='C:\oracle\oradata\PROD\control01.ctl'
Por lo cual el control file de tipo Far Sync Standby Database que fue generado en el primario debe ser copiado en dicha ubicación.
Paso 3
Paso 4
Al Far Sync Standby Database creamos sus Grupos de Standby Redo Logs.
Como recomendación la cantidad de Grupos de Standby redo logs que debe crearse debe ser basado en la siguiente fórmula.
Cantidad
de Grupo de Standby Redo Log = Cantidad de Grupos de Redo Log de la BD
Primaria + 1
|
Paso 5
Configuración de parámetros relacionados a la implementación de Far Sync Standby Database.
En la base de datos Primaria:
Parámetro
|
Valor
|
*.db_recovery_file_dest
|
C:\app\oracle\fast_recovery_area
|
*.fal_server
|
PROD2
|
*.log_archive_config
|
DG_CONFIG=(PROD,PROD2,PROD3)
|
*.log_archive_dest_1
|
LOCATION=USE_DB_RECOVERY_FILE_DEST
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PROD
|
*.log_archive_dest_2
El valor
de PROD2 es una entrada en el archivo tnsnames.ora del servidor que permite
la conectividad hacia la base de datos de rol Far Sync Standby Database.
|
SERVICE=PROD2
SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=PROD2
|
En la
base de datos con Rol Far Sync Standby Database:
Parámetro
|
Valor
|
*.db_recovery_file_dest
|
C:\oracle\fast_recovery_area
|
*.db_unique_name
|
PROD2
|
*.log_archive_config
|
DG_CONFIG=(PROD,PROD2,PROD3)
|
*.fal_server
|
PROD
|
*.log_archive_dest_1
|
LOCATION=USE_DB_RECOVERY_FILE_DEST
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PROD2
|
*.log_archive_dest_2
El valor
de PROD3 es una entrada en el archivo tnsnames.ora del servidor que permite
la conectividad hacia la base de datos de rol Physical Standby Database.
Este
parámetro permite que el Far Sync Standby Database envié sus archives e
información de redo a la base de datos Physical Standby Database.
|
SERVICE=PROD3
VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=PROD3'
|
Paso 6
Validamos en el servidor Far Sync Standby Database que comienzan a llegar los archives proveniente de la base de datos Primaria.

Asimismo
validamos en el servidor Primario que ambos servidores (Primario y Far Sync
Standby Database) estén sincronizados.
Hasta este punto tenemos la base de datos Primaria replicando con el Far Sync Standby Database.
Los pasos que siguen a continuación son típicos para implementar un Physical Standby Database.
Paso 7
En el servidor que alojará el Physical Standby Database crearemos su servicio de Windows y su instancia similar como se realizó al Far Sync Standby Database.
Luego
procedemos a configurar los siguientes parámetros en pro que el Physical Standby Database reciba los archives
e información de redo logs que provendrán del Far Sync Standby Database.
En la
base de datos Physical Standby Database:
Parámetro
|
Valor
|
*.db_recovery_file_dest
|
C:\app\oracle\fast_recovery_area
|
*.db_unique_name
|
PROD3
|
*.log_archive_config
|
DG_CONFIG=(PROD,PROD2,PROD3)
|
*.fal_server
|
PROD2
|
*.log_archive_dest_1
|
LOCATION=USE_DB_RECOVERY_FILE_DEST
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PROD3
|
*.log_archive_dest_2
El valor
de PROD2 es una entrada en el archivo tnsnames.ora del servidor que permite
la conectividad hacia la base de datos de rol Far Sync Standby Database.
|
SERVICE=PROD2
VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=PROD2
|
Paso 8
Copiamos todos los datafiles que pertenecen a la base de datos Primaria y la copiamos en el servidor que alojará en el Physical Standby Database.
Luego en el servidor Primario crearemos el control file que servirá para construir el Physical Standby Database.

Paso 9
En el Physical Standby Database crearemos los grupos de standby redo logs.
Paso 10
Iniciamos la aplicación de archives e información de redo en el Physical Standby Database mediante el comando:
SQL> ALTER
DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION USING CURRENT
LOGFILE;
Conclusión
Concluimos que Oracle Database 12c nos trae una manera más sencilla y eficiente de armar soluciones de Standby Database en cascada mediante Far Start Sync Standby Database reemplazando el esquema tradicional que se venía trabajando en las versiones anteriores.
Publicado por Ing. Francisco Riccio. Es un IT Specialist en productos Oracle e instructor de cursos oficiales de certificación Oracle. Está reconocido por Oracle como un Oracle ACE y certificado en productos de Oracle Application & Base de Datos.
e-mail: francisco@friccio.com
web: www.friccio.com
No hay comentarios:
Publicar un comentario