Oracle:获取用户的功能列表

Dav*_*ill 5 oracle

如何获得特定用户的所有功能的列表?

编辑以澄清问题:

当(作为USER1)我运行时

select * from all_objects
where owner = 'USER2'
and object_type = 'FUNCTION';
Run Code Online (Sandbox Code Playgroud)

它不会返回我知道USER2拥有的所有功能。我怀疑它只是返回那些允许USER1查看/执行的功能。

这种怀疑正确吗?

另外,如果这是真的,有没有办法解决这个问题?

Dav*_*sta 4

是的,你的怀疑是正确的。ALL_OBJECTS 视图将仅列出当前用户有权访问的那些项目。

如果您可以以 USER2 身份登录,则可以以该用户身份查询 USER_OBJECTS 以查看该用户拥有的所有对象。

如果您可以以 SYSTEM 身份登录,那么无论所有者如何,您都可以访问所有对象,因此 ALL_OBJECTS(或 DBA_OBJECTS)提供的列表将是完整的。

如果您无法以有权访问 USER2 的所有对象的用户身份登录,则无法列出 USER2 的所有对象。