Les quiero enseñar cómo solucionar el error OGG-00446 que me ocurrió en un entorno productivo de BD, con la herramienta GoldenGate.
Problema
Al momento de validar el estado del GoldenGate, evidenciamos un atraso en la replicación.
GGSCI (soyundba) 1> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT ABENDED SOYUNDBA 00:00:00 04:08:25
Accedemos al log del golden y encontramos el siguiente error
2022-01-26 15:42:27 ERROR OGG-00446 Oracle GoldenGate Capture for Oracle, soyundba.prm: Opening file +DG_FRA/arch_65156_894458160.arc in DBLOGREADER mode: (308) ORA-00308: cannot open archived log '+DG_FRA/arch_65156_894458160.arc'
ORA-17503: ksfdopn:2 Failed to open file +DG_FRA/arch_65156_894458160.arc
ORA-15173: entry 'arch_65156_894458160.arc' does not exist in directory '/'
Not able to establish initial position for sequence 65156, rba 9899024.
2022-01-26 15:42:27 ERROR OGG-01668 Oracle GoldenGate Capture for Oracle, sofgrupo.prm: PROCESS ABENDING.
Lo cual provoca la caída del proceso de replicación.
Solución
Lo que debemos realizar, es recuperar el archive donde se encuentra la secuencia que el GoldenGate nos está solicitando.
Identificar la pieza de backup que contiene la secuencia (65156).
[oracle@soyundba ~]$ rman target /
RMAN> list backup;
BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ ---------------
19784 1.84G DISK 00:03:52 26-JAN-22
BP Key: 56337 Status: AVAILABLE Compressed: YES Tag: BCKPARCH
Piece Name: /backup/rman/SOYUNDBA/RmanArch_SOYUNDBA_20220126_20070_1.bck
List of Archived Logs in backup set 19784
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 65153 12328550630568 26-JAN-22 12328554330647 26-JAN-22
1 65154 12328554330647 26-JAN-22 12328557556027 26-JAN-22
1 65155 12328557556027 26-JAN-22 12328561256752 26-JAN-22
1 65156 12328561256752 26-JAN-22 12328577917289 26-JAN-22
1 65157 12328577917289 26-JAN-22 12328579076733 26-JAN-22
1 65158 12328579076733 26-JAN-22 12328579083761 26-JAN-22
Para este caso, vemos que se encuentra en RmanArch_SOYUNDBA_20220126_20070_1.bck, por lo que procederemos a restaurar de la pieza de backup, el archive.
[oracle@soyundba ~]$ rman target /
RMAN> restore archivelog from sequence 65156 until sequence 65156;
-- Si la secuencia está en otro nodo
-- restore archivelog from sequence 65156 until sequence 65156 thread 2;
Subimos nuevamente el extractor
[oracle@soyundba ~]$ ./ggsci
GGSCI (soyundba) 1> info all
GGSCI (soyundba) 2> start SOYUNDBA
De esta manera, si realizamos el seguimiento al log, evidenciamos que no nos vuelve a salir el error.
GGSCI (soyundba) 3> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING SOYUNDBA 00:00:01 00:00:00
Anexos ERROR OGG-00446
Bajo la nota de Oracle (Doc ID 1460154.1) de la cual también podremos obtener la información.