Transacciones concurrentes

Tengo que administrar una base 8i en Linux y utilizar Developer 6i, pero hay actualizaciones a una tabla (que no es grande ni tiene demasiados indices ni esta fragmentada) se demora demasiado, pero esto cuando hay varios usuarios conectados, no se si deba cambiar algún parámetro de la base o tal vez debo revisar la aplicación para detectar algún lock a la tabla o verlo en las tablas dinámicas.
Me interesa cualquier idea al respecto, ya que necesito resolver esto lo más pronto posible.

1 respuesta

Respuesta
1
En primer lugar deberás de analizar la tabla para controlar si tiene chained rows, también deberás de verificar los tamaños de pctused y pctfree es decir, si tiene muchas actualizaciones pctused alto.
También puedes mirar en la vista v$lock para ver si hay locks, te recomiendo que te instales entreprise manager y mediante la consola verifiques si hay bloqueos o que problemas tiene.
Una aplicación desarrollada con developer utiliza muchos cursores mira el parámetro open_cursors para ver si esta pequeño.
No dudes en preguntar más pero deberás de darme más datos.
¿Qué entiendes por se demora demasiado? . ¿Cuáles son los parámetros de almacenamiento de la tabla?.
¿El forms que se demora, esta asociado a tabla?.
¿Cuándo se realizan los commits?. ¿Cuántos redo logs tienes y que tamaño? Etc..
Te cuento, la tabla tiene un pctused de 70 y se crean varios registros en la vista v$locks que son para esta tabla, es por eso que siento que hay algún parámetro mal seteado, el open_cursors no lo he visto aun.
Espero con esto aclarar un poco más la situación, de todas maneras todas las aplicaciones están en developer y ninguna funciona tan lento como esta, ademas examinando la vista v$locks también se crean registros para otras tablas pero se liberan pronto.
Saludos
María T.
De si el bloque de la forma esta asociado a tabla.
También deberás de mirar que objetos son los que aparecen bloqueados y de que tipo.
El bloque de la forma esta asociado a varias tablas, pero el ingreso es solo para dos de ellas y son justamente esas las quedan bloqueadas incluso con un usuario.
¿Las tablas asociadas están relacionadas entre si con alguna foreign Key?. Si es así prueba a crearte un indice por las columnas de la foreign key ( en la tabla hija ).
Esto es debido a un problema de bloqueos en el diccionario de datos.
En la version 9i release 2 este problema esta resuelto.
Deberas de crearte estos indices siempre en la tabla hija es decir donde se crea la foreing key
Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas