Problema Login Autogestion 2.8.3

Buenos Días: debido a los problemas que tenemos con el autogestion 2.8.1 estamos en proceso de migracion al autogestion 2.8.3, pero al estar realizando algunas pruebas, existe alumnos que no puede ingresar al autogestión, ponen el usuario y pass y la pantalla le queda en blanco… pero no todos los alumnos tienen ese problema.

clase: kernel\error_kernel_db mensaje: SQL ERROR: SQLSTATE[HY000]: General error: -243 [Informix][Informix ODBC Driver] Informix]Could not position within a table (dba.gda_anuncios). (SQLExecute[-2$
SELECT count(*) as total,
SUM(CASE WHEN gda_anuncios_log.fecha_lectura IS NULL THEN 0 ELSE 1 END) as leidos
FROM gda_anuncios, gda_anuncios_log
WHERE gda_anuncios_log.anuncio = gda_anuncios.anuncio
AND gda_anuncios_log.unidad_academica = ‘ARTES’
AND gda_anuncios_log.nro_inscripcion = ‘ARTES-2761’
AND TODAY BETWEEN gda_anuncios.fecha_desde AND gda_anuncios.fecha_hasta

Cual puede ser el error??

Muchas Gracias


20150305_123930___6808.txt (23.9 KB)

Puede ser que este roto algun índice o tablespace de alguna de esas tablas que se consultan…

Fijate de correr el comando oncheck sobre esas dos tablas:


oncheck -ciId nombre_base:dba.gda_anuncios_log
oncheck -ciId nombre_base:dba.gda_anuncios

Luego en la base completa:

oncheck -ciId nombre_base

Alejandro Gracias por responder

no me repara los índices… que debería hacer??

Hola

podrias bajar y subir el informix y volver a probar si se repite el error ?

si se vuelve a repetir, podes ejecutar un onstat -a y un onstat -g all y adjuntar la salida de ambos comandos aqui en el foro?

por ultimo no podes copiar y pegar el select que da el error (SELECT count(*)… ) y ejecutarlo desde un dbaccess ? y comentarnos que error te da

saludos
Ignacio

este error me tira con el oncheck sobre la tabla que tiene drama:
[b]ARNING: index check requires a s-lock on tables whose lock level is page.

Validating indexes for siu_fayd_v208:dba.gda_anuncios…
Index in_anuncios_fecreg
Index fragment in DBspace datos
ERROR:No data row exists for btree item.
Btree item contains fragid 0x500702 rowid 0x101, key value:
Key: “Ç<14><08><08><0b><0e>5<1b>”:
Index 934_5213
Index fragment in DBspace datos
ERROR:No data row exists for btree item.
Btree item contains fragid 0x500702 rowid 0x101, key value:
Key: 1:
Index 934_5577
Index fragment in DBspace datos
ERROR:No data row exists for btree item.
Btree item contains fragid 0x500702 rowid 0x101, key value:
Key: “ARTES”:“<00>”:
Index 934_5578
Index fragment in DBspace datos
ERROR:No data row exists for btree item.
Btree item contains fragid 0x500702 rowid 0x101, key value:
Key: -2147483648:
Index 934_11968
Index fragment in DBspace datos
ERROR:No data row exists for btree item.
Btree item contains fragid 0x500702 rowid 0x103, key value:
Key: “ARTES”:“<00>”:
Please Drop and ReCreate Index in_anuncios_fecreg for siu_fayd_v208:dba.gda_anun
cios.
Please Drop and ReCreate Index 934_5213 for siu_fayd_v208:dba.gda_anuncios.
Please Drop and ReCreate Index 934_5577 for siu_fayd_v208:dba.gda_anuncios.
Please Drop and ReCreate Index 934_5578 for siu_fayd_v208:dba.gda_anuncios.
Please Drop and ReCreate Index 934_11968 for siu_fayd_v208:dba.gda_anuncios.

WARNING: index check requires a s-lock on tables whose lock level is page.

TBLspace data check for siu_fayd_v208:dba.gda_anuncios[/b]

y probé ejecutarla sqleditor y me arroja el mismo error cuando realizo la consulta que arroja error en el log de sistema probé bajar y subir la DB pero no logre hacer funcionar

Fijate de borrar y volver a crear esos indices que alli indica:

Please Drop and ReCreate Index in_anuncios_fecreg for siu_fayd_v208:dba.gda_anuncios.
Please Drop and ReCreate Index 934_5213 for siu_fayd_v208:dba.gda_anuncios.
Please Drop and ReCreate Index 934_5577 for siu_fayd_v208:dba.gda_anuncios.
Please Drop and ReCreate Index 934_5578 for siu_fayd_v208:dba.gda_anuncios.
Please Drop and ReCreate Index 934_11968 for siu_fayd_v208:dba.gda_anuncios.

Quizas algunos sean los que se crean automaticamente con la primary key y foreign keys, en todo caso intenta borrar estas fk y volverlas a crear:


-- pk
ALTER TABLE gda_anuncios   ADD CONSTRAINT PRIMARY KEY (ANUNCIO)   CONSTRAINT pk_anuncios;

-- fk
ALTER TABLE gda_anuncios
       ADD CONSTRAINT FOREIGN KEY (UNIDAD_ACADEMICA, CARRERA)
       REFERENCES sga_carreras  CONSTRAINT fk_anuncio_carrera;

ALTER TABLE gda_anuncios
       ADD CONSTRAINT FOREIGN KEY (UNIDAD_ACADEMICA, NRO_INSCRIPCION)
        REFERENCES sga_personas  CONSTRAINT fk_anuncio_persona;

ALTER TABLE gda_anuncios
       ADD CONSTRAINT FOREIGN KEY (CURSO)
       REFERENCES gda_cursos   CONSTRAINT fk_anuncio_curso;


-- Indice sobre el campo  gda_anuncios.fecha_de_registro
CREATE INDEX in_anuncios_fecreg ON gda_anuncios (fecha_de_registro);

No ayuda en nada a la solución, pero si me llega a pasar eso me preocuparía más saber el motivo de que los índices hayan volado por los aires…

¿Solucionaste el problema? ¿Si lo solucionaste que fue lo que hiciste?

Diego: los motivos del porque se rompen los indices supongo pueden ser varios: Se cae el motor y no se se levanta correctamente (fast recovery), se daña algun sector del disco donde estan las paginas de datos del indice, etc…
No se si se puede saber con exactitud cual es el motivo de la rotura de un indice en todos los casos…

Diego:

Como dice Alejandro, es muy difícil saber porque se rompen los índices, aunque depende de la instalación no sucede nunca o puede ser frecuente. Una cosa que es probable es que sean picos de tensión, microcortes, caidas del motor.

Por todo eso es importante la función del DBA, y una de las tareas es monitorear con los comandos oncheck que todo esté en orden. Otra alternativa es realizar cada tanto un export e import de la base, que te va a regenerar los índices, y de paso reacomoda los extents.

Saludos

Gustavo