Informix 9.21 no termina de crear una instancia

Hola gente. Tengo un windows 2003 en una máquina virtual en la red de la facultad, lo accedo con el escritorio remoto, le instalé Informix Server 9.21. Trato de crear una intancia de 2047 MB para la base, al sbspace le asigno 500 MB, todo en una unidad D de 119 GB, sin espejado. Se crea el rootdbs (de 30 MB) y 2 minutos después sale el mensaje “Unable to initialize the Dynamic Server. Check Event Viewer’s Security log and C:\PROGRA…1\informix\ol_guarani.log file for additional information.” La clave del usuario informix cumple las directivas de seguridad y pertenece al grupo Informix-Admin. Transcribo el contenido de ol_guarani.log (“ol_guarani” es el nombre de la instancia, existe otra en la red, con todos los nombres y puertos iguales, excepto la IP)

09:09:35 Booting Language from module <>
09:09:35 Loading Module
09:09:35 Booting Language from module <>
09:09:35 Loading Module
09:09:40 Informix Dynamic Server 2000 Version 9.21.TC4 Software Serial Number AAD#J207782
09:09:49 Informix Dynamic Server 2000 Initialized – Complete Disk Initialized.
09:09:49 Checkpoint Completed: duration was 0 seconds.
09:10:04 Checkpoint loguniq 1, logpos 0xc0

09:10:04 Dataskip is now OFF for all dbspaces
09:10:04 On-Line Mode
09:10:04 Building ‘sysmaster’ database …
09:10:20 Logical Log 1 Complete.
09:10:21 Fuzzy Checkpoint Completed: duration was 1 seconds, 11 buffers not flushed.
09:10:21 Checkpoint loguniq 2, logpos 0x41094

09:10:26 Logical Log 2 Complete.
09:10:27 Booting Language from module <>
09:10:27 Loading Module
09:10:31 Logical Log 3 Complete.
09:10:32 Fuzzy Checkpoint Completed: duration was 0 seconds, 17 buffers not flushed.
09:10:32 Checkpoint loguniq 4, logpos 0x4975c

09:10:36 Unloading Module
09:10:36 Logical Log 4 Complete.
09:10:51 ‘sysmaster’ database built successfully.
09:10:52 ‘sysutils’ database built successfully.
09:10:58 Init operation complete - Mode Online Initialized
09:15:34 Fuzzy Checkpoint Completed: duration was 0 seconds, 11 buffers not flushed.
09:15:34 Checkpoint loguniq 5, logpos 0xff094

09:20:33 Fuzzy Checkpoint Completed: duration was 0 seconds, 11 buffers not flushed.
09:20:33 Checkpoint loguniq 5, logpos 0x100094

Javier:

Algunas consideraciones:

  1. Es una nueva instancia del motor? O sea en un servidor que ya tenés 1 instancia (digamos ol_pepito) estás creando una nueva instancia ol_guaraní?
  2. 30 MB para un rootdbspace es extremadamente poco. Puede ser que se quede sin espacio y no puede terminar de crear la instancia.
  3. 500 GB para un sbspace inicial es una exageración. Se puede crear un sbspace chico y cuando lo vayas a necesitar se crea otro más grande.
  4. No te olvides que al principio los logical logs se crean en el rootdbspace, si no tenés suficientes logical logs o si se llenan o si no los puede crear por falta de espacio, puede ser otro motivo por el cual nunca termine. El default creo que eran 6 logical logs.
  5. Editá el ONCONFIG, cambiale el tamaño al rootdbspace y al sbspace, cambiá la cantidad de lógical logs y la cantidad máxima de logical logs y reinicializa el motor con oninit -iy -v y fijate si termina.
  6. Otra cosa: yo tuve muchos problemas con el Escritorio Remoto para administrar servidores virtuales en Windows. En muchos casos al entrar en la consola de Informix no admitía los comandos básicos para monitorear y administrar.

Fijate también que te dice el Event Viewer’s Security log sobre tu problema (a ver si hay problemas de permisos) y pasanos el ONCONFIG para tener más info y poder ayudarte.

Saludos

Gustavo

Es la única instancia del motor. Hice todos los cambios en el onconfig y corrí oninit -iy -v. El último mensaje dice que el rootdbs es chico. Esto no había pasado nunca, y siempre usé la misma versión de informix. Cuando creo la instancia con el Server Instance Manager, el tamaño del rootdbs es el único que no se puede decidir, siempre se crea con 30 Mb. Se puede crear la instancia con comandos manuales para darle mas espacio al rootdbs?

Si se puede crear. Fijate el punto 5 de lo que respondió Gustavo.
Tambien podes cambiar la cantidad de logical logs, su tamaño y el tamaño del Fisical log y otros parámetros antes de crear la instancia manualmente con el comando oninit. Fijate que hay varios post en el foro de tecnicos por este mismo tema.
Saludos.

Disculpen que responda una vez por semana. Ya puse en línea una base, puedo conectarme, luego de varios cambios en el archivo de configuración y de probar con opciones de oninit. Lo único que falta arreglar es que si se reinicia el servidor, no arranca el servicio automáticamente, aunque en la ventana de servicios lo muestra iniciado, hay que abrir la línea de comandos y arrancarlo con oninit. Cómo dejo en arranque automático?

El motor esta en Widnows, no?
¿Windows informa algun error? Revistaste el log de eventos?

Probaste conectarte desde el sistema o el sqleditor y efectivamente esta off-line el motor?
Me ha sucedido que si voy por linea de comandos, al consultar el estado del motor me indica que esta off-line pero en realidad el motor esta on-line y desde esa sesion de DOS no reconoce que el motor esta on-line y para tirar cualquier comando debo iniciarlo con oninit, para si luego poder correr el onstat, dbexport, etc…

Hola

Aqui hay un foro anterior que parece ser el mismo problema . Al final esta la solucion, cambiaron el usuario con que levantan el servicio,

http://foro.comunidad.siu.edu.ar/index.php?topic=5232.msg21277

CUIDADO que mencionan un oninit -ivy, ese comando no lo ejecutes, porque BORRA toda la instancia de Informix

saludos

Ignacio

Ya probé todo y nada. Creo un archivo .bat para que se corra si el equipo se reinicia, con el comando oninit al final. Ejecuto el .bat desde el escritorio para probarlo y el oninit no se ejecuta, todos los demás comandos corren. Paso el contenido del bat

set INFORMIXDIR=C:\PROGRAM FILES\informix
set INFORMIXSERVER=ol_guarani
set ONCONFIG=ONCONFIG.ol_guarani
set PATH=C:\PROGRAM FILES\informix\bin;%PATH%;
set INFORMIXSQLHOSTS=\EQUIPO747
set DBTEMP=C:\PROGRAM FILES\informix\infxtmp
set CLIENT_LOCALE=EN_US.CP1252
set DB_LOCALE=EN_US.8859-1
set SERVER_LOCALE=EN_US.CP1252
set DBLANG=EN_US.CP1252
mode con codepage select=1252
start /i oninit /D C:\PROGRAM FILES\informix\bin

No estoy seguro si el start está bien, se supone que es para que se abra una sesión y quede corriendo el oninit

Javier:

Si es Windows, el Informix debiera estar instalado y arrancarse como un servicio. Lo tenés en la lista de servicios? Lo modificaste para que el arranque sea automático y no manual?

Por otra parte, cuando se instala se genera un acceso a la consola en DOS, con las sentencias de seteo para el arranque correcto de la consola. Si accedes por la consola podés hacer un oninit -v, que te irá indicando cada paso que se completa y finalmente si hay un error te lo indicará. Si todo termina bien, se queda con un mensaje que está arrancado. Si abrís otra ventana de la consola con el comando onstat - te indicará si el motor está corriendo. Si cerrás la consola en la cual se ejecutó el oninit, el motor se baja.

Podrás probar esas cosa y decirnos que sucede? Podrás responder las preguntas sobre la instalación como servicio?

Saludos

Gustavo

El sistema operativo es Windows 2003 Server R2, el Informix está en la lista de servicios, el arranque es automático, la sesión de windows está abierta con el usuario informix, que es el mismo que está declarado en el arranque del servicio. El servicio siempre está en estado iniciado, pero la base no entra en línea si no ejecuto oninit.
Oninit -v termina bien, queda la base en línea, comprobado con onstat -

Hola

POdrias en el .bat reemplazar la linea que hace el start por la siguiente:

starts ol_guarani

es equivalente al oninit -v, levanta la base

para bajarla desde la linea de comandos podes usar un onmode -ky

saludos
Si queres te armo un print screen de ejemplo para que veas que funciona OK

saludos

Hola

Otra desde windows.
Fijate los permisos que tiene el usuario que inicia el servicio. En todo caso intentá meterlo en el grupo Administradores. Fijate que pueda leer y escribir el directorio del informix y de los dbspaces.

Cuidado con la clave de ese usuario. En el servicio vos tenes que poner la clave que tiene el usuario. Si despues la cambias, tenes que cambiarla manualmente en el servicio.

Emilio

Después de pruebas exhaustivas, el problema que subsiste puede describirse así: Cuando el servidor se reinicia, arranca el servicio de informix, pero la base no entra en línea. Debo abrir una sesión de comandos y correr oninit “nombre_instancia” para que la base entre en línea. Con el servicio iniciado y la base fuera de línea no sirve correr starts “nombre_instancia”, devuelve “Startservice() failed: 0: La operación se ha completado correctamente”. Si incluyo start oninit “nombre_instancia” en un archivo .bat o .cmd, con el seteo de variables necesarias, abre una ventana con oninit y unos segundos después se cierra sin poner la base en línea. Al comando START lo he probado con diversas opciones y da lo mismo. Otro detalle: con oninit la base entra en línea, si abro otra sesión y ejecuto onmode -k la base sale de línea pero el servicio queda en estado iniciado