DBAtlas · Atlas de operaciones de bases de datos

Oracle Data Guard 19c physical standby (con Broker; instancia única, Oracle Restart, RAC)

OracleNivel: AvanzadoDuración: 2–4 horas (según el volumen de datos)

Crea una physical standby para una base de datos primary 19c en ejecución con RMAN DUPLICATE … FROM ACTIVE DATABASE y la incorpora al Data Guard Broker. El resultado es una standby que recibe y aplica el redo en tiempo real, una configuración del broker en estado SUCCESS y un switchover probado (opcionalmente, una prueba de failover/reinstate y Fast-Start Failover + observer). Primary y standby pueden ser instancia única, Oracle Restart o RAC; para la operación diaria y las averías de una configuración existente se utiliza la guía de operación de Data Guard.

Topología: Primary (instancia única / Oracle Restart / RAC de 2–8 nodos) + physical standby (instancia única / Oracle Restart / RAC) + observer opcional

Antes de empezar

  • En …todos los nodos standby…el servidor standby… está instalado el software Oracle Database de la misma versión y el mismo RU que la primary (solo software; sin base de datos), con la misma ruta de ORACLE_HOME (…). Misma familia de sistema operativo y mismo endianness.… En la standby está instalado y en ejecución Grid Infrastructure (…clúster…Oracle Restart…) con el mismo RU o uno más reciente.…
  • La base de datos primary es Enterprise Edition. Data Guard está incluido en EE; usar la standby abierta (read only) mientras se aplica el redo requiere una licencia de Active Data Guard.
  • En todos los servidores, el perfil del usuario oracle define ORACLE_HOME=…, ORACLE_SID y PATH (……1, …2 … en los nodos primary…… en la primary…; el perfil de la standby se escribe en esta guía).… En el lado con Grid, el perfil del usuario grid define ORACLE_HOME=… y ORACLE_SID=+ASM… (+ASM1, +ASM2 … en RAC)…; asmcmd y lsnrctl se ejecutan con este perfil.…
  • Todos los servidores se resuelven entre sí por nombre (DNS o /etc/hosts)…; los nombres SCAN (…………, …………) se resuelven en DNS a 3 direcciones… y el puerto …/tcp está abierto en ambos sentidos. El ancho de banda de la red soporta el volumen de redo generado…; para SYNC, latencia de ida y vuelta preferiblemente por debajo de 1–2 ms….
  • En la standby están montados grupos de discos ASM con los mismos nombres que en la primary (…, …) y con suficiente espacio libre.
  • Clusterware/Oracle Restart está en buen estado en la standby…; todos los nodos standby están en el clúster (olsnodes)….
  • En la primary, el redo thread de cada instancia está habilitado (v$thread ENABLED = PUBLIC) y todos los threads tienen el mismo número y tamaño de grupos de online redo.
  • La standby dispone del mismo espacio en disco que la primary para archivos de datos, FRA (… GB) y archive logs.
  • Relojes sincronizados con NTP/chrony; mismas zonas horarias.
  • La primary tiene archivo de contraseñas (REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE) y se conoce la contraseña de SYS. La contraseña no debe contener @, /, " ni espacios (provocan errores en las cadenas de conexión de RMAN/DGMGRL).
  • Si la primary no está en modo ARCHIVELOG, hace falta un reinicio… (se detienen todas las instancias)…; hay una ventana de mantenimiento aprobada para ello. Existe un backup RMAN reciente de la primary.
  • En el servidor del observer está instalado Oracle Client (tipo de instalación Administrator, incluye dgmgrl y mkstore) o el software Database; puede acceder a la primary y a la standby por …/tcp.

Fases de la guía

  • Comprobación previa — Comprobar el estado actual de la primary
  • Preparación de la primary — Definir la FRA (si no existe) · Activar el modo ARCHIVELOG (si es necesario) · Activar force logging y Flashback Database · Configurar los parámetros de Data Guard · Crear los standby redo logs · Verificar el archivo de contraseñas
  • Oracle Net (tnsnames, listener estático) — Añadir las entradas de tnsnames.ora (primary…, cada nodo…) · Añadir los registros estáticos del listener (primary) · Añadir el registro estático del listener (nodo primary …: …) · Abrir el puerto del listener en el firewall… (todos los nodos)…
  • Preparación del servidor standby — Obtener la lista de directorios en la primary y enviarla a la standby · Copiar el archivo de contraseñas a la standby · Copiar el archivo de contraseñas a la standby (desde el registro de Clusterware) · Preparar oratab y el archivo de entorno (standby) · Preparar oratab y el archivo de entorno (nodo standby …: …) · Crear los directorios (standby…, cada nodo…) …
  • Creación de la standby (RMAN DUPLICATE) y Redo Apply — Crear la standby: RMAN DUPLICATE FROM ACTIVE DATABASE · Verificar el estado de la standby · Crear los standby redo logs si faltan (standby) · Eliminar el pfile temporal (standby) · Standby RAC: escribir los parámetros de clúster en el spfile · Standby RAC: trasladar el spfile y el archivo de contraseñas a ASM …
  • Data Guard Broker y modo de protección — Trasladar los archivos de configuración del broker a una ubicación compartida (primary RAC) · Iniciar el broker (primary) · Trasladar los archivos de configuración del broker a una ubicación compartida (standby RAC) · Iniciar el broker (standby) · Crear la configuración del broker · Definir la apply instance (standby RAC) …
  • Prueba de switchover — Prueba de switchover: convertir la standby en primary · Comprobar el estado tras el switchover · Switchback: restaurar los roles originales
  • Flashback en la standby — Activar Flashback Database en la standby
  • Prueba de failover y reinstate — Prueba de failover 1/4: simular una caída de la primary · Prueba de failover 2/4: failover a la standby · Prueba de failover 3/4: arrancar la antigua primary en MOUNT · Prueba de failover 4/4: recuperar la antigua primary como standby (REINSTATE) · Restaurar los roles originales tras el failover
  • Fast-Start Failover y observer — Escribir tnsnames.ora (observer) · Crear un wallet para el observer · Definir el wallet en sqlnet.ora (observer) · Probar la conexión con el wallet (observer) · Configurar las propiedades de Fast-Start Failover · Escribir el script de arranque del observer (observer) …
  • Postinstalación — Configurar la política de borrado de archive logs (primary) · Configurar la política de borrado de archive logs (standby) · Escribir el script de limpieza de archivado (standby…, cada nodo…) · Probar el script manualmente con el entorno de cron (standby…, cada nodo…) · Definir la tarea de cron (standby…, cada nodo…) · Verificar los permisos del archivo de cron …
Abrir el plan paso a paso para su entorno →