Hola! Estoy migrando una base de guarani de un servidor informix 9.21 en windows 2000 server a otro informix 12.10 sobre debian.
Luego de configurar el motor, archivos y parámetros se lo inicializó sin problemas. Varios inconvenientes se fueron solucionando en la medida que se presentaron, pero entiendo que no está todavia optimizado.
Ahora, el error que aparece cuando se intenta importar una BD es el siguiente :
“458 - Long transaction aborted.
12204 - RSAM error: Long transaction detected.”
Creo que es un problema de espacio, pero no encuentro donde puede estar el problema.
Tenes un error por long transaction. Hay 2 posibles soluciones
achicar la transaccion. eso es del lado de la aplicacion. QUizas sea posible intercalar algun commit dentro de la transaccion. o partirla en varias operaciones separadas. de esa manera, al ser mas chica la transaccion no te dara el error. SI es un dbimport, eso no aplica
Tenes que agregarle mas logs logicos a tu instancia informix. Si haces un onstat -l te muestra cuantos logs logicos tiene. Agregar los logs es un poquito complicado. Se hace con el comando onparams. Si necesitas hacerlo y se te complica contactame que te doy un instructivo mas detallado
saludos
Ojo, no incrementes los parametros LTXHWM y LTXEHWM como solucion porque es riesgoso, Mas aun, deberias tenerlos en 40 y 50.
No le cambió el modo de logging porque el problema es que no la pudo importar. Como el problema es en el IMPORT, tampoco aplica lo que comenta Ignacio en el punto 1.
Si creo que debería aumentar y bastante tanto la cantidad como el tamaño de los logical logs, y los debería generar en un dbspace separado, no en el rootdbspace.
Otra cosa que sería bueno es aumentar los valores de:
SHMVIRTSIZE - The initial size, in KB, of the virtual segment of shared memory
SHMADD - The size, in KB, of additional virtual shared memory segments
sobre todo teniendo en cuenta que tiene un CPU con 32 GB de RAM!!
Los valores que tiene son:
SHMVIRTSIZE 53248
SHMADD 8192
Tranquilamente los puede multiplicar por 4 y quizás mucho más.
Pero para mi lo principal en este caso son los logical logs.
Ignacio, comenzaria a probar aplicando la opcion 2 de tu respuesta: “… agregarle mas logs logicos a tu instancia informix. Se hace con el comando onparams.”
Quisiera hacerlo, y no se como. Me podrias enviar el instructivo que mencionaste?
Buen dia! …con el instructivo enviado pude agregar los logical log al dbspaces de informix (rootdbs) e intente importar una base nuevamente.
El proceso de importacion se colgo en un momento dado, y detecte que el backup de los logical log se habia detenido tambien.
El tamaño del archivo configurado en la variable LTAPEDEV habia llegado a su limite.
Intente poner en modo quiescent el motor para modificar el valor de la variable LTAPESIZE, y ahora el motor quedo en modo Shutting Down. No puedo cambiarlo de estado. Intente con el comando onmode y con el comando shutdown.
Alguna idea de como continuar?
Muchas gracias por su ayuda.
Saludos,
Daniela
FCEQyN - UNaM
vos estas haciendo un dbimport, y al mismo tiempo esta activo el backup de logs logicos ? me gustaria entender un poco que procesos estan activos durante el dbimport. y que error te da.
si el LTAPESIZE llega a su limite, se frena el backup de logs, como si tuvieras que cambiarle una cinta. El backup de Informix, esta orientado a hacerse en cinta, y por eso
trata de cortar con control C o cerrando la terminal el proceso de backup de logs
Hola Ignacio, si los dos procesos estaban corriendo, el dbimport y el ontape –c.
El dbimport no me dio error, quedo como tildado… no avanzo más (por más de una hora).
Casi al mismo tiempo el backup de los logs se freno pidiendo que se monte una nueva cinta.
Verifique el tamaño del archivo configurado en la variable LTAPEDEV y note que habia llegado a su límite. Por eso intente cortarlo para probar otras cosas.
En el servidor actual en produccion (v9.21), no me habia pasado nunca esta situacion. Por eso estoy un poco desorientada.