ALL_DIRECTORIES

ALL_DIRECTORIES は現在のユーザーがアクセスできるディレクトリを示すOracleデータ・ディクショナリ・ビューである。

ALL_DIRECTORIES
列名 データ型 NULL 説明
OWNER VARCHAR2(128) NOT NULL ディレクトリ・オブジェクトの所有者
DIRECTORY_NAME VARCHAR2(128) NOT NULL ディレクトリ・オブジェクトの名前
DIRECTORY_PATH VARCHAR2(4000) ディレクトリのパス
ORIGIN_CON_ID VARCHAR2(256) データの発生元のコンテナのID

権限

すべてのユーザーが ALL_DIRECTORIES データ・ディクショナリ・ビューを参照できる。

OWNER

Oracleデータ・ディクショナリ・ビュー ALL_DIRECTORIES の OWNER 列は、ディレクトリ・オブジェクトの所有者を示す。

ディレクトリ・オブジェクトは所有者が常に SYS であるため、OWNER 列の値は常に「SYS」である。

DIRECTORY_NAME

Oracleデータ・ディクショナリ・ビュー ALL_DIRECTORIES の DIRECTORY_NAME 列は、ディレクトリ・オブジェクトの名前を示す。

DIRECTORY_PATH

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\

ORIGIN_CON_ID

Oracleデータ・ディクショナリ・ビュー ALL_DIRECTORIES の ORIGIN_CON_ID 列は、データの発生元のコンテナのIDを示す。

ディレクトリに関するデータ・ディクショナリ・ビュー

ディレクトリ・オブジェクトに関するデータ・ディクショナリ・ビューには、次のものがある。

ALL_DIRECTORIES
現在のユーザーがアクセスできるディレクトリ・オブジェクト
DBA_DIRECTORIES
Oracleデータベース内すべてのディレクトリ・オブジェクト

ディレクトリ・オブジェクトは所有者が常に SYS であるため、USER_DIRECTORIES というデータディクショナリは存在しない。

ディレクトリに関するシステム権限

ディレクトリ・オブジェクトに関するシステム権限には、次のものがある。

CREATE ANY DIRECTORY
ディレクトリ・オブジェクトを作成できる。
DROP ANY DIRECTORY
ディレクトリ・オブジェクトを削除できる。

ディレクトリの作成権限と削除権限をユーザに付与するSQL文の例を次に示す。

SQL> GRANT CREATE DIRECTORY, DROP DIRECTORY TO tsukamoto;

ディレクトリに関するオブジェクト権限

ディレクトリ・オブジェクトに関するオブジェクト権限には、次のものがある。

READ
ディレクトリ内のファイルを読み取る。
WRITE
ディレクトリ内のファイルに書き込む。

ディレクトリの読取り権限と書込み権限をユーザに付与するSQL文の例を次に示す。

SQL> GRANT READ, WRITE ON DIRECTORY log_dir TO tsukamoto;

関連SQL

OracleデータベースにALTER DIRECTORY文は存在しない。ディレクトリ・オブジェクトを変更したいときは、CREATE OR REPLACE DIRECTOY文でディレクトリ・オブジェクトを置き換える。

データ・ディクショナリ・ビュー

オラクル・データベースのデータ・ディクショナリ・ビューには、次のものがある。