ディレクトリの作成

ディレクトリを作成するには、データベースのCREATE DIRECTORYコマンドを使用します。CREATE DIRECTORYを使用して、新しいディレクトリのパスを相対パスとして指定します。

CREATE DIRECTORYはデータベース・ディレクトリ・オブジェクトを作成し、また、ファイル・システム・ディレクトリが存在しない場合は作成します。ファイル・システム・ディレクトリが存在する場合、CREATE DIRECTORYはデータベース・ディレクトリ・オブジェクトのみを作成します。たとえば、次のコマンドでは、stagingという名前のデータベース・ディレクトリが作成され、ファイル・システム・ディレクトリstageが作成されます。

CREATE DIRECTORY staging AS 'stage';

サブディレクトリを作成することもできます。たとえば、次のコマンドは、データベース・ディレクトリ・オブジェクトsales_stagingおよびファイル・システム・ディレクトリstage/salesを作成します:

CREATE DIRECTORY sales_staging AS 'stage/sales';

サブディレクトリを作成するときに、初期ファイル・システム・ディレクトリを作成する必要はありません。たとえば、前の例でディレクトリstageが存在しない場合、CREATE DIRECTORYコマンドはディレクトリstagestage/salesの両方を作成します。

ディレクトリを追加するには、CREATE ANY DIRECTORYシステム権限が必要です。ADMINユーザーには、CREATE ANY DIRECTORYシステム権限が付与されます。ADMINユーザーは、CREATE ANY DIRECTORYシステム権限を他のユーザーに付与できます。

詳細については、『Oracle Database 19c SQL言語リファレンス』CREATE DIRECTORYに関する項または『Oracle Database 26ai SQL言語リファレンス』を参照してください。

ノート:

CREATE OR REPLACE DIRECTORY ROOT_DIR AS '';

ROOT_DIRディレクトリを作成した後、次のコマンドを使用すると、すべてのファイルがリストされます:

 SELECT * FROM DBMS_CLOUD.list_files('ROOT_DIR');

ADMIN以外のユーザーでDBMS_CLOUD.LIST_FILESを実行するには、そのユーザーにそのディレクトリに対する読取り権限を付与する必要があります。詳細は、LIST_FILESファンクションを参照してください。

関連コンテンツ