Error al iniciar informix 2.9.1

Hola. Buenos días. Se me presento el siguiente problema. Dejo mensaje que me devuelve el comando al ejecutarlo desde la consola del informix 2.9.1. Tenemos instalado el mismo en un windows 2003 server. Estamos trabajando con la versión del SIU 2.9.4.

COMANDO QUE SE MANDA A EJECUTAR

C:\Program Files\informix>oninit -iyv

PROCESO QUE REALIZA Y AL FINAL SE OBSERVA EL ERROR

Checking group membership to determine server run modesucceeded
Reading configuration file ‘C:\PROGRA~1\informix/etc/ONCONFIG.ol_guarani’…succ
eeded
Creating INFXTMP/.infxdirs … succeeded
Creating infos file “C:\PROGRA~1\informix/etc/.infos.ol_guarani” … “C:\PROGRA~
1\informix/etc/.conf.ol_guarani” … succeeded
Writing to infos file … succeeded
Checking config parameters…succeeded
Allocating and attaching to shared memory…succeeded
Creating resident pool 3452 kbytes…succeeded
Creating buffer pool 40004 kbytes…succeeded
Initializing rhead structure…succeeded
Initializing ASF …succeeded
Initializing Dictionary Cache and SPL Routine Cache…succeeded
Bringing up ADM VP…succeeded
Creating VP classes…succeeded
Onlining 0 additional cpu vps…succeeded
Onlining 1 IO vps…succeeded
Forking main_loop thread…succeeded
Initializing DR structures…succeeded
Forking 1 ‘soctcp’ listener threads…succeeded
Starting tracing…succeeded
Initializing 1 flushers…succeeded
The root dbspace is not large enough for the specified configuration. The actual size is 500000 pages, and the required size is 512891 pages.oninit: Fatal error in shared memory initialization

Estuve indagando en el foro y probé con distintos comando que proponen pero en todos termino obteniendo el siguiente error

C:\Program Files\informix>onstat -d
shared memory not initialized for INFORMIXSERVER ‘ol_guarani’

Si me pueden orientar a ver como puedo hacer para solucionar el problema se los voy a agradecer. Anteriormente este tiempo de problema se solucionaba reiniciando el servidor físicamente pero esta vez no dio resultado.
Saludos y desde ya muchas gracias!!!

Hola Victor

En primer lugar el comando que estas corriendo crear una nueva instancia de Informix borrando la anterior, o sea que atenti a ese tema, ya que podrias estar borrando la instancia de Informix

El error que te da, esta relacionado con el tamano inicial del rootdbs, que se queda corto. Por lo tanto para que funcione bien tenes que editar el archivo onconfig.OL_GUARANI e incrementar el tamano del ROOTDBS de 500000 a 600000.

saludos
Ignacio

Hola Ignacio.
Gracias por responder.
Te comento que estoy intentando hacer lo que me planteas pero ahora me devuelve un error al querer agregar más espacio a mi rootdbs.
Para poder correr los comandos tuve que abrir una consola y ejecutar en la misma con el usuario informix el comando “oninit -v” y recién echo eso abri otro consola donde en esta pude ejecutar los siguientes comandos.
A continuación te indico lo que fui haciendo y los resultados que me fueron dando por parte del informix al ejecutar los comando:

Ejecute el siguiente comando para extender a 2GB el espacio que dispongo en dicho rootdbs_dat.000 y la ejecución me devuelve lo que esta entre comillas.
C:\Program Files\informix>onspaces -a rootdbs -p C:\IFMXDATA\ol_guarani\rootdbs_dat.000 -o 0 -s 2000000
“The chunk specified already exists.”

Entonces lo que pensé fue que los espacio se van agregando en nuevos archivos que deben de sr incrementales, indagando en el foro ejecute el mismo comando con la diferencia que el archivo “rootdbs_dat.000” le cambio por “rootdbs_dat.001” y me dio el mismo error si al archivo le llamo “rootdbs_dat1.000” .
Pego comando y respuesta del informix:

C:\Program Files\informix>onspaces -a rootdbs -p C:\IFMXDATA\ol_guarani\rootdbs_
dat.001 -o 0 -s 2000000

“The file C:\IFMXDATA\ol_guarani\rootdbs_dat.001 does not exist.”

Consulta. Esta bien redactado el comando que se utiliza para ampliar chuck? Si esta bien cual puede ser el problema que no me esta permitiendo agregar?

Paso información que me devuelve mi informix al ejecutar el comando “onstat -d”

C:\Program Files\informix>onstat -d
Informix Dynamic Server 2000 Version 9.21.TC4 – On-Line – Up 00:01:53 – 8
30272 Kbytes

Dbspaces
address number flags fchunk nchunks flags owner name
ebe37d0 1 0x1 1 1 N informix rootdbs
ec22848 2 0x2001 2 1 N T informix temporary
ec22990 3 0x1 3 1 N informix logical_logs
ec22ad8 4 0x1 4 1 N informix physical_logs
ec22c20 5 0x1 5 1 N informix datos
5 active, 2047 maximum

Chunks
address chk/dbs offset size free bpages flags pathname
ebe3918 1 1 0 500000 124758 PO- C:\IFMXDATA\ol_guarani\rootdbs_dat.000
ec222a8 2 2 0 500000 499947 PO- c:\IFMXDATA\ol_guarani\temporary.000
ec22410 3 3 0 511750 261697 PO- c:\IFMXDATA\ol_guarani\logical_logs.000
ec22578 4 4 0 200000 12447 PO- c:\IFMXDATA\ol_guarani\physical_logs.000
ec226e0 5 5 0 500000 496797 PO- c:\IFMXDATA\ol_guarani\datos.000
5 active, 2047 maximum

Adjunto además el archivo de configuración que tengo actualmente en mi SIU.
La ejecución del comando “oninit -v”

C:\Program Files\informix>oninit -v
Checking group membership to determine server run modesucceeded
Reading configuration file ‘C:\PROGRA~1\informix/etc/ONCONFIG.ol_guarani’…succ
eeded
Creating INFXTMP/.infxdirs … succeeded
Creating infos file “C:\PROGRA~1\informix/etc/.infos.ol_guarani” … “C:\PROGRA~
1\informix/etc/.conf.ol_guarani” … succeeded
Writing to infos file … succeeded
Checking config parameters…succeeded
Allocating and attaching to shared memory…succeeded
Creating resident pool 3452 kbytes…succeeded
Creating buffer pool 40004 kbytes…succeeded
Initializing rhead structure…succeeded
Initializing ASF …succeeded
Initializing Dictionary Cache and SPL Routine Cache…succeeded
Bringing up ADM VP…succeeded
Creating VP classes…succeeded
Onlining 0 additional cpu vps…succeeded
Onlining 1 IO vps…succeeded
Forking main_loop thread…succeeded
Initializing DR structures…succeeded
Forking 1 ‘soctcp’ listener threads…succeeded
Starting tracing…succeeded
Initializing 1 flushers…succeeded
Initializing log/checkpoint information…succeeded
Opening primary chunks…succeeded
Opening mirror chunks…succeeded
Initializing dbspaces…succeeded
Validating chunks…succeeded
Initialize Async Log Flusher…succeeded
Forking btree cleaner…succeeded
Initializing DBSPACETEMP list
Checking database partition index…succeeded
Checking location of physical log…succeeded
Initializing dataskip structure…succeeded
Checking for temporary tables to drop
Forking onmode_mon thread…succeeded
Verbose output complete: mode = 5

Se observa que responde bien.
La ejecución del comando “onstat -l” arroja lo siguiente:

C:\Program Files\informix>onstat -l

Informix Dynamic Server 2000 Version 9.21.TC4 – On-Line – Up 00:00:28 – 8
30272 Kbytes

Physical Logging
Buffer bufused bufsize numpages numwrits pages/io
P-1 0 8 0 0 0.00
phybegin physize phypos phyused %used
400035 187500 77476 0 0.00

Logical Logging
Buffer bufused bufsize numrecs numpages numwrits recs/pages pages/io
L-2 0 8 0 0 0 0.0 0.0
Subsystem numrecs Log Space used

address number flags uniqid begin size used %used
c22689c 1 U-B---- 690 32abcd 25000 2 0.01
c2268b8 2 U-B---- 691 300035 25000 2 0.01
c2268d4 3 U-B---- 692 3061dd 25000 2 0.01
c2268f0 4 U-B---- 693 30c385 25000 3 0.01
c22690c 5 U-B---- 694 11899b 25000 2 0.01
c226928 6 U-B---- 695 11eb43 25000 2 0.01
c226944 7 U-B---- 696 124ceb 25000 2 0.01
c226960 8 U—C-L 697 31252d 25000 12 0.05
c22697c 9 U-B---- 685 330d75 25000 2 0.01
c226998 10 U-B---- 686 336f1d 25000 2 0.01
c2269b4 11 U-B---- 687 3186d5 25000 2 0.01
c2269d0 12 U-B---- 688 31e87d 25000 2 0.01
c2269ec 13 U-B---- 689 324a25 25000 2 0.01

El problema concretamente que me esta llevando a indagar es porque el SIU 2.94 versión con la que estamos trabajando actualmente desde el Viernes pasado dejo de funcionar, directamente al querer hacer consultas no responde, si se puede levantar el servicio de la base de datos, también desde el SQLEditor se pueden seleccionar la base.
Pero al ingresar desde el sistema del SIU en el login queda pensando y queda ahí colgado.
Agradecería cualquier orientación a este inconveniente.
Saludos y desde ya muchas gracias!


ONCONFIG.ol_guarani (1).txt (11.2 KB)

Hola Victor, como andas?!

En primer lugar quiero entender que queres hacer, porque el oninit -ivy y el oninit -v son cosas muy diferentes

oninit -v: levanta el informix en una instancia de base de datos existente

oninit -ivy: destruye la instancia de base de datos exstente, borrando todos los datos, y crea una instancia de Informix vacia. sin bases de datos

Por otro lado, el segundo error cuando usas el archivo .001 , el error es distinto, te dice que el archivo .001 no existe, lo tenes que crear previamente vacio, en cero bytes, y volve a ejecutar el onspaces. vas a ver que te lo agrega al rootdbs. Es decir tu rootdbs actual tiene 1 chunk y le vas a agregar un segundo chunk. De esa manera el rootdbs crece en espacio

saludos

Hola Ignacio.
Como te va?
Gracias por responder.
Efectivamente lo que me planteas haciendo los cambios que me pides funciono.
Por otro lado el comando que vengo ejecutando es oninit -v por recomendación en un foro con respecto a esto que venia planteando que desde ya te comento se soluciono.
El motivo fue espacio del rootdbs_dat agregando uno nuevo se resolvió el problema.
Por otro lado tengo una consulta, yo vengo ejecutando para la limpieza de los log el comando “ontape -a”, listo antes para saber estados de los mismos con el comando “onstat -l” y posterior mente ejecuto dicho comando “ontape -a”. Controlando el archivo \informix\etc<nombre instancia motor>.ONCONFIG tengo los siguientes valores indicados en las siguientes parámetros:

LOG_BACKUP_MOD CONT
LTAPEDEV la ruta es la correcta
LTAPESIZE 10000000 (seria 1GB)
LBU_PRESERVE 1 (Para que no se llenen todos los logical logs, sino cuando se llena el ante ultimo pare el motor y deje hacer backup)

Siendo que dispongo de estos parámetros igualmente cada tanto tengo que ejecutar el comando “ontape -a” mi consulta es la siguiente, tengo entendido que puedo utilizar el comando “ontape -c” que tengo entendido hace backup de logs y lo deja en continuo (no devuelve el prompt). Mi duda esta en como automatizo esta tarea para ejecutarla durante el día y con que frecuencia lo debería de programar, hacerlo 2 o 4 veces al día?
Por otro lado yo vengo realizando backup de la base del informix mediante el comando dbimport existe otra forma de hacerlo? Es recomendable seguir con esa forma de generar los backups?
Saludos y gracias!!!

Hola
hacer backup con dbexport y dbimport es bueno, no dejes de hacerlo, la limitacion que tiene es que el dbexport es una foto a un momento dado, nada mas

hacer backup con ontape -a es un poco mejor, ya que si bien en ontape -a es una foto, tambien te permite agregar a esa foto los logs posteriores y de esa manera restaurar una imagen de la base de datos posterior a la foto tomada con ontape -a

pero para que puedas hacer el restore con los logs continuos, tenes que tener una politica de backup de logs logicos bastante consistente

y tambien hacer pruebas de restore de logs

saludos
Ignacio

Hola.
Para dar un fin a este hilo el problema ya fue solucionado.
Saludos!!!