Obtener la Lista de Objetos de un Package en Oracle

4 replies [Último envío]
Developer
User offline. Last seen 4 semanas 19 horas ago. Offline
Joined: 01/02/2010
puntos: 6
Versión para impresión

 Hola amigos

Abro, este post, por que no encuentro una forma de desarrollar un query, lo que he encontrado es un query para obtener los package

SELECT OBJECT_NAME,OBJECT_TYPE FROM dba_objects where owner='webmaster' and object_type='PACKAGE'"

pero me gustaria hacer un query que al pasar como parametro el nombre de un package, me de la lista de los objetos relacionados, tales como procedimientos, funciones, etc

 

saludos cordiales

 

 

Developer
User offline. Last seen 4 semanas 19 horas ago. Offline
Joined: 01/02/2010
puntos: 6

Bueno amigos

yo mismo me respondere, jejejejeje, investigando hize esto

 

 select * from dba_source where owner='EXTRANET' and line=3 and type='PACKAGE BODY'

 

si halguien tiene otra forma, le agradeceria compartirla

 

saludos cordiales

 

Eloy

Preparando imágenes virtuales de VMWare ESXi para hacer pruebas de software en mi servidor
Imagen de carlos
User is online Conectado
Joined: 28/12/2005
puntos: 223

Eloy, gracias por compartir la solución que has encontrado.

Otra cosa que se puede hacer es utilizar las facilidades que ofrecen las herramientas visuales de desarrollo/administración. Con Oracle SQL Developer, por ejemplo, si seleccionas un procedure, que puede formar parte de un package, en el explorador de objetos tienes una pestaña de Dependencias que te muestra los objetos de los que depende el procedure para poder ejecutarse. También tienes una pestaña de Referencias que te muestra todos los objetos que utilizan o que llaman a ese Procedimiento.

Dependencias y Referencias a un Procedure con Oracle SQL Developer

 

Si no recuerdo mal, otras herramientas como PL/SQL Developer o TOAD también tienen utilizades parecidas.

Developer
User offline. Last seen 4 semanas 19 horas ago. Offline
Joined: 01/02/2010
puntos: 6

 Hola Carlos

 

gracias por contestar, es una buena idea.

 

pero mira algo raro, hace poco usaba ese query para ver los package, en un servidor X de una empresa, ahora resulta que no funciona, pues el query lo llevo al sql developer y desde alli lo ejecuto y me dice que la tabla o vista no existe, debe ser por permisos o algo parecido, por que la misma base de datos la tengo instalada en forma local en mi laptop  y si me funciona perfectamente todo

 

aca el query

 

 SELECT OBJECT_NAME,OBJECT_TYPE FROM dba_objects where owner='WEBMASTER' and object_type='PACKAGE'

 

error: 942 tabla o vista no existe

 

Preparando imágenes virtuales de VMWare ESXi para hacer pruebas de software en mi servidor
Imagen de carlos
User is online Conectado
Joined: 28/12/2005
puntos: 223

Efectivamente ha de ser un tema de privilegios. Para poder consultar las tablas o vistas del diccionario de datos de datos (como dba_objects) el usuario ha de tener permisos de DBA.

El usuario que más se suele utilizar para estas cosas es SYSTEM, aunque puedes hacerlo con cualquier otro, siempre que tenga o le otorges antes los privilegios necesarios.