Change formatting output in SQL*Plus:
SET PAGESIZE 50
SET LINESIZE 120
COLUMN <COLUMN1> FORMAT A30
COLUMN <COLUMN2> FORMAT A50
COLUMN <COLUMN3> FORMAT A20
...
SELECT <COLUMN1>, <COLUMN2>, <COLUMN3>, ...
FROM <YOUR_TABLE>
WHERE <CONDITION>;
In Oracle, a directory is a schema object that maps a physical path to the database server's file system. It is used primarily for external file read/write operations using PL/SQL or tools such as UTL_FILE, Data Pump, and SQL*Loader.
To get the list of directories currently set up:
SELECT OBJECT_NAME FROM ALL_OBJECTS WHERE OBJECT_TYPE='DIRECTORY'
COLUMN OWNER FORMAT A20;
COLUMN DIRECTORY_NAME FORMAT A30;
COLUMN DIRECTORY_PATH FORMAT A50;
COLUMN ORIGIN_CON_ID FORMAT A20;
COLUMN ORACLE_HOME FORMAT A50;
SELECT * FROM all_directories;
To get the privilege assigned to each directory:
SET LINESIZE 200;
SET PAGESIZE 50;
COLUMN TABLE_NAME FORMAT A25;
COLUMN PRIVILEGE FORMAT A15;
COLUMN GRANTEE FORMAT A20;
COLUMN DIRECTORY_PATH FORMAT A80;
SELECT dp.TABLE_NAME,
dp.PRIVILEGE,
dp.GRANTEE,
d.DIRECTORY_PATH
FROM ALL_TAB_PRIVS dp
JOIN ALL_DIRECTORIES d
ON dp.TABLE_NAME = d.DIRECTORY_NAME
WHERE dp.TABLE_NAME IN (
SELECT OBJECT_NAME FROM ALL_OBJECTS WHERE OBJECT_TYPE = 'DIRECTORY'
);