oninit: fatal error in shared memory initialization

Buenas tardes,

Al querer levantar el motor con un oninit -v me sale el error: oninit: fatal error in shared memory initialization

Adjunto el log a ver si me pueden ayudar porque venìa andando bàrbaro y la gente de alumnos me dice que queriendo imprimir unas planillas de asistencia les saltaron un par de errores y de ahì no pude volver a levantar la aplicaciòn.

Saludos,

Christian Vazquez
Universidad Nacional de Moreno


Hola Christian
Por lo que se ve en el log. El motor esta tratando de solicitar mas memoria de intercambio que la que el S.O. le puede dar para poder ayudarte necesitaria que me digas:
¿ versión de S.O.?
¿ cantidad de memoria del servidor ?

y que me pases el onconfig.

podes ver si esto te ayuda
http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp?topic=/com.ibm.admin.doc/admin278.htm

Gracias Carlos, te paso el ONCONFIG.

El SO es Windows Server 2003 con 2 GB de RAM.

Es realmente extraño esto que nos està sucediendo.


Christian, proba bajar el SHMVIRTSIZE ponele 53248 (512M)

Nuevamente gracias por las respuestas.

Probè y nada… Me faltò aclarar (tal vez ayude) que el error me lo tira cuando el oninit està en la linea:
Initializing DBSPACETEMP list…

Harà falta volver a crear los dbspaces y despuès en todo caso levantar un backup? En dicho caso necesitarìa una mano para realizar la tarea…

Gracias!!!

no parece que tenga que ver con los dbspace
en el log del motor fijate en el ultimo arranque qur probaste con el parametro cambia si la linea

Requested shared memory segment size rounded from 1200340KB to 1200384KB

Sigue tirando el mismo número o cambio

el archivo temporal que genera, no te agrega algo de información?

Carlos: La línea sigue con los mismos números.

Emilio: Adjunto el archivo a ver si ayuda!!


fijate si lo podes hacer andar con
oninit -s

y tratar de agregarle un chunk al dbspace que tenes.

Con oninit -s no levanta, tira el mismo error. Como creo un nuevo chunk al dbspace? Me darías una mano con eso?

Gracias!

creo que no se puede si no está andando.
es raro lo que está pasando, salvo que haya algun daño en el dbspace.
vos tenes un solo dbspace y ahi está todo.

segun acabo de leer, puede haber dos cosas, una del sistema, que te falte memoria y otra de los logical logs que estén corruptos.

fijate si se usa toda la memoria de la maquina en el momento de iniciarlo.

por las dudas te ayuda

https://www-304.ibm.com/support/docview.wss?uid=swg21153194

Finalmente tuvimos que recrear la instancia levantando un backup de las bases.
Te paso como quedó el archivo onconfig para que por favor verifiques si los parámetros son correctos o hay algo que me pueda ocasionar inconvenientes.

Muchas gracias,
Laura


Algunos consejos:

PHYSDBS         rootdbs         # Location (dbspace) of physical 

Sería conveniente mover el physical log a otro dbspace:

  • Crear el dbspace:
onspaces -c -d logdbs -p ruta_al_archivo -o 0 -s tamaño
  • Mover el physical log:
onparams  -p -s tamaño -d logdbs

Podría ser un poco mas grande el tamaño del physical log (150 o 200 MB):

PHYSFILE        50000           # Physical log file size (Kbytes)

Tener en cuenta esta medida al dimensionar el tamaño del dbspace en donde se alojará.
Me parecen demasiados logical logs, y también demasiado grandes. Demasiados podrían afectar negativamente el rendimiento en algunos casos.

LOGFILES        49              # Number of logical log files
LOGSIZE         20000           # Logical log size (Kbytes)

Podrían probar con 15 o 20 de 10000 o 15000 como muuuuuucho.
Ahora, también deben revisar en donde están alojando estos logical logs (tratar que no sea en el rootdbs), lo mejor podría ser en otro dbspace (probablemente el mismo en donde está el physical, a gusto).
Para ello:

  • Elliminar todos los que puedas (deben quedar 3 como mínimo, el logid lo sacan con el comando onstat -l):
onparams -d -l logid
  • Agregar logical logs (no pueden ser mas que la variable LOGSMAX
 onparams  -a -d nombre_de_dbspace -s tamaño

Multiplicar por 10 los valores de:

LOCKS           2000           # Maximum number of locks
BUFFERS         2000	# Maximum number of shared buffers