ALL_DIRECTORIES は現在のユーザーがアクセスできるディレクトリを示すOracleデータ・ディクショナリ・ビューである。
列名 | データ型 | NULL | 説明 |
---|---|---|---|
OWNER | VARCHAR2(128) | NOT NULL | ディレクトリ・オブジェクトの所有者 |
DIRECTORY_NAME | VARCHAR2(128) | NOT NULL | ディレクトリ・オブジェクトの名前 |
DIRECTORY_PATH | VARCHAR2(4000) | ディレクトリのパス | |
ORIGIN_CON_ID | VARCHAR2(256) | データの発生元のコンテナのID |
すべてのユーザーが ALL_DIRECTORIES データ・ディクショナリ・ビューを参照できる。
Oracleデータ・ディクショナリ・ビュー ALL_DIRECTORIES の OWNER 列は、ディレクトリ・オブジェクトの所有者を示す。
ディレクトリ・オブジェクトは所有者が常に SYS であるため、OWNER 列の値は常に「SYS」である。
Oracleデータ・ディクショナリ・ビュー ALL_DIRECTORIES の DIRECTORY_NAME 列は、ディレクトリ・オブジェクトの名前を示す。
Oracleデータ・ディクショナリ・ビュー ALL_DIRECTORIES の DIRECTORY_PATH 列は、ディレクトリのパスを示す。
SQL> SELECT OWNER, DIRECTORY_NAME, DIRECTORY_PATH FROM ALL_DIRECTORIES;
OWNER DIRECTORY_NAME DIRECTORY_PATH
----- -------------- ------------------------------
SYS DATA_PUMP_DIR D:\app\test\admin\orcl\dpdump\
Oracleデータ・ディクショナリ・ビュー ALL_DIRECTORIES の ORIGIN_CON_ID 列は、データの発生元のコンテナのIDを示す。
ディレクトリ・オブジェクトに関するデータ・ディクショナリ・ビューには、次のものがある。
ディレクトリ・オブジェクトは所有者が常に SYS であるため、USER_DIRECTORIES というデータディクショナリは存在しない。
ディレクトリ・オブジェクトに関するシステム権限には、次のものがある。
ディレクトリの作成権限と削除権限をユーザに付与するSQL文の例を次に示す。
SQL> GRANT CREATE DIRECTORY, DROP DIRECTORY TO tsukamoto;
ディレクトリ・オブジェクトに関するオブジェクト権限には、次のものがある。
ディレクトリの読取り権限と書込み権限をユーザに付与するSQL文の例を次に示す。
SQL> GRANT READ, WRITE ON DIRECTORY log_dir TO tsukamoto;
OracleデータベースにALTER DIRECTORY文は存在しない。ディレクトリ・オブジェクトを変更したいときは、CREATE OR REPLACE DIRECTOY文でディレクトリ・オブジェクトを置き換える。
オラクル・データベースのデータ・ディクショナリ・ビューには、次のものがある。