Oracle 用于特定架构的目录名称
当我尝试这个查询时Oracle 用于特定架构的目录名称,oracle,Oracle,当我尝试这个查询时 从所有目录中选择所有者、目录名称、目录路径 OWNER DIRECTORY_NAME DIRECTORY_PATH ------------------------------ ------------------------------ ---------------- SYS MY_DIR_NAME
从所有目录中选择所有者、目录名称、目录路径代码>
OWNER DIRECTORY_NAME DIRECTORY_PATH
------------------------------ ------------------------------ ----------------
SYS MY_DIR_NAME E:\.....
SYS OTHER_DIR_NAME1 E:\.....
SYS OTHER_DIR_NAME2 E:\.....
比如说,MY_DIR_NAME
是我在模式中使用的名称,列在我的
架构层次结构(Connections->my\u schema\u name->Directories->my\u DIR\u name
)。我的问题是,我如何知道哪一个用于我的模式,
不必在目录
文件夹中搜索相同的目录。其次,我如何向其他架构(名称
下的一个目录
授予权限
在my_schema_name
中使用时,不幸的是,所有目录
(及其更强大的近亲,dba_目录
)显示了所有者
,这可能会让人感到困惑,因为所有目录对象都属于SYS
当您以架构身份登录并查询所有_目录时
确实可以看到架构具有某些权限(例如读、写)的目录对象
您可以通过以下方式授予权限:
GRANT READ, WRITE ON DIRECTORY MY_DIR_NAME TO other_schema_name;
不幸的是,all_目录
(以及它更强大的表亲,dba_目录
)显示了所有者
,这可能会让人混淆,因为所有目录对象都属于SYS
当您以架构身份登录并查询所有_目录时
确实可以看到架构具有某些权限(例如读、写)的目录对象
您可以通过以下方式授予权限:
GRANT READ, WRITE ON DIRECTORY MY_DIR_NAME TO other_schema_name;
您可以使用下面的查询来查找具有特定架构的READ
、WIRTE
权限的目录
SELECT grantor, grantee, table_schema, table_name, privilege
FROM all_tab_privs
WHERE grantee= '<SCHEMA_NAME>'
AND privilege IN ('READ', 'WRITE');
您可以使用下面的查询来查找具有特定架构的READ
、WIRTE
权限的目录
SELECT grantor, grantee, table_schema, table_name, privilege
FROM all_tab_privs
WHERE grantee= '<SCHEMA_NAME>'
AND privilege IN ('READ', 'WRITE');
目录是不属于任何特定用户的数据库对象。这就是其中一个原因,您看不到USER\u目录
,类似于其他数据库对象的其他USER\u视图
对于目录,您有所有目录
和DBA\u目录
。第一个,列出了您可以访问的目录
您只需使用GRANT
将目录的权限授予另一个架构目录是不属于任何特定用户的数据库对象。这就是其中一个原因,您看不到USER\u目录
,类似于其他数据库对象的其他USER\u视图
对于目录,您有所有目录
和DBA\u目录
。第一个,列出了您可以访问的目录
您可以简单地使用GRANT
将目录的权限授予另一个架构