2011-06-17 21 views

Odpowiedz

26

To powinno dać ról, użytkowników i uprawnień przyznanych w katalogu:

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

I tak, to jest w widoku all_TAB_privs ;-) lepszej nazwy dla tego widoku byłoby coś jak „ALL_OBJECT_PRIVS ", ponieważ zawiera także obiekty PL/SQL i ich uprawnienia do wykonywania.

2

Nie byłeś pewien, czy masz na myśli, którzy użytkownicy Oracle mogą czytać \ zapisuj w katalogu lub korelację uprawnień między obiektem katalogu Oracle a bazowym katalogiem systemu operacyjnego.

Jako że DCookie obejmuje stronę Oracle ogrodzenia, poniższe informacje pochodzą z dokumentacji Oracle znalezionej pod numerem here.

Przywileje przyznane dla katalogu są tworzone niezależnie od uprawnień określonych dla katalogu systemu operacyjnego , a może dwa lub może nie odpowiadać dokładnie. Dla przykład błąd występuje, jeśli próbka użytkownik hr przyznawana jest READ przywilej na obiektu katalogu ale odpowiedni system operacyjny katalog nie przeczytałeś pozwolenie zdefiniowane dla Oracle Database procesów.

7

można zobaczyć wszystkie przywileje dla wszystkich katalogów dowcip następujące

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

Poniższa daje SQL przyznania przywilejów powinno potrzebne do tworzenia kopii zapasowych, co zrobiłeś lub coś

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); 
+0

Zaktualizowano jako brakujące słowo kluczowe "katalog" –

0

Z Oracle 11g R2 (przynajmniej z 11.2.02) znajduje się widok o nazwie datapump_dir_objs.

SELECT * FROM datapump_dir_objs; 

Widok pokazuje NAME obiektu Directory, PATH jak również READ i WRITE uprawnienia do aktualnie podłączonego użytkownika. Nie pokazuje żadnych obiektów katalogowych, z których bieżący użytkownik nie ma uprawnień do odczytu lub zapisu.

Powiązane problemy