Informix no levanta, logs file full

Estimados, se nos a presentado un inconveniente grave que no podemos solucionar, el servidor informix se quedó sin espacio en los logical logs y quedó bloqueado, intentamos con las sugerencias que dieron en http://foro.comunidad.siu.edu.ar/index.php?topic=9016.0 pero no logramos solucionar el inconveniente.
¿que nos sugieren para seguir intentando?

Juan Eduardo:

Que versión de Informix tienen? Y que sistema operativo?

Podrás adjuntar el onconfig, y los resultados del onstat - l y del onstat -m?

Y si podes adjuntar el log del motor o al menos la ultima parte del log, mejor.

Saludos

Gustavo

Sistema Operativo Debian GNU/Linux 4.0

Informix Dynamic Server 2000 Version 9.21.UC3

informix@ifxquimvz:~$ onstat -l

Informix Dynamic Server 2000 Version 9.21.UC3 – Fast Recovery (CKPT REQ) – Up 00:18:55 – 839100 Kbytes
Blocked:CKPT

Physical Logging
Buffer bufused bufsize numpages numwrits pages/io
P-2 0 50 0 0 0.00
phybegin physize phypos phyused %used
200035 500000 298630 0 0.00

Logical Logging
Buffer bufused bufsize numrecs numpages numwrits recs/pages pages/io
L-1 9 50 547 9 1 60.8 9.0
Subsystem numrecs Log Space used
OLDRSAM 547 18192

Buffer Waiting
Buffer ioproc flags
L-1 33a898a8 0x1 0

address number flags uniqid begin size used %used
1295d46c 1 U-B---- 266 13d197 50000 50000 100.00
1295d488 2 U-B---- 267 1494e7 50000 50000 100.00
1295d4a4 3 U-B---- 268 155837 50000 50000 100.00
1295d4c0 4 U-B---- 269 161b87 50000 50000 100.00
1295d4dc 5 U—C-L 270 16ded7 50000 50000 100.00

informix@ifxquimvz:~$ onstat -m
– online.log

Tue Apr 23 12:27:55 2019

12:27:55 Event alarms enabled. ALARMPROG = ‘/opt/informix/etc/no_log.sh’
12:27:55 Booting Language from module <>
12:27:55 Loading Module
12:27:55 Booting Language from module <>
12:27:55 Loading Module
12:28:00 Informix Dynamic Server 2000 Version 9.21.UC3 Software Serial Number AAB#J123456
12:28:00 Informix Dynamic Server 2000 Initialized – Shared Memory Initialized.

12:28:00 Physical Recovery Started.
12:28:09 Physical Recovery Complete: 6493 Pages Restored.

12:28:09 Logical Recovery Started.
12:28:09 10 recovery worker threads will be started.
12:37:53 Waiting for Next Logical Log File to be Freed

La ultima parte del log del motor es lo que arroja el onstat -m


onconfig.log.txt (11.3 KB)

Podemos notar que cada vez que se inicia el motor, siempre usa el ultimo log y no toca los demás. Es como si tuviera disponible solo ese.

Por lo que se ve ahi, los logical logs del 1 al 4 tienen el backup realizado con lo cual deberia empezar a usar el nro 1.

Proba correr (si te deja el motor), el comando: onmode -c unblock
Esto fuera a realizar un checkpoint.

Si, ya lo probamos ese comando.

onmode -c unblock

ejecuta pero no hace ni devuelve nada, ni error arroja.

Otra opción ? tampoco deja agregar un log con el comando onparams porque dice que no esta en modo quiscent, pero tampoco esta en modo online.

onmode -l
Este comnado fuera a que pase el flag L (last logical logs) al siguiente logical log que en este caso seria el nro 1.

Con comando onmode -u pasas a modo single user (modo administrativo) pero si esta en modo Fast Recovery no va a dejar cambiar de modo. Fijate que en el log que enviaste uno de lo ultimos comandos durante el inicio de la instancia del motor es el que intenta pasar a modo multiusuario (onmode -m)

Corre el comando ontape -c para dejar corriendo el backup continuo de los logical logs. No se si te va a dejar este comando…

Abri otra linea de comandos del motor, corre el comando onstat - y envia la info que alli muestra que es el estado del motor actualmente

Con el onmode -l no pasa nada, se queda esperando.
El onmode -u no me realiza el cambio de modo.
El ontape -c me arroja lo siguiente:
ontape -c

Performing continuous backup of logical logs.
Logbackup failed - Log backup to device ‘/dev/null’ not allowed

Program over.

Despues en otra consola tiro el onstat -
onstat -

Informix Dynamic Server 2000 Version 9.21.UC3 – Fast Recovery (CKPT REQ) – Up 01:41:19 – 839100 Kbytes
Blocked:CKPT

El ontape -c no te lo deja hacer porque está mal configurado el destino en el ONCONFIG:

Fijate de editar el ONCONFIG y ponerle un device válido. Y después volver a correr el ontape -c.

En la versión 9.21 para Windows ese cambio lo tomaba sin necesidad de reiniciar el motor. No sé en Linux. Fijate si lo podes hacer y vemos.

Otro problema que veo es que tienen muy pocos logical logs en el sistema. Si no me equivoco son la cantidad default cuando se instala el Informix , que no es para nada lo recomendado.

Saludos

Gustavo

Juan Eduardo:

Otra cosa que veo es que los logical logs son ENORMES y son 7 (de 120.000 Kb) segun el ONCONFIG, pero en el onstat -l sólo se listan 5…

No llego a ver donde se crearon esos logical logs, si en el root dbspace (que es de 1 GB) o en el logsdbs.

Podrás ejecutar el comando onstat -d en otra consola (ventana) y pasar el resultado?

El comando onparams no te deja agregar un logical log (será porque no hay espacio para hacerlo??). Probaste si te deja eliminar alguno de los logical logs? Si te dejara hacer esto, podrías probar de eliminar uno y agregar 10 logical logs de 10.000 en lugar de 1 de 120.000. A lo mejor tenes suerte y eso te destraba el tema …

Saludos

Gustavo

Al estar el motor en FAST RECOVERY (que es el estado en que esta el motor cuando se inicia), no va a dejar que crees nuevos logical logs hasta tanto no se pase a modo ONLINE.
Ahi indica que necesita hascer cun checkpoint ((CKPT REQ → Checkpoint Required) el cual deberia hacerse con “onmode -c” pero cuando lo corres no lo hace.

OK.

O sea que esta gente está en el horno si no consiguen hacer el checkpoint? … Tampoco se pueden eliminar logical logs que no estén en uso?

Es triste … porque la única solución para ellos en consecuencia es reinicializar el motor, borrar por lo tanto todos los dbspaces y datos, volverlos a generar y reconfigurar todo y recuperar a partir del ultimo export que tengan … si es que lo tienen … una solución costosisima …

No existe otra alternativa??

Saludos

Habia una herramienta de informix que permitia poder destrabar esa situación, quizas con perdida de datos de la ultima transacción que no fue commiteada a la base de ese log que tiene problemas.
En algun momento se arregló una base que estaba en Windows. Habría que ver si se consigue esa herramienta para Linux

Te acordás que herramienta era?

Gracias.

Gustavo

La de windows creo era tbpatch.

Lo único que encontré en Google que hiciera referencia fue esto …

http://www.verycomputer.com/161_b8c576877f9a99bb_1.htm

Parecieran ser unos aplicativo que te entregaban en Informix para resolver esos problemas, pero sin no se tiene soporte no creo que den bola …

Saludos

Gustavo

Queremos agradecerles a todos las recomendaciones y la atención que nos han brindado!!
Después de haber intentado todo, no fue posible recuperar informix del modo FAST RECOVERY, ayer después del mediodía decidimos levantar un backup del día anterior al momento en que se rompió el informix, hicimos el import de la copia y quedó andando aparentemente todo bien, lo que se perdió fue un día de trabajo y se tratará de replicar lo que se hizo ese día.
Por otro lado, Ignacio me pasó por mail una herramienta que puede servir para estos casos, se llama tb_zero, intentaremos hacer algunas pruebas para ver si recuperamos algo del día crítico.
Nuevamente muchas gracias por estar atentos a nosotros.

Saludos!!