DBA_DIRECTORIES

DBA_DIRECTORIES はOracleデータベース内すべてのディレクトリを示すデータ・ディクショナリ・ビューである。

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

権限

SELECT ANY DICTIONARY システム権限を持つユーザーだけが DBA_DIRECTORIES データ・ディクショナリ・ビューを参照できる。

必要な権限が無いと、表またはビューが存在しないというエラーが発生する。

SQL> SELECT * FROM DBA_DIRECTORIES;
SELECT * FROM DBA_DIRECTORIES
              *
行1でエラーが発生しました。:
ORA-00942: 表またはビューが存在しません。

OWNER

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

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

DIRECTORY_NAME

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

DIRECTORY_PATH

Oracleデータ・ディクショナリ・ビュー DBA_DIRECTORIES の DIRECTORY_PATH 列は、ディレクトリのパスを示す。

SQL> SELECT OWNER, DIRECTORY_NAME, DIRECTORY_PATH FROM DBA_DIRECTORIES;

OWNER DIRECTORY_NAME DIRECTORY_PATH
----- -------------- ------------------------------
SYS   DATA_PUMP_DIR  D:\app\test\admin\orcl\dpdump\

ORIGIN_CON_ID

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

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

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

ディレクトリに関するデータ・ディクショナリ・ビュー
データディクショナリビュー 説明
ALL_DIRECTORIES 現在のユーザーがアクセスできるディレクトリ・オブジェクト
DBA_DIRECTORIES Oracleデータベース内すべてのディレクトリ・オブジェクト

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

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

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

ディレクトリに関するシステム権限
システム権限 説明
CREATE ANY DIRECTORY ディレクトリ・オブジェクトを作成できる。
DROP ANY DIRECTORY ディレクトリ・オブジェクトを削除できる。

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

GRANT CREATE DIRECTORY, DROP DIRECTORY TO tsuka;

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

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

ディレクトリに関するオブジェクト権限
オブジェクト権限 説明
READ ディレクトリ内のファイルを読み取る。
WRITE ディレクトリ内のファイルに書き込む。

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

GRANT READ, WRITE ON DIRECTORY log_dir TO tsuka;

関連SQL

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

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

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