Oracle Directories
Version 11.2
 
General
Related Data Dictionary Objects
dir$ all_directories ku$_directory_t
  dba_directories ku$_directory_view
System Privileges GRANT create any directory TO <user_name>;
GRANT drop any directory TO <user_name>;
GRANT create any directory TO uwclass;
GRANT drop any directory TO uwclass;
 
Create Directory

Create A Directory
CREATE OR REPLACE DIRECTORY <directory_name> AS '<operating_system_path>';
conn / as sysdba

desc dba_directories

set linesize 121
col owner format a15
col directory_name format a20
col directory_path format a70

SELECT *
FROM dba_directories;

CREATE OR REPLACE DIRECTORY
ctemp AS 'c:\temp';

SELECT *
FROM dba_directories;
 
Granting Privileges To A Directory

Grant and Revoke Read On A Directory
GRANT read ON DIRECTORY <directory_name> TO <schema_name>
col grantor format a20
col grantee format a20
col table_schema format a20
col table_name format a20
col privilege format a10

SELECT grantor, grantee, table_schema, table_name, privilege
FROM all_tab_privs
WHERE table_name = 'CTEMP';

GRANT read ON DIRECTORY
ctemp TO uwclass;

SELECT grantor, grantee, table_schema, table_name, privilege
FROM all_tab_privs
WHERE table_name = 'CTEMP';

REVOKE read ON DIRECTORY ctemp FROM uwclass;

SELECT grantor, grantee, table_schema, table_name, privilege
FROM all_tab_privs
WHERE table_name = 'CTEMP';

Grant and Revoke Write On A Directory
GRANT WRITE ON DIRECTORY <directory_name> TO <schema_name>
SELECT grantor, grantee, table_schema, table_name, privilege
FROM all_tab_privs
WHERE table_name = 'CTEMP';

GRANT write ON DIRECTORY ctemp TO uwclass;

SELECT grantor, grantee, table_schema, table_name, privilege
FROM all_tab_privs
WHERE table_name = 'CTEMP';

REVOKE write ON DIRECTORY ctemp FROM uwclass;

SELECT grantor, grantee, table_schema, table_name, privilege
FROM all_tab_privs
WHERE table_name = 'CTEMP';

Grant and Revoke Execute On A Directory
GRANT execute ON DIRECTORY <directory_name> TO <schema_name>
SELECT grantor, grantee, table_schema, table_name, privilege
FROM all_tab_privs
WHERE table_name = 'CTEMP';

GRANT execute ON DIRECTORY xmldir TO uwclass;

SELECT grantor, grantee, table_schema, table_name, privilege
FROM all_tab_privs
WHERE table_name = 'XMLDIR';

REVOKE execute ON DIRECTORY xmldir FROM uwclass;

SELECT grantor, grantee, table_schema, table_name, privilege
FROM all_tab_privs
WHERE table_name = 'XMLDIR';
 
Drop Directory
Drop A Directory DROP DIRECTORY <directory_name>;
SELECT *
FROM dba_directories;

DROP DIRECTORY
ctemp;

SELECT *
FROM dba_directories;
 
 
Morgan's Library Page Footer
This site is maintained by Dan Morgan. Last Updated: