2011-06-17 70 views

Respuesta

26

Esto debe darle los roles, usuarios y permisos concedidos en un directorio:

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

Y sí, es en la vista all_TAB_privs ;-) Un mejor nombre para este punto de vista sería algo así como "ALL_OBJECT_PRIVS ", ya que también incluye objetos PL/SQL y sus permisos de ejecución también.

2

No estaba seguro de si quiso decir qué usuarios de Oracle pueden leer \ escribir con el directorio o la correlación de los permisos entre el objeto del directorio de Oracle y el directorio subyacente del sistema operativo.

Como DCookie ha cubierto el lado de Oracle de la valla, lo siguiente se toma de la documentación de Oracle que se encontró here.

privilegios concedidos por el directorio se crean de forma independiente de los permisos definidos para el directorio del sistema operativo , y los dos pueden o pueden no corresponder exactamente. Para ejemplo, se produce un error si la muestra usuario hr se concede el privilegio LEER en el objeto de directorio, pero el directorio sistema operativo correspondiente no tiene LEER permiso definido para la base de datos de Oracle procesos.

7

Puede ver todos los privilegios para todos los directorios WIT el siguiente

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

A continuación se le da las instrucciones SQL para conceder los privilegios caso de que necesite copia de seguridad lo que has hecho o algo

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

Actualizado como faltante la palabra clave 'directorio' –

0

Con Oracle 11g R2 (al menos con 11.2.02) hay una vista llamada datapump_dir_objs.

SELECT * FROM datapump_dir_objs; 

La vista muestra el NAME del objeto de directorio, la PATH así como READ y WRITE permisos para el usuario actualmente conectado. No muestra ningún objeto de directorio que el usuario actual no tenga permiso para leer o escribir.

Cuestiones relacionadas