root dbspace lleno en inscripciones a exámenes y cursadas

Hola a todos.

  • motor:Informix Dynamic Server 2000 Version 9.21.UC3
  • sistema: Debian 4.0
  • guaraní versión 2.6.2
  • operaciones activas en 3w reinscripción anual, inscripción a cursadas, inscripción a exámenes
  • root dbspace con dos chunks de 256000 páginas (páginas de 2 kb).
  • el valor del parámetro DBSPACETEMP está asignado a un dbspace temporal

el problema es que con las operaciones de inscripción a cursada y a exámenes se llenan los dos chunks del root dbspace y mirando un poco cuales eran los procesos llegamos a que son los los sp sp_matInscCurAlu y sp_matinscexamalu que en algún lugar crean tablas temporales en el root dbspace pero no encuentro donde puede ser. Los sp crean explíctamente tablas con la opción WITH NO LOG, por lo que supongo que son las consultas a las vistas de historia académica y sga_cursadas.
Alguna idea para tratar de encontrar el inconveniente? nunca nos pasó antes. Es muy poco el espacio asignado al root?

Gracias desde ya

Hola Javier:

Una cosa es la teoría y otra la práctica.
Agregale mas chunks al root. Si no tenes problemas de espacio en disco metele dos o tres gigas mas.

Varias veces pasó que por mas que tengas un dbspace temporal, las tablas temporales las crees con with no log, empieza a trabajar en el root dbspace. Nunca supe porque.

Emilio

Emilio, eso fué lo que primero hice, le agregué 1GB luego 2GB mas…pero sigue llenando todos los chunks

Fijate si esto te da alguna idea

http://www-01.ibm.com/support/docview.wss?rs=630&context=SSGU8G&dc=DB520&dc=DB560&uid=swg21292093&loc=en_US&cs=UTF-8&lang=en&rss=ct630db2

no dice nada nuevo.
El punto es si no se te está llenando el dbspacetemp. Por ahi, agrandá ese o agregá mas dbspaces temporarios.

Emilio

Emilio, gracias por la ayuda. Era un query en la vista de historia académica que estaba personalizado. Ya está solucionado

Emilio, Damián,

buscando encontré esto y me gustaría si nos pueden ampliar como lo solucionaron.

Tenemos un problema parecido y en principio hicimos lo mismo. Agregamos Chunks y se siguen llenando. El problema es principalmente con algunos reportes “Pesados”.

Una cosa que nos llamo la atención es que se llenan los Chunks de Rootdbs mientras que el de Tempdbs permanece vacio. Eso no desorientó un poco ya que pensabamos agregarle espacio temporal pero nos parece que no va a servir para nada.

Les adjunto nuestro ONCONFIG y el resultado de un ONSTAT - d y ONSTAT -u.


ONCONFIG.txt (9.56 KB)

onstat-u.txt (2.09 KB)

onstat-d.txt (1.99 KB)

Les adjunto también un error que nos da con algunos reportes y no siempre. Les aclaro que hasta hace poco (acabamos de atravesar un cambio de planes con generación de muchas equivalencias) los reportes funcionaban bien, algunos tardaban un poco pero nada más.


error_229.JPG

error_229.JPG_thumb.png

Hola

Depende de como se armen las tablas temporarias.
Si las crean con la clausula WITH NO LOG van a parar a los temporales, si no van al root dbspace.

Cualquiera de los dos que sea, si se llenan tendrán que agregar chuncks.

Emilio

Quizás sería interesante que Damián comente donde estaba el problema en su personalización, para ver si no es algo similar.

Nosotros tuvimos problemas similares en el 2006 cuando estabamos migrando datos en una instalación. Si no bajabamos unos triggers (ya no recuerdo cuales), era como que se llenaba el rootdbspace, por SP que creaban tablas temporales y no las dropeaban.

Damián: recordarás donde estab el problema de ustedes?

Saludos

Gustavo

Cuando se usa ORDER BY, GROUP BY, UNIQUE, DISTINCT en un Select o cuando se crea un índice o en un restore de la base y en algun otro caso se crean tablas temporarias y usará lo que este definido en el siguiente orden: en la variable de ambiente PSORT_DBTEMP, variable de ambiente DBSPACETEMP, parametro del ONCONFIG DBSPACETEMP o en la carpeta /tmp del server(aca puede ser que no se tenga permisos sobre la carpeta para escritura/lectura.)
http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=%2Fcom.ibm.sqlr.doc%2Fids_sqr_298.htm
http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=%2Fcom.ibm.sqlr.doc%2Fids_sqr_228.htm

Hola, la verdad no me acuerdo la consulta a la vista historia académica que daba este comportamiento, hay que hacer un análisis de la salida del analizador de consultas para tratar de descubrir por donde viene la mano.

Se toma la consulta “pesada”, se agrega la ejecución de

SET EXPLAIN ON;

luego se ejecuta la consulta y se revisa lo que escribe en el archivo sqlexplain.out hay que tratar de evitar las consultas mas “costosas” y aquellas que hacen “sequential scan” en alguna tabla grande.
Espero que ayude