miércoles, 30 de septiembre de 2009

Desplegando dependencias de una tabla Oracle

En ocasiones se hace necesario, contar con la información concerniente a las dependencias asociadas a una tabla o procedimiento almacenado, en un esquema "X" de la base de datos.

A menudo, utilizamos herramientas de terceros, que nos permita visualizar esta información, pero que sucede, sino no contamos con dichas herramientas.?

Existe un paquete con el nombre de "deptree_fill", que crea la estructura de todas estas dependencias, en base a la información almacenada en el diccionario de la base de datos.

El script que crea el paquete se encuentra, se localiza en el directorio $ORACLE_HOME/rdbms/admin y lleva el nombre de "utldtree.sql".
Se debe ejecutar el script con el dueño del esquema, que deseamos trabajar o bien ejecutar con privilegios de DBA y darle permisos de ejecución a los usuarios deseados.

La sintáxis de ejecución del paquete es:

  • execute deptree_fill( 'Tipo_de_objeto','Dueño_del_objecto','Nombre_del_objecto');

Una vez ejecutado, se debe realizar una consulta simple a la vista "IDEPTREE", que esta basada en la vista "DEPTREE" y esta a su vez en la tabla "DEPTREE_TEMPTAB" creado con el procedimiento y ahí hallarás la información que buscabas.

La tabla acumula la información para todas las tablas procesadas ( tipo plan_table en la versión oracle8i ), puedes truncar la table deptree_temptab, para eliminar la información procesada previamente.

SQL> truncate table deptree_temptab;
Table truncated.


SQL> SELECT * FROM IDEPTREE;
no rows selected


SQL> execute deptree_fill('TABLE','OWNER','TABLA1');
PL/SQL procedure successfully completed.
SQL> SELECT * FROM IDEPTREE;

No hay comentarios:

Publicar un comentario

Te agradezco tus comentarios. Te esperamos de vuelta.

Todos los Sábados a las 8:00PM

Optimismo para una vida Mejor

Optimismo para una vida Mejor
Noticias buenas que comentar