Un ARCHIVE GAP, es una serie de archive redo log files que se crea cuando la base no es capaz de aplicar el siguiente REDO, generado por la base primaria.
Un GAP ocurre cuando:
- Un corte, fallas en la red evitan el envio de logs.
- Creacion de una Nueva Base Standby, con un backup antiguo.
- Shutdown de la Base secundaria cuando Base Primaria esta en modo OPEN.
Cuando reanudamos la transmision por que recuperamos la conexion de red, los servicios de transporte de REDO detectan automaticamente el REDO GAP e intenta resolverlo, enviando un pedido del REDO faltante al sitio primario.
Que tiempo puede llevar resolver un problema de este tipo ?
Cito la documentacion oficial del Oracle:
" El tiempo necesario para resolver un REDO GAP es directamente proporcional al tamaño de GAP e inversamente proporcional al rendimiento efectivo del enlace de red entre la base de datos redo_source y la redo_transport_destination ".
Redo Transport Services tiene dos opciones que pueden reducir el tiempo de resolución del REDO GAP cuando tienen conexiones de rendimiento muy pobre de red y los podemos utlizar de las siguiente manera:
Redo Transport Compression
El atributo de compresión del parámetro LOG_ARCHIVE_DEST_n se puede utilizar para especificar que el redo_transport_compression sea utilizado para comprimir el REDO enviado para resolver un redo_gap.
Parallel Redo Transport Network Sessions
El atributo MAX_CONNECTIONS del parámetro LOG_ARCHIVE_DEST_n se puede utilizar para especificar que más de una sesión de red se utiliza para enviar el REDO necesario para resolver un REDO GAP.
Query que podemos con la cual podemos verificar que tenemos un GAP.
SQL> SELECT * FROM V$ARCHIVE_GAP;THREAD# LOW_SEQUENCE# HIGH_SEQUENCE# ----------- ------------- -------------- 1 258 293
Aqui nos arroja como resultado de analisis, hay que verificar que los archives existan.
De existir, hay que registrarlos.
En caso de no existir los archives necesarios debemos:
- Copiarlos del sitio primario.
- En caso de no encontrarse en el sitio primario bajarlos de un backup.
- Detener el recovery en caso de no usar broker y registrarlos. (En caso de broker no hace falta el registro ni detener el recovery).
De esta manera volvemos a tener nuestra standby aplicando nuevamente y con el GAP resuelto.