Error Cannot Allocate Physical Log File

Hola a todos, esta corriendo los script de actualización para pasar a la versión 2.6.5 y en una consulta se quedó ejecutando mucho tiempo, viendo el log veo el error:

Cannot Allocate Physical Log File, 512000 wanted, 499997 available.

Voy al ONCONFIG y seteo:

ROOTSIZE 200000 PHYSFILE 2048000 LOGFILES 51 LOGSIZE 20000 TAPEDEV C:\BackupsTapes\nul LTAPEDEV C:\BackupsTapes\nul

Nunca volvió a levantar Informix, ahora cuando quiere arrancar tira esto:

`10:17:38 IBM Informix Dynamic Server Version 9.40.TC6
10:17:38 Who: Session(1, informix@guaranisrv.GUARANISRV, 0, 00000000)
Thread(6, main_loop(), 0, 1)
File: rspartn.c Line: 7812
10:17:38 Results: Chunk 2 is being taken OFFLINE.
10:17:38 Action: Restore chunk from archive.
10:17:38 stack trace for pid 1476 written to C:\tmp\af.3eef7f2
10:17:38 See Also: C:\tmp\af.3eef7f2
10:17:41 chunk failed sanity check

10:17:41 chunk failed sanity check

10:17:42 I/O error, Primary Chunk ‘C:\IFMXDATA\ol_guaranisrv\ol_guaranisrv_dat.000’ – Offline (sanity)
10:17:44 Assert Warning: Chunk 2 is being taken OFFLINE.
10:17:44 IBM Informix Dynamic Server Version 9.40.TC6
10:17:44 Who: Session(1, informix@guaranisrv.GUARANISRV, 0, 00000000)
Thread(6, main_loop(), 0, 1)
File: rsmirror.c Line: 1895
10:17:44 Results: Dynamic Server will block at next checkpoint
10:17:44 Action: Shutdown (onmode -k) or override (onmode -O)
10:17:44 stack trace for pid 1476 written to C:\tmp\af.3eef7f2
10:17:44 See Also: C:\tmp\af.3eef7f2
10:17:46 Releasing server from system block
10:17:46 Chunk 2 is being taken OFFLINE.
10:17:46 Chunk 2 is being taken OFFLINE.
10:17:47 IBM Informix Dynamic Server Initialized – Shared Memory Initialized.

10:17:47 Physical Recovery Started at Page (1:276).
10:17:47 Physical Recovery Complete: 78 Pages Examined, 78 Pages Restored.
10:17:47 Logical Recovery Started.
10:17:47 10 recovery worker threads will be started.
10:17:47 Fast Recovery Switching to Log 137
10:17:47 Fast Recovery Switching to Log 138
10:17:52 Rollforward of log record failed. iserrno = 135
10:17:52 Log Record: log = 138, pos = 0x1a218c, type = OLDRSAM:DELITEM(29), trans = 5
10:17:52 Rollforward of log record failed. iserrno = 135`

Y se queda generando por HORAS archivos en la carpeta tmp.

A alguien le ha pasado?

Gracias.

Esta dando error en este chunk: C:\IFMXDATA\ol_guaranisrv\ol_guaranisrv_dat.000, y no levanta el dbspace al que pertenece este chunk.

El problema es el tamaño del Fisical Log, el cual es mas grande que el tamaño del dbspace en donde se esta creando.
¿Que dbspace tiene definido el parámetro PHYSDBS ?

Tengo un dbexport que traje de otro servidor

PHYSDBS		rootdbs 	# Location (dbspace) of physical log
PHYSFILE	2048000		# Physical log file size (Kbytes)

El problema se origino en que el PHYLOG esta dimensionado mas grande que el dbspace donde reside. Con bajar el parametro PHYSFILE 2048000 a un valor menor no hubiera ocurrido.

El asunto es que se marco como OFFLINE un chunk, y eso es complicado de arreglarlo. Lo mas facil es si tenes un backup restaurarlo y luego antes de repetir el proceso que fallo cambiar el valor de PHYSFILE a un valor menor, 1638400 (por ejemplo)

Gracias, ya baje el valor de PHYSFILE.

En cuanto al chunk, no tengo backup, se instaló de cero ester server e imagino que se generan cuando se instala Informix? Puedo tratar algo de esto: https://www-01.ibm.com/support/knowledgecenter/SSGU8G_12.1.0/com.ibm.bar.doc/ids_bar_235.htm

fijate el comando onspaces -s si te sirve para pasar el chunk de offline a online

Lo solucioné reinstalando Informix y haciendo un dbimport.

El tema es cuando estoy corriendo los script de actualización (es una versión 2.6.4) no me pase lo mismo (Cannot Allocate Physical Log File), alguna recomendación?

Agustin, podes pasar los datos del onconfig y caracteristicas del servidor?
Asi vemos que modificaciones debes hacer para ajustar la configuracion del informix al servidor donde lo tenes instalado.

Hola Alejandro, te adjunto el ONCONFIG.

Es un servidor que heredé con Windows Server 2012, Intel XEON E3-1220, 8GB de ram.

Mi idea es migrar a Linux, ya estuve virtualizando Ubuntu Server 15 con la versión G3 para ir probando.

Saludos!


ONCONFIG.rar (4.68 KB)

Si el equipo tiene mas de un cpu, podrias cambiar algunos parámetros relacionados con esto.

Adjunto nuevamente el onconfig. Lo que podes hacer es cambiarlo y volver a reiniciar la instancia con “oninit -iv”. Esto va a reiniciar la instancia, es decir borrará todos los dbspaces y creará nuevamente el root dbspcae con el tamaño que especifiqué que es de 2Gb.
Agregué mas logical logs y cambie el tamaño del fisical log.

Igualmente despues podes crear un dbspace para poder alojar alli el Physical log. (Lo cambias de lugar y tamaño con el parámetro onparams)

También deberias crear un dbspace temporal de 2gb y agregar el nombre del dbspace en el parámetro del onconfig DBSPACETEMP.

Deberías setear correctamente el archivo a donde vas a hacer backup de la instancia, parámetro TAPEDEV que actualmente tenes el nombre “C:\BackupsTapes\NUL”, es decir que va a crear un archivo llamado NUL donde se hará el backup. Si no queres hacer backup simplemente debes poner NUL.
Aunque es recomendable que hagas backup (con el parámetr ontape) tanto de las bases de datos como de los logical logs, con lo cual deberias setear correctamente los nombres de los archivos a donde haras backup (TAPEDEV y LTAPEDEV).


ONCONFIG_IFES.rar (4.68 KB)

Gracias Alejandro, ayer ejecuté este comando y realizé upgrades en la base de datos hasta la versión 2.8.0 sin problemas:

onspaces -a ol_guaranisrv -p C:\IFMXDATA\ol_guaranisrv\ol_guaranisrv_dat.001 -o 200 -s 2000000 -m D:\IFMXDATA\ol_guaranisrv\ol_guaranisrv_mirr.001 200