Подтвердить что ты не робот

Как запрашивать разрешения в каталоге Oracle?

У меня есть каталог в all_directories, но мне нужно выяснить, какие разрешения связаны с ним, то есть то, что было предоставлено на нем?

4b9b3361

Ответ 1

Это должно предоставить вам роли, пользователи и разрешения, предоставленные в каталоге:

SELECT * 
  FROM all_tab_privs 
 WHERE table_name = 'your_directory';  --> needs to be upper case

И да, это IS в представлении all_TAB_privs;-) Лучшее имя для этого представления будет чем-то вроде "ALL_OBJECT_PRIVS", поскольку оно также включает в себя объекты PL/SQL и их разрешения на выполнение.

Ответ 2

Вы можете увидеть все привилегии для всех каталогов с помощью следующих

SELECT *
from all_tab_privs
where table_name in
  (select directory_name 
   from dba_directories);

Ниже приводятся инструкции 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);

Ответ 3

Не был уверен, что вы имели в виду, какие пользователи Oracle могут читать\писать с помощью каталога или корреляцию разрешений между объектом Oracle Directory и базовым каталогом операционной системы.

Так как DCookie рассмотрел сторону Oracle на заборе, из документации Oracle найдена здесь.

Привилегии, предоставленные для каталога создаются независимо от разрешения, определенные для системный каталог, а два могут может не соответствовать точно. Для Например, ошибка возникает, если образец пользователю hr предоставляется привилегия READ для объект каталога, но соответствующая операционная система в директории нет READ разрешение для базы данных Oracle процессы.

Ответ 4

В Oracle 11g R2 (по крайней мере с 11.2.02) есть представление с именем datapump_dir_objs.

SELECT * FROM datapump_dir_objs;

В представлении показаны NAME объектов каталога, PATH, а также READ и WRITE разрешения для подключенного в данный момент пользователя. Он не показывает никаких объектов каталога, которые текущий пользователь не имеет права на чтение или запись. Тем не менее.