ディレクトリ・オブジェクトの管理
用途
  • ディレクトリ・オブジェクトは、外部バイナリ・ファイルLOB(BFILE)および外部表データが存在するサーバー・ファイル・システム上のディレクトリの別名を示す。
  • PL/SQLコードおよびOCIコールでBFILEを参照する際、管理の汎用性のために、オペレーティング・システムのパス名をハード・エンコードせずにディレクトリ名を使用できる。
権限付与
  • ディレクトリを作成する場合は、CREATE ANY DIRECTORYシステム権限が必要である。
  • ディレクトリを作成する場合、そのディレクトリに対するREADオブジェクト権限およびWRITEオブジェクト権限が自動的に付与され、他のユーザーおよびロールにこれらの権限を付与できる。
ディレクトリ・オブジェクトの作成

CREATE {OR REPLACE} DIRECTORY directory_object_name AS 'path_name'

  • directory_object_nameの最大長は30バイト。
  • ディレクトリ・オブジェクトは、スキーマ名で修飾できない。
  • 指定したディレクトリが実際に存在するかどうかは検証される。
  • パス名の終わりにスラッシュを指定する必要はない。

datapump_dirというディレクトリ・オブジェクト作成

PROD(SYS)>CREATE OR REPLACE DIRECTORY DATAPUMP_DIR AS '/U01/APP/ORACLE/DATAPUMP_DIR';

ディレクトリが作成されました。

--# TOMに読取/書込み権限を付与する。
PROD(SYS)>GRANT READ,WRITE ON DIRECTORY DATAPUMP_DIR TO TOM;

権限付与が成功しました。

PROD(SYS)>
ディレクトリ・オブジェクトの削除

DROP DIRECTORY directory_object_name

PROD(SYS)>DROP DIRECTORY DATAPUMP_DIR;

ディレクトリが削除されました。

PROD(SYS)>
ディレクトリ・オブジェクトの情報表示

DBA_DIRECTORIES

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License