Error en conversión - SQL Error (-959)

Hola
Estoy corriendo los scripts de conversión para llevar la base de la versión 2.9.3 a 2.9.4.
El script script_00011.sql falla en la siguiente parte:


-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Ticket 838 - Turnos de examen
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ALTER TABLE sga_turnos_examen ADD FECHA_CITACION_DOC DATE;
ALTER TABLE log_turnos_examen ADD FECHA_CITACION_DOC DATE;

Con el siguiente mensaje:

SQL Error (-959): The current transaction has been rolled back due to an internal error. ISAM error: Unexpected internal error

Mirando el archivo online.log, veo lo siguiente:

16:35:54 Assert Failed: No Exception Handler 16:35:54 IBM Informix Dynamic Server Version 12.10.FC11IE 16:35:54 Who: Session(70, dba@::ffff:10.0.0.2, -1, 0x44dd33b8) Thread(6018, sqlexec, 44d90f28, 1) File: mtex.c Line: 508 16:35:54 Results: Exception Caught. Type: MT_EX_OS, Context: mem 16:35:54 Action: Please notify IBM Informix Technical Support. 16:35:54 See Also: /opt/ibm/informix/tmp/af.1b6a2799 16:35:56 Thread ID 6018 will now be suspended. 16:35:56 Process exited with return code 127: /bin/sh /bin/sh -c /opt/ibm/informix/etc/alarmprogram.sh 4 6 "Internal Subsystem failure: 'MT'" "Thread ID 6018 will now be suspended." "" 6501

Alguna idea de cómo solucionarlo o qué es lo que está sucediendo?
Muchas gracias!
Saludos.

Iris

Hola eso es un error interno de Informix, como si fuera un bug.
Yo sugiero que uses transacciones mas cortas
que vayas cerrando la trasaccion con commit con mas frecuencias.

Hola

Si intento ejecutar esto sólo (sin estar en una transacción ni nada, como query independiente), el error es exactamente el mismo.

ALTER TABLE sga_turnos_examen ADD FECHA_CITACION_DOC DATE;

Así que no viene por el lado de transacción larga…
Alguna otra idea?
A alguien más le pasó lo mismo?

Gracias!

Iris

Como indica Ignacio, el error -959 es un error interno del motor.
¿Si agregas ese campo en otra tabla da el mismo error?
Probaron pasar a modo off-line el motor y volver a levantarlo?

Hola
Si ya probé pasarlo a offline y levantarlo de nuevo para asegurarme no hubiera ninguna otra conexión.
También lo probé en otras tablas, y hasta con un nombre más corto de columna… y sigue fallando con el mismo error.
Pero si creo una tabla nueva y luego le agrego una columna, anda perfecto.
Es como que el error se da sobre las tablas existentes, las que trajo el dbimport.
Hasta probé eliminarle los triggers y las constraints, pero sigue fallando.
El dbimport.out me muestra que termina bien, sin errores, última línea: “dbimport completed”.
Agradeceré la orientación que puedan darme!!
Saludos.

Iris

Fijate de correr el oncheck sobre esa base y ver si el motor reporta algún problema.

Hola Alejandro

Si, ya había probado con:

oncheck -cc

Pero no arroja ningún problema. Valida todo.
Y después de eso la falla con el alter table continúa…

Lo raro es que sólo pasa con la tablas existentes (por el dbimport).
Estoy con usuario dba.
Por las dudas ya hice un “GRANT dba TO dba;”… pero nada.
Y sin solucionar esto no puedo correr los scripts de conversión…

Gracias!!

Iris

Ahi solo checkeaste las tablas del catalogo de Informix.
Deberias verificar los indices y table spaces de las tablas de Guarani: oncheck -ciIdD

Hola Alejandro
La sintaxis es así, tal cual? oncheck -ciIdD
Porque me tira la ayuda…
Gracias por la orientación!
Saludos.

Iris

Hola si podes, para la tabla que da el error ejecuta un oncheck

oncheck -cDI database_name:table_name


This command checks the consistency of the data and index pages within the specified database.

Caution: This command can take a substantial amount of time to complete as oncheck analyses every page within the database/table


El oncheck verifica si la tabla tiene corrupcion o esta OK, pero no corrige.

saludos

Gracias Ignacio
Después de darle muchas vueltas, descubrí que la versión de informix que estaba usando tiene un bug.
La versión 12.10.FC11DE no permite alterar tablas que vienen de un dbimport.
Con la versión 12.10.FC12W1DE ese bug se soluciona.
Así que terminé actualizado el motor.
Por si a alguien más le sirve el dato.
Gracias de todas formas!!
Saludos.

Iris

Gracias Iris por comentar la solución.
Saludos!