找出数据库中所有用户的自定义包?

时间:2015-07-10 09:19:29

标签: sql oracle plsql database-administration

我需要来自数据库中所有用户的自定义包的程序,我正在逐步解释,我需要查询或一些线索来了解如何显示和选择特定用户。

1.列出已在数据库中的数据库用户

2.我们必须通过输入法选择一个特定的用户示例 Ranjith

3.选择用户后,应显示所选用户的自定义包。

4.接下来的步骤是显示您已选择用户的所有自定义包的源代码。

1.SELECT USERNAME FROM DBA_USERS 它将显示数据库中的所有用户,之后我需要选择特定用户来显示自定义包

谢谢。

1 个答案:

答案 0 :(得分:0)

select object_name from dba_OBJECTs where owner = '{schema}' and  object_type in ('FUNCTION','PACKAGE','PROCEDURE'); -- get user function,pkg, procedure. 

select * from dba_source where owner = '{schema}' and name = '{object_name}' order by type,line asc; -- view source of objects.

如果要提取对象的ddl,请使用dbms_metadata。

select name,text from dba_source where owner = '{user}' and type in ('PACKAGE' ,'PACKAGE BODY','FUNCTION','PROCEDURE') 
order by name,type,line asc; -- return all source code for specifed user