如何查询Oracle目录的权限?

Cad*_*oux 12 oracle directory metadata oracle10g

我在all_directories中有一个目录,但我需要找出与之关联的权限,即已授予哪些权限?

DCo*_*kie 28

这应该为您提供在目录上授予的角色,用户和权限:

SELECT * 
  FROM all_tab_privs 
 WHERE table_name = 'your_directory';  --> needs to be upper case
Run Code Online (Sandbox Code Playgroud)

是的,它在all_TAB_privs视图中;-)该视图的更好名称将类似于"ALL_OBJECT_PRIVS",因为它还包括PL/SQL对象及其执行权限.


Ale*_*ous 8

您可以通过以下方式查看所有目录的所有权限

SELECT *
from all_tab_privs
where table_name in
  (select directory_name 
   from dba_directories);
Run Code Online (Sandbox Code Playgroud)

如果您需要备份已执行的操作或其他内容,以下内容为您提供了sql语句来授予权限

select 'Grant '||privilege||' on directory '||table_schema||'.'||table_name||' to '||grantee 
from all_tab_privs 
where table_name in (select directory_name from dba_directories);
Run Code Online (Sandbox Code Playgroud)