PDA

Ver la Versión Completa : Funciones que es invalidan solas


marto
05-05-2004, 18:19:04
Wop!

Bienvenidos a "Encuentros en la tercera fase" ;)

Últimamente me pasan unas cosas muy raras con el servidor Oracle: de golpe algunas de las funciones, procedures y packages aparecen en estado inválido. No se ha hecho ningun cambio sobre ellos ni sobre ninguna tabla con la que trabajen y para solucionarlo basta con recompilar las funciones "caídas".
El servidor es un Oracle 8.0.5 sobre Solaris.
Lo cierto es que estoy bastante desconcertado... ¿Programo un cron que recompile las funciones cada noche? :D :D :D

Bromas a partes, ¿a alguno os ha pasado algo parecido?

delphi.com.ar
05-05-2004, 18:23:22
Mmmm... ¿Estas seguro que no has modificado ningún objeto que del cual sea dependiente estas funciones?, tienes que tener en cuenta que se trata de un arbol de dependecias. Te recomiendo consultar la vista SYS.ALL_DEPENDENCIES

Saludos!

marto
05-05-2004, 18:30:35
Sí, sí que lo he comprobado. Además son funciones que no tienen nada que ver entre sí. Incluso algunas de aplicaciones distintas, es decir que estan en la misma BD pero que atacan a tablas totalmente dispares.

Me acaban de comentar que ayer el servidor se cayó de manera poco aconsejable, ¿es posible que eso tenga que ver? La verdad es que estoy dando palos de ciego...

jachguate
06-05-2004, 02:21:43
No creo que tenga que ver la caida del servidor... pero quizas si hay alguna posibilidad. Has verificado el estado del SGA???

Con que frecuencia se están invalidando las funciones??

Regularmente no es necesario recompilarlas, pues al ser llamadas, si son inválidas se recompilan automáticamente... sin embargo esto tiene un impacto negativo en el performance... si ocurriò una vez y ya no mas, pues dejalo asi... si ocurre periodicamente, si que el problema necesita atención.

Hasta luego.

;)

marto
06-05-2004, 11:25:28
Has verificado el estado del SGA???
¿A qué te refieres exactamente? Mi nivel de administración de Oracle es bastante triste :o :o

Con que frecuencia se están invalidando las funciones??

Pues sucede una o dos veces al mes, el tema me tiene negro :mad:

Regularmente no es necesario recompilarlas, pues al ser llamadas, si son inválidas se recompilan automáticamente...
Tú estás seguro de eso? yo juraría que peta, pero la próxima vez que se invaliden lo compruebo
[/QUOTE]

jachguate
07-05-2004, 02:21:00
¿A qué te refieres exactamente? Mi nivel de administración de Oracle es bastante triste :o :o

Pues quizas no tenga que ver en este caso. El SGA (System Global Area) es el espacio de Memoria que usa cada instancia de la BD. Alli se mantienen diferentes cachés: de las páginas de datos, de las sentencias y sus planes de ejecución, etc. Pensandolo bien no creo que tenga nada que ver en este caso pero de cualquier forma, podes chequear los valores del SGA desde el svrmgrl connectado como internal o sys, y ejecutando el comando

show SGA;

además podrias verlo consultando la vista dinámica v$sga (como sys). Tambien con v$parameter tenes los datos nominales dados en la configuración...

Pues sucede una o dos veces al mes, el tema me tiene negro :mad:
Tú estás seguro de eso? yo juraría que peta, pero la próxima vez que se invaliden lo compruebo


Pues si no ha cambiado nada de las dependencias... yo digo que debieran recompilarse solitas... será cosa de hacer pruebas.

Hasta luego.

;)

jachguate
07-05-2004, 02:22:10
El entorno es desarrollo o está en producción??

marto
07-05-2004, 17:43:16
El entorno es desarrollo o está en producción??
En producción :eek: :eek: :eek:

Lo que me comentas de la SGA está interesante, lo que sucede es que el administrador de BD es poco tonto y ni escuchará mis sugerencias ni mucho menos me dejará meter mano a mi.

Voy a esperar que vuelvan a petar y probaré a ver si se recompilan solas. Ya te contaré ;)