如何在Oracle中使用查询知道我是否拥有使用目录的权限?
答案 0 :(得分:4)
如果您正在谈论Oracle目录对象(CREATE DIRECTORY ...
),
SELECT grantee, table_name directory_name, privilege
FROM dba_tab_privs
WHERE table_name = <<directory name>>
请注意,如果您无法访问DBA_*
表,则可以改为使用ALL_TAB_PRIVS
或USER_TAB_PRIVS
。
如果您正在谈论操作系统目录,则需要创建与操作系统目录对应的Oracle目录对象。然后,您可以使用UTL_FILE包的FOPEN方法尝试在目录中打开文件。如果成功,则您具有该目录的权限。否则,你会遇到异常。
答案 1 :(得分:1)
从dba_tab_privs中选择*,其中table_name ='your_directory'