Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 用于特定架构的目录名称_Oracle - Fatal编程技术网

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
将目录的权限授予另一个架构