[SOLUCIONADO] Error al levantar instancia informix 9.21 en produccion

Hola:

Nos tira el siguiente error al querer levantar la instancia informix en windows server 2003.

11:50:39 Informix Dynamic Server 2000 Started.

Wed Oct 30 11:50:39 2013

11:50:39 Booting Language from module <>
11:50:39 Loading Module
11:50:39 Booting Language from module <>
11:50:39 Loading Module
11:50:44 Informix Dynamic Server 2000 Version 9.21.TC4 Software Serial Number AAD#J113390
11:50:45 Informix Dynamic Server 2000 Initialized – Shared Memory Initialized.

11:50:45 Physical Recovery Started at Page(1:702).
11:51:00 Physical Recovery Complete: 144 Pages Examined 39 Pages Restored.

11:51:00 Logical Recovery Started.
11:51:00 10 recovery worker threads will be started.
11:51:00 Rollforward of log record failed. iserrno = 126
11:51:00 Log Record: log = 183, pos = d9148, type = OLDRSAM:HINSERT(40), trans = 6
11:51:00 Assert Failed: pthdrpage:ptalloc:bad bfget
11:51:00 Informix Dynamic Server 2000 Version 9.21.TC4
11:51:00 Who: Session(8, informix@siuprodn, 0, 0)
Thread(26, xchg_1.9, 0, 1)
File: rspartn.c Line: 5267
11:51:00 Results: Cannot use TBLSpace page for TBLSpace 2099039
11:51:00 Action: Run ‘oncheck -pt 2099039’
11:51:00 stack trace for pid 3860 written to e:\tmp\af.4021cd3
11:51:00 See Also: e:\tmp\af.4021cd3
11:51:02 Releasing server from system block
11:51:05 pthdrpage:ptalloc:bad bfget
11:51:05 Rollforward of log record failed. iserrno = 172
11:51:05 Log Record: log = 183, pos = d92a8, type = OLDRSAM:DELITEM(29), trans = 6
11:51:05 Assert Failed: pthdrpage:ptalloc:bad bfget
11:51:05 Informix Dynamic Server 2000 Version 9.21.TC4
11:51:05 Who: Session(8, informix@siuprodn, 0, 0)
Thread(26, xchg_1.9, 0, 1)
File: rspartn.c Line: 5267
11:51:05 Results: Cannot use TBLSpace page for TBLSpace 2099039
11:51:05 Action: Run ‘oncheck -pt 2099039’
11:51:05 stack trace for pid 3860 written to e:\tmp\af.4021cd3
11:51:05 See Also: e:\tmp\af.4021cd3
11:51:10 pthdrpage:ptalloc:bad bfget
11:51:10 Rollforward of log record failed. iserrno = 172
11:51:10 Log Record: log = 183, pos = d92dc, type = OLDRSAM:ADDITEM(28), trans = 6
11:51:11 Assert Failed: pthdrpage:ptalloc:bad bfget
11:51:11 Informix Dynamic Server 2000 Version 9.21.TC4
11:51:11 Who: Session(8, informix@siuprodn, 0, 0)
Thread(26, xchg_1.9, 0, 1)
File: rspartn.c Line: 5267
11:51:11 Results: Cannot use TBLSpace page for TBLSpace 2099039
11:51:11 Action: Run ‘oncheck -pt 2099039’
11:51:11 stack trace for pid 3860 written to e:\tmp\af.4021cd3
11:51:11 See Also: e:\tmp\af.4021cd3
11:51:16 pthdrpage:ptalloc:bad bfget
11:51:16 Rollforward of log record failed. iserrno = 172
11:51:16 Log Record: log = 183, pos = d9334, type = OLDRSAM:DELITEM(29), trans = 6
11:51:16 Assert Failed: pthdrpage:ptalloc:bad bfget
11:51:16 Informix Dynamic Server 2000 Version 9.21.TC4
11:51:16 Who: Session(8, informix@siuprodn, 0, 0)
Thread(26, xchg_1.9, 0, 1)
File: rspartn.c Line: 5267
11:51:16 Results: Cannot use TBLSpace page for TBLSpace 2099039
11:51:16 Action: Run ‘oncheck -pt 2099039’
11:51:16 stack trace for pid 3860 written to e:\tmp\af.4021cd3
11:51:16 See Also: e:\tmp\af.4021cd3
11:51:18 Releasing server from system block
11:51:21 pthdrpage:ptalloc:bad bfget
11:51:21 Rollforward of log record failed. iserrno = 172
11:51:21 Log Record: log = 183, pos = d9358, type = OLDRSAM:ADDITEM(28), trans = 6
11:51:21 Assert Failed: INFORMIX-OnLine Must ABORT
Critical media failure.
11:51:21 Informix Dynamic Server 2000 Version 9.21.TC4
11:51:21 Who: Session(8, informix@siuprodn, 0, 0)
Thread(18, xchg_1.1, 0, 1)
File: rsmirror.c Line: 1746
11:51:21 stack trace for pid 3860 written to e:\tmp\af.3fa1cd3
11:51:21 See Also: e:\tmp\af.3fa1cd3, shmem.3fa1cd3.0
11:51:27 PANIC: Attempting to bring system down
11:51:27 rsmirror.c, line 1746, thread 18, proc id 3860, INFORMIX-OnLine Must ABORT
Critical media failure…

Como se puede solucionar?.

muchas gracias!!!

Pareciera que tenes algún problema en el disco según este mensaje:

Results: Cannot use TBLSpace page for TBLSpace 2099039

Podes correr algún software para verificar que el disco donde están los dbspaces no tenga problemas en algunos sectores?

Muchas gracias!!!

Esta puesto en una maquina virtual windows.
como cual?

Hola Pablo,

QUe feo mensaje, hay algo mal en el disco y no puede hacer correctamente el proceso de fast recovery que se ejecuta antes de levantar el motor. Al fallar el fast recovery, el Informix decide abortar y no sube.

Fijate que en el mensaje de error te sugiere correr un oncheck -pt 2099039, correlo a ver que te dice, pero ese oncheck no corrije nada , es solo informativo.

Por ultimo, tenes algun backup reciente ?, ontape u dbepxort ?

saludos
Ignacio

Hola:

Pero no levanta la instancia como puedo hacer un dbimport?

muchas gracias!!!

Pablo

Antes de hacer el dbimport, tenes que crear la instancia nuevamente, lo cual significa que tambien hay que crear los dbspaces de datos, temporales, etc. Tenes un onstat -d o mejor un onstat -a de la instancia actual ?, mandalo por aca y te digo que cosas tenes que hacer.

saludos

Hola:

Se ejecutaba el ontape -c, es lo mismo?

muchas gracias1!!

El ontape -c es para dejar corriendo en forma continua el backup de los logical logs.

Pablo,

Si tenes un dbexport de todas las bases, entonces podes
1- recrear la instancia (oninit -i)
2- agregarle los dbspaces (datos, temporales y todos los que ademas tuvieras)
3- agregar logs logicos
4- hacer dbimport de las bases de datos que tengas dbexport.

para estas tareas seria bueno contar con la salida de un onstat -d o aun mejor un onstat -a, asi sabes bien como son los dbspaces y logs que tenes que agregar

Todos los datos de la instancia anterior se van a perder, por eso es necesario contar con un dbexport de cada base de datos
saludos
Ignacio

Hola:

Levante otra instancia e importe la base.
Hago el dbexport bien, pero cuando me fijo si el archivo *.sql que se genera los acentos de esta forma ‘Á’ no los exporta bien?.
Antes los hacia de forma correcta.

Que puede ser?.

Muchas gracias!!!

Hola:

Lo pude solucionar poniendo, como esta marcado, este es el script que tenemos para generar el dbexport.:

set INFORMIXDIR=E:\informix
set INFORMIXSERVER=ol_guarani1
set ONCONFIG=ONCONFIG.ol_guarani1
set PATH=E:\informix\bin;%PATH%;
set INFORMIXSQLHOSTS=\SIUPRODN
set DBTEMP=E:\informix\infxtmp
set CLIENT_LOCALE=EN_US.CP1252
set DB_LOCALE=EN_US.CP1252
set SERVER_LOCALE=EN_US.CP1252
set DBLANG=EN_US.CP1252
mode con codepage select=1252
echo %DATE%
echo %TIME%
set datetimef=%date:~-4%%date:~3,2%%date:~0,2%__%time:~0,2%%time:~3,2%%time:~6,2%
mkdir “E:\dbexports%datetimef%”
onmode -u -y
onmode -m
dbexport prod264 -o “E:\dbexports%datetimef%” > “E:\dbexports%datetimef%”\prod264.txt

Muchas gracias!!!