66 DBMS_FILE_GROUP

DBMS_FILE_GROUPパッケージは、Oracle Streamsパッケージの1つで、ファイル・グループ、ファイル・グループのバージョンおよびファイルの管理をするための管理インタフェースを提供します。ファイル・グループ・リポジトリは、1つのデータベース内のすべてのファイル・グループのコレクションで、特定のファイル・グループの複数バージョンを含むことができます。このパッケージは、ファイル・グループ・リポジトリの作成および管理に使用できます。

この章のトピックは、次のとおりです:

66.1 DBMS_FILE_GROUPの概要

DBMS_FILE_GROUPパッケージを使用する前に用語を理解すると役に立ちます。

DBMS_FILE_GROUPパッケージに関連する用語は、次のとおりです。

ファイル

ファイルは、ハードディスクに格納されているファイルを参照します。ファイルは、ファイル名、ディレクトリ・オブジェクトおよびファイル・タイプで構成されます。ディレクトリ・オブジェクトは、ファイルがハード・ディスク上で格納されているディレクトリです。たとえば、ファイルには、次のコンポーネントが含まれている場合があります。

  • ファイル名: expdat.dmp

  • このファイルを含むディレクトリ・オブジェクト: db_files

  • ファイル・タイプ: DBMS_FILE_GROUP.EXPORT_DUMP_FILE

バージョン

バージョンは、関連するファイルのコレクションです。たとえば、バージョンは、一連のデータ・ファイル、およびデータ・ポンプ・トランスポータブル表領域のエクスポートによって生成されたデータ・ポンプ・エクスポート・ダンプ・ファイルで構成される場合があります。1つのバージョンに含めることができるデータ・ポンプ・エクスポート・ダンプ・ファイルは1つのみです。

ファイル・グループ

ファイル・グループは、バージョンのコレクションです。ファイル・グループでは、一連のバージョンを論理的にグループ化できます。たとえば、financial_quartersという名前のファイル・グループで、表領域セットに関連する複数バージョンのファイルを論理的にグループ化して、四半期ごとの財務データを追跡することができます。データを含む表領域を各四半期の終了時にエクスポートし、Q1FY04Q2FY04などの名前でバージョン化することができます。

66.2 DBMS_FILE_GROUPのセキュリティ・モデル

DBMS_FILE_GROUPパッケージで制御を定義する方法は2つあります。

  • 選択したユーザーまたはロールに、このパッケージのEXECUTEを付与する方法

  • 選択したユーザーまたはロールに、EXECUTE_CATALOG_ROLEを付与する方法

パッケージのサブプログラムをストアド・プロシージャ内から実行する場合、そのサブプログラムを実行するユーザーには、パッケージのEXECUTE権限を直接付与する必要があります。ロールを通して付与することはできません。

66.3 DBMS_FILE_GROUPの定数

DBMS_FILE_GROUPパッケージは、パラメータ値の指定に使用するいくつかの列挙定数を定義します。列挙定数にはパッケージ名を接頭辞として付加する必要があります。たとえば、DBMS_FILE_GROUP.EXPORT_DUMP_FILEなどです。

次の表に、パラメータおよび列挙定数の一覧を示します。

表66-1 DBMS_FILE_GROUPパラメータおよび列挙定数

パラメータ オプション タイプ 説明

file_type

new_file_type

  • DATAFILE

  • EXPORT_DUMP_FILE

  • DATAPUMP_LOG_FILE

VARCHAR2(30)

DATAFILEは、データベース用のデータファイルです。この定数は、'DATAFILE'のように指定できます。

EXPORT_DUMP_FILEは、データ・ポンプ・エクスポート・ダンプ・ファイルです。この定数は、'DUMPSET'のように指定できます。

DATAPUMP_LOG_FILEは、データ・ポンプ・エクスポート・ログ・ファイルです。この定数は、'DATAPUMPLOG'のように指定できます。

max_versions

retention_days

  • INFINITE

NUMBER

INFINITEは、制限を指定しません。max_versionsまたはretention_daysは、無制限に増やすことができます。

privilege

GRANT_SYSTEM_PRIVILEGEプロシージャで指定されるシステム権限は、次のとおりです。

  • READ_ANY_FILE_GROUP

  • MANAGE_ANY_FILE_GROUP

  • MANAGE_FILE_GROUP

GRANT_OBJECT_PRIVILEGEプロシージャで指定されるオブジェクト権限は、次のとおりです。

  • READ_ON_FILE_GROUP

  • MANAGE_ON_FILE_GROUP

BINARY_INTEGER

READ_ANY_FILE_GROUPは、データ・ディクショナリの任意のスキーマ内の任意のファイルに関する情報を表示する権限を付与します。

MANAGE_ANY_FILE_GROUPは、任意のスキーマで任意のファイル・グループを作成、管理および削除する権限を付与します。

MANAGE_FILE_GROUPは、ユーザーのスキーマでファイル・グループを作成、管理および削除する権限を付与します。

READ_ON_FILE_GROUPは、データ・ディクショナリの特定のファイル・グループに関する情報を表示する権限を付与します。

MANAGE_ON_FILE_GROUPは、ユーザーのスキーマ以外のスキーマで特定のファイル・グループを管理する権限を付与します。

66.4 DBMS_FILE_GROUPの例

DBMS_FILE_GROUPの例は別のブックにあります。

『Oracle Streams概要および管理』には、インターネットで書籍や音楽を販売するビジネスの例が記載されています。企業は、inst1.example.comデータベース内の売上データに関する週次レポートを実行し、これらのレポートをコンピュータ・ファイル・システムに2つのHTMLファイルで格納します。book_sales.htmファイルには、書籍の売上レポートが含まれ、music_sales.htmファイルには、音楽商品の売上レポートが含まれます。

企業は、これらの週次レポートを、inst2.example.comリモート・データベースのファイル・グループ・リポジトリに格納します。毎週、2つのレポートがinst1.example.comデータベースで生成され、inst2.example.comデータベースを実行するコンピュータ・システムに転送され、ファイル・グループ・バージョンとしてリポジトリに追加されます。ファイル・グループ・リポジトリには、週ごとのレポートを含むすべてのファイル・グループのバージョンが格納されます。

66.5 DBMS_FILE_GROUPサブプログラムの要約

この表は、DBMS_FILE_GROUPサブプログラムを示し、簡単に説明しています。

表66-2 DBMS_FILE_GROUPパッケージのサブプログラム

サブプログラム 説明

ADD_FILEプロシージャ

ファイル・グループのバージョンにファイルを追加します。

ALTER_FILEプロシージャ

ファイル・グループのバージョン内のファイルを変更します。

ALTER_FILE_GROUPプロシージャ

ファイル・グループを変更します。

ALTER_VERSIONプロシージャ

ファイル・グループのバージョンを変更します。

CREATE_FILE_GROUPプロシージャ

ファイル・グループを作成します。

CREATE_VERSIONプロシージャ

ファイル・グループのバージョンを作成します。

DROP_FILE_GROUPプロシージャ

ファイル・グループを削除します。

DROP_VERSIONプロシージャ

ファイル・グループのバージョンを削除します。

GRANT_OBJECT_PRIVILEGEプロシージャ

ファイル・グループに対するオブジェクト権限をユーザーに付与します。

GRANT_SYSTEM_PRIVILEGEプロシージャ

ファイル・グループ操作に対するシステム権限をユーザーに付与します。

PURGE_FILE_GROUPプロシージャ

ファイル・グループの保存方針を使用してファイル・グループをパージします。

REMOVE_FILEプロシージャ

ファイル・グループのバージョンからファイルを削除します。

REVOKE_OBJECT_PRIVILEGEプロシージャ

ファイル・グループに対するオブジェクト権限をユーザーから取り消します。

REVOKE_SYSTEM_PRIVILEGEプロシージャ

ファイル・グループ操作に対するシステム権限をユーザーから取り消します。

注意:

特に指定がないかぎり、すべてのサブプログラムがコミットされます。

66.5.1 ADD_FILEプロシージャ

このプロシージャは、ファイル・グループのバージョンにファイルを追加します。

参照:

『Oracle Streams概要および管理』のファイル・グループ・リポジトリにこのプロシージャを使用する例

構文

DBMS_FILE_GROUP.ADD_FILE(
  file_group_name  IN  VARCHAR2,
  file_name        IN  VARCHAR2,
  file_type        IN  VARCHAR2  DEFAULT NULL,
  file_directory   IN  VARCHAR2  DEFAULT NULL,
  version_name     IN  VARCHAR2  DEFAULT NULL,
  comments         IN  VARCHAR2  DEFAULT NULL);

パラメータ

表66-3 ADD_FILEプロシージャのパラメータ

パラメータ 説明

file_group_name

[schema_name.]file_group_nameの形式で指定した、バージョンを含むファイル・グループの名前。たとえば、スキーマがhq_dbaで、ファイル・グループ名がsales_tbsの場合は、hq_dba.sales_tbsと指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。

file_name

バージョンに追加するファイルの名前。ファイル名は、バージョン内で一意である必要があります。

file_type

ファイルのタイプ。予約済ファイル・タイプは、次のとおりです。

  • ファイルがデータファイルの場合は、次のように入力します。

    'DATAFILE'
  • ファイルがデータ・ポンプ・エクスポート・ダンプ・ファイルの場合は、次のように入力します。

    'DUMPSET'

    データ・ポンプ・エクスポート・ダンプ・ファイルがインポートされると、データ・ポンプ・メタデータが移入されます。

  • ファイルがデータ・ポンプ・エクスポート・ログ・ファイルの場合は、次のように入力します。

    'DATAPUMPLOG'

ファイル・タイプが予約済ファイル・タイプでない場合は、ファイル・タイプをテキストで入力するか、またはファイル・タイプの説明を省略するためにNULLを指定します。

予約済ファイル・タイプの詳細は、「定数」を参照してください。

file_directory

ファイルを含むディレクトリに対応するディレクトリ・オブジェクトの名前。

NULLに設定すると、このプロシージャはバージョンのデフォルトのディレクトリ・オブジェクトを使用します。

NULLに設定すると、バージョンのデフォルトのディレクトリ・オブジェクトが存在しない場合、このプロシージャは、ファイル・グループのデフォルトのディレクトリ・オブジェクトを使用します。

バージョンおよびファイル・グループのいずれのデフォルトのディレクトリ・オブジェクトも存在しない場合にNULLに設定すると、エラーが発生します。

version_name

ファイルが追加されるバージョンの名前。

正の整数がVARCHAR2値として指定されている場合は、その整数がバージョン番号として解釈されます。たとえば、'1'が指定されている場合、ファイルは、ファイル・グループのバージョン1に追加されます。

NULLに設定すると、このプロシージャはファイル・グループの最新バージョンを使用します。

comments

追加するファイルに関するコメント。

使用上の注意

file_typeパラメータに対してDBMS_FILE_GROUP.EXPORT_DUMP_FILEまたは'DUMPSET'のいずれかを指定してこのプロシージャを実行するには、ユーザーが次の要件を満たしている必要があります。

  • データ・ポンプ・エクスポート・ダンプ・ファイルをインポートするための適切な権限を持っていること

  • データ・ポンプ・エクスポート・ダンプ・ファイルが格納されているディレクトリ・オブジェクトに対する読取り権限を持っていること

参照:

データ・ポンプ権限の詳細は、『Oracle Databaseユーティリティ』を参照してください。

66.5.2 ALTER_FILEプロシージャ

このプロシージャは、ファイル・グループのバージョン内のファイルを変更します。

構文

DBMS_FILE_GROUP.ALTER_FILE( 
  file_group_name     IN  VARCHAR2,
  file_name           IN  VARCHAR2,
  version_name        IN  VARCHAR2  DEFAULT NULL,
  new_file_name       IN  VARCHAR2  DEFAULT NULL,
  new_file_directory  IN  VARCHAR2  DEFAULT NULL,
  new_file_type       IN  VARCHAR2  DEFAULT NULL,
  remove_file_type    IN  VARCHAR2  DEFAULT 'N', 
  new_comments        IN  VARCHAR2  DEFAULT NULL,
  remove_comments     IN  VARCHAR2  DEFAULT 'N');

パラメータ

表66-4 ALTER_FILEプロシージャのパラメータ

パラメータ 説明

file_group_name

[schema_name.]file_group_nameの形式で指定した、バージョンを含むファイル・グループの名前。たとえば、スキーマがhq_dbaで、ファイル・グループ名がsales_tbsの場合は、hq_dba.sales_tbsと指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。

file_name

バージョン内の変更するファイルの名前。

version_name

変更するファイルを含むバージョンの名前。

正の整数がVARCHAR2値として指定されている場合は、その整数がバージョン番号として解釈されます。たとえば、'1'が指定されている場合は、ファイル・グループのバージョン1にあるファイルが変更されます。

NULLに設定すると、このプロシージャはファイル・グループの最新バージョンを使用します。

new_file_name

ファイル名を変更した場合はファイルの新しい名前。ファイル名は、バージョン内で一意である必要があります。

NULLに設定すると、このプロシージャはファイル名を変更しません。

注意: NULL以外の新しいファイル名が指定されている場合、このプロシージャは、データ・ディクショナリ内のファイル名のメタデータは変更しますが、ハードディスク上のファイル名は変更しません。

new_file_directory

ディレクトリ・オブジェクトを変更した場合、ファイルを含むディレクトリに対応するディレクトリ・オブジェクトの新しい名前。

NULLに設定すると、このプロシージャはディレクトリ・オブジェクト名を変更しません。

注意: NULL以外の新しいファイル・ディレクトリが指定されている場合、このプロシージャは、データ・ディクショナリ内のファイル・ディレクトリのメタデータは変更しますが、ハードディスク上のファイル・ディレクトリは変更しません。

new_file_type

ファイルのタイプ。予約済ファイル・タイプは、次のとおりです。

  • ファイルがデータファイルの場合は、次のように入力します。

    'DATAFILE'
  • ファイルがデータ・ポンプ・エクスポート・ダンプ・ファイルの場合は、次のように入力します。

    'DUMPSET'
  • ファイルがデータ・ポンプ・エクスポート・ログ・ファイルの場合は、次のように入力します。

    'DATAPUMPLOG'

ファイル・タイプが予約済ファイル・タイプでない場合は、ファイル・タイプをテキストで入力します。

NULLに設定すると、このプロシージャはファイル・タイプを変更しません。

関連項目: 予約済ファイル・タイプの詳細は、「定数」を参照してください。

remove_file_type

Yに設定すると、このプロシージャはファイル・タイプを削除します。Yに設定して、new_file_typeパラメータがNULL以外の値の場合は、エラーが発生します。

Nに設定すると、このプロシージャはファイル・タイプを削除しません。

new_comments

変更するファイルに関する新しいコメント。NULL以外に設定すると、このプロシージャは既存のコメントを指定されたコメントに置き換えます。

NULLに設定すると、このプロシージャは既存のコメントを変更しません。

remove_comments

Yに設定すると、このプロシージャはファイルに関するコメントを削除します。Yに設定して、new_commentsパラメータがNULL以外の値の場合は、エラーが発生します。

Nに設定すると、このプロシージャは既存のコメントを変更しません。

使用上の注意

ファイル・タイプをDBMS_FILE_GROUP.EXPORT_DUMP_FILEまたは'DUMPSET'に変更すると、ファイルのデータ・ポンプ・メタデータが移入されます。ファイル・タイプをDBMS_FILE_GROUP.EXPORT_DUMP_FILEまたは'DUMPSET'から変更すると、ファイルのデータ・ポンプ・メタデータがパージされます。

new_file_typeパラメータに対してDBMS_FILE_GROUP.EXPORT_DUMP_FILEまたは'DUMPSET'を指定してこのプロシージャを実行するには、ユーザーが次の要件を満たしている必要があります。

  • データ・ポンプ・エクスポート・ダンプ・ファイルをインポートするための適切な権限を持っていること

  • データ・ポンプ・エクスポート・ダンプ・ファイルが格納されているディレクトリ・オブジェクトに対する読取り権限を持っていること

参照:

データ・ポンプ権限の詳細は、『Oracle Databaseユーティリティ』を参照してください。

66.5.3 ALTER_FILE_GROUPプロシージャ

このプロシージャは、ファイル・グループを変更します。

構文

DBMS_FILE_GROUP.ALTER_FILE_GROUP(
  file_group_name           IN  VARCHAR2,
  keep_files                IN  VARCHAR2  DEFAULT NULL,
  min_versions              IN  NUMBER    DEFAULT NULL,
  max_versions              IN  NUMBER    DEFAULT NULL,
  retention_days            IN  NUMBER    DEFAULT NULL,
  new_default_directory     IN  VARCHAR2  DEFAULT NULL,
  remove_default_directory  IN  VARCHAR2  DEFAULT 'N',
  new_comments              IN  VARCHAR2  DEFAULT NULL,
  remove_comments           IN  VARCHAR2  DEFAULT 'N');

パラメータ

表66-5 ALTER_FILE_GROUPプロシージャのパラメータ

パラメータ 説明

file_group_name

[schema_name.]file_group_nameの形式で指定した、変更するファイル・グループの名前。たとえば、スキーマがhq_dbaで、ファイル・グループ名がsales_tbsの場合は、hq_dba.sales_tbsと指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。

keep_files

Yに設定すると、ファイル・グループまたはファイル・グループのバージョンが削除またはパージされた場合でも、ファイル・グループ内のファイルはハードディスク上に保存されます。

Nに設定すると、ファイル・グループまたはファイル・グループのバージョンが削除またはパージされると、ファイル・グループ内のファイルはハードディスクから削除されます。

NULLに設定すると、このパラメータは変更されません。

注意: DROP USER CASCADE文のためにファイル・グループが削除された場合、ファイルがハードディスクから削除されるかどうかは、このパラメータの設定によって決まります。

min_versions

保存するバージョンの最小数。1以上の値を指定する必要があります。

NULLに設定すると、このプロシージャはファイル・グループのmin_versions設定を変更しません。

max_versions

保存するバージョンの最大数。min_versionsに指定された値以上の値を指定する必要があります。バージョン数が、指定したmax_versionsを超えると、最も古いバージョンがパージされます。

バージョン数を無制限にするには、DBMS_FILE_GROUP.INFINITEを指定します。

NULLに設定すると、このプロシージャはファイル・グループのmax_versions設定を変更しません。

retention_days

バージョンを保存する最大日数。0(ゼロ)以上の値を指定する必要があります。あるバージョンの経過時間が指定したretention_daysを超え、バージョンの数が指定したmin_versionsより多い場合、そのバージョンはパージされます。バージョンの経過時間は、現在の時間から作成時間を引いて計算します。

1日の一部は、小数値を使用して指定することができます。たとえば、1日と6時間は、1.25のように指定します。

バージョンを残す日数を無制限にするには、DBMS_FILE_GROUP.INFINITEを指定します。

NULLに設定すると、このプロシージャはファイル・グループのretention_days設定を変更しません。

new_default_directory

ファイルの追加時にディレクトリが指定されておらず、そのバージョンに対してデフォルトのディレクトリ・オブジェクトの指定がされていない場合に、ファイル・グループへのファイルの追加時に使用されるデフォルトのディレクトリ・オブジェクト。

NULLに設定すると、このプロシージャはデフォルトのディレクトリを変更しません。

remove_default_directory

Yに設定すると、このプロシージャはファイル・グループのデフォルトのディレクトリを削除します。Yに設定して、new_default_directoryパラメータがNULL以外の値の場合は、エラーが発生します。

Nに設定すると、このプロシージャはファイル・グループのデフォルトのディレクトリを削除しません。

new_comments

ファイル・グループに関するコメント。NULL以外に設定すると、ファイル・グループに関する既存のコメントが新しいコメントに置き換えられます。

NULLに設定すると、このプロシージャは既存のコメントを変更しません。

remove_comments

Yに設定すると、ファイル・グループに関するコメントは削除されます。Yに設定して、new_commentsパラメータがNULL以外の値の場合は、エラーが発生します。

Nに設定すると、このプロシージャはファイル・グループに関するコメントを変更しません。

使用上の注意

min_versions1に設定すると、新しいバージョンの追加時に、ファイル・グループの唯一のバージョンがパージされる場合があります。新しいバージョンの追加が完了しないうちに既存のバージョンがパージされると、使用可能なファイル・グループのバージョンが存在しない時間が発生する可能性があります。そのため、ファイル・グループのバージョンを常に使用可能にしておくには、min_versions2以上に設定します。

66.5.4 ALTER_VERSIONプロシージャ

このプロシージャは、ファイル・グループのバージョンを変更します。

構文

DBMS_FILE_GROUP.ALTER_VERSION( 
  file_group_name           IN  VARCHAR2, 
  version_name              IN  VARCHAR2  DEFAULT NULL,
  new_version_name          IN  VARCHAR2  DEFAULT NULL,
  remove_version_name       IN  VARCHAR2  DEFAULT 'N',
  new_default_directory     IN  VARCHAR2  DEFAULT NULL,
  remove_default_directory  IN  VARCHAR2  DEFAULT 'N',
  new_comments              IN  VARCHAR2  DEFAULT NULL,
  remove_comments           IN  VARCHAR2  DEFAULT 'N');

パラメータ

表66-6 ALTER_VERSIONプロシージャのパラメータ

パラメータ 説明

file_group_name

[schema_name.]file_group_nameの形式で指定した、バージョンを含むファイル・グループの名前。たとえば、スキーマがhq_dbaで、ファイル・グループ名がsales_tbsの場合は、hq_dba.sales_tbsと指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。

version_name

変更するバージョンの名前。

正の整数がVARCHAR2値として指定されている場合は、その整数がバージョン番号として解釈されます。たとえば、'1'が指定されている場合は、ファイル・グループのバージョン1が変更されます。

'*'が指定されている場合、このプロシージャはすべてのバージョンを変更します。この場合、new_version_nameパラメータはNULLに設定する必要があります。

NULLに設定すると、このプロシージャはファイル・グループの最新バージョンを使用します。

new_version_name

バージョンの新しい名前。スキーマは指定しないでください。

バージョン名に、正の整数およびアスタリスク('*')は指定できません。

NULLに設定すると、このプロシージャはバージョン名を変更しません。

remove_version_name

Yに設定すると、このプロシージャはバージョン名を削除します。バージョン名が削除された場合は、バージョン番号を使用してバージョンを管理します。Yに設定して、new_version_nameパラメータがNULL以外の値の場合は、エラーが発生します。

Nに設定すると、このプロシージャはバージョン名を削除しません。

new_default_directory

ファイルの追加時にディレクトリが指定されていない場合に、バージョンへのファイルの追加時に使用されるデフォルトのディレクトリ・オブジェクト。

NULLに設定すると、このプロシージャはデフォルトのディレクトリを変更しません。

remove_default_directory

Yに設定すると、このプロシージャはデフォルトのディレクトリを削除します。Yに設定して、new_default_directoryパラメータがNULL以外の値の場合は、エラーが発生します。

Nに設定すると、このプロシージャはデフォルトのディレクトリを削除しません。

new_comments

バージョンに関するコメント。NULL以外に設定すると、バージョンに関する既存のコメントが新しいコメントに置き換えられます。

NULLに設定すると、このプロシージャはコメントを変更しません。

remove_comments

Yに設定すると、このプロシージャはバージョンに関するコメントを削除します。Yに設定して、new_commentsパラメータがNULL以外の値の場合は、エラーが発生します。

Nに設定すると、このプロシージャはバージョンに関するコメントを削除しません。

66.5.5 CREATE_FILE_GROUPプロシージャ

このプロシージャは、ファイル・グループを作成します。

参照:

『Oracle Streams概要および管理』のファイル・グループ・リポジトリにこのプロシージャを使用する例

構文

DBMS_FILE_GROUP.CREATE_FILE_GROUP(
  file_group_name    IN  VARCHAR2,
  keep_files         IN  VARCHAR2  DEFAULT 'Y',
  min_versions       IN  NUMBER    DEFAULT 2,
  max_versions       IN  NUMBER    DEFAULT DBMS_FILE_GROUP.INFINITE,
  retention_days     IN  NUMBER    DEFAULT DBMS_FILE_GROUP.INFINITE,
  default_directory  IN  VARCHAR2  DEFAULT NULL,
  comments           IN  VARCHAR2  DEFAULT NULL);

パラメータ

表66-7 CREATE_FILE_GROUPプロシージャのパラメータ

パラメータ 説明

file_group_name

[schema_name.]file_group_nameの形式で指定したファイル・グループの名前。たとえば、スキーマがhq_dbaで、ファイル・グループ名がsales_tbsの場合は、hq_dba.sales_tbsと指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。

keep_files

Yに設定すると、ファイル・グループまたはファイル・グループのバージョンが削除またはパージされた場合でも、ファイル・グループ内のファイルはハードディスク上に保存されます。

Nに設定すると、ファイル・グループまたはファイル・グループのバージョンが削除またはパージされると、ファイル・グループ内のファイルはハードディスクから削除されます。

注意: DROP USER CASCADE文のためにファイル・グループが削除された場合、ファイルがハードディスクから削除されるかどうかは、このパラメータの設定によって決まります。

min_versions

保存するバージョンの最小数。1以上の値を指定する必要があります。

max_versions

保存するバージョンの最大数。min_versionsに指定された値以上の値を指定する必要があります。バージョン数が、指定したmax_versionsを超えると、最も古いバージョンがパージされます。

バージョン数を無制限にするには、DBMS_FILE_GROUP.INFINITEを指定します。

retention_days

バージョンを保存する最大日数。0(ゼロ)以上の値を指定する必要があります。あるバージョンの経過時間が指定したretention_daysを超え、バージョンの数が指定したmin_versionsより多い場合、そのバージョンはパージされます。バージョンの経過時間は、現在の時間から作成時間を引いて計算します。

1日の一部は、小数値を使用して指定することができます。たとえば、1日と6時間は、1.25のように指定します。

バージョンを残す日数を無制限にするには、DBMS_FILE_GROUP.INFINITEを指定します。

default_directory

ファイルの追加時にディレクトリが指定されておらず、そのバージョンに対してデフォルトのディレクトリ・オブジェクトの指定がされていない場合に、ファイル・グループへのファイルの追加時に使用されるデフォルトのディレクトリ・オブジェクト。

comments

作成するファイル・グループに関するコメント。

使用上の注意

min_versions1に設定すると、新しいバージョンの追加時に、ファイル・グループの唯一のバージョンがパージされる場合があります。新しいバージョンの追加が完了しないうちに既存のバージョンがパージされると、使用可能なファイル・グループのバージョンが存在しない時間が発生する可能性があります。そのため、ファイル・グループのバージョンを常に使用可能にしておくには、min_versions2以上に設定します。

66.5.6 CREATE_VERSIONプロシージャ

このプロシージャは、ファイル・グループのバージョンを作成します。

このプロシージャは、PURGE_FILE_GROUPプロシージャを自動的に実行します。そのため、ファイル・グループの保存方針に基づいてバージョンをパージできます。

このプロシージャはオーバーロードされています。このプロシージャの一方のバージョンではOUTパラメータversion_outを使用しますが、もう一方のバージョンでは使用しません。

参照:

構文

DBMS_FILE_GROUP.CREATE_VERSION(
  file_group_name    IN  VARCHAR2,
  version_name       IN  VARCHAR2 DEFAULT NULL,
  default_directory  IN  VARCHAR2 DEFAULT NULL,
  comments           IN  VARCHAR2 DEFAULT NULL);

DBMS_FILE_GROUP.CREATE_VERSION(
  file_group_name    IN   VARCHAR2,
  version_name       IN   VARCHAR2 DEFAULT NULL,
  default_directory  IN   VARCHAR2 DEFAULT NULL,
  comments           IN   VARCHAR2 DEFAULT NULL,
  version_out        OUT  VARCHAR2);

パラメータ

表66-8 CREATE_VERSIONプロシージャのパラメータ

パラメータ 説明

file_group_name

[schema_name.]file_group_nameの形式で指定した、新しいバージョンを追加するファイル・グループの名前。たとえば、スキーマがhq_dbaで、ファイル・グループ名がsales_tbsの場合は、hq_dba.sales_tbsと指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。

version_name

作成するバージョンの名前。スキーマは指定しないでください。

バージョンの作成時にバージョン番号が自動的に生成されるため、バージョン名に正の整数は指定できません。また、バージョン名に、アスタリスク('*')は指定できません。

default_directory

ファイルの追加時にディレクトリが指定されていない場合に、バージョンへのファイルの追加時に使用されるデフォルトのディレクトリ・オブジェクト。

comments

作成するバージョンに関するコメント。

version_out

version_nameパラメータがNULL以外に設定されている場合、このパラメータには、指定したバージョン名が含まれます。

version_nameパラメータがNULLに設定されている場合、このパラメータには、生成されるバージョン番号が含まれます。

66.5.7 DROP_FILE_GROUPプロシージャ

このプロシージャは、ファイル・グループを削除します。

構文

DBMS_FILE_GROUP.DROP_FILE_GROUP(
  file_group_name  IN  VARCHAR2,
  keep_files       IN  VARCHAR2  DEFAULT NULL);

パラメータ

表66-9 DROP_FILE_GROUPプロシージャのパラメータ

パラメータ 説明

file_group_name

[schema_name.]file_group_nameの形式で指定した、削除するファイル・グループの名前。たとえば、スキーマがhq_dbaで、ファイル・グループ名がsales_tbsの場合は、hq_dba.sales_tbsと指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。

keep_files

Yに設定すると、このプロシージャはファイル・グループ内のファイルをハードディスク上に保存します。

Nに設定すると、このプロシージャはファイル・グループ内のファイルをハードディスクから削除します。

NULLに設定すると、このプロシージャはファイル・グループのデフォルトのファイル保存のプロパティを使用します。

使用上の注意

このプロシージャによってハードディスク上のファイルを削除する場合、このプロシージャを実行するユーザーは、それらのファイルが含まれているディレクトリ・オブジェクトに対する書込み権限を持っている必要があります。

66.5.8 DROP_VERSIONプロシージャ

このプロシージャは、ファイル・グループのバージョンを削除します。

構文

DBMS_FILE_GROUP.DROP_VERSION( 
  file_group_name  IN  VARCHAR2, 
  version_name     IN  VARCHAR2 DEFAULT NULL,
  keep_files       IN  VARCHAR2 DEFAULT NULL);

パラメータ

表66-10 DROP_VERSIONプロシージャのパラメータ

パラメータ 説明

file_group_name

[schema_name.]file_group_nameの形式で指定した、バージョンを含むファイル・グループの名前。たとえば、スキーマがhq_dbaで、ファイル・グループ名がsales_tbsの場合は、hq_dba.sales_tbsと指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。

version_name

削除するバージョンの名前。

正の整数がVARCHAR2値として指定されている場合は、その整数がバージョン番号として解釈されます。たとえば、'1'が指定されている場合は、ファイル・グループのバージョン1が削除されます。

NULLに設定すると、このプロシージャはファイル・グループの最も古いバージョンを使用します。

'*'に設定すると、このプロシージャはすべてのバージョンを削除します。

keep_files

Yに設定すると、このプロシージャはバージョン内のファイルをハードディスク上に保存します。

Nに設定すると、このプロシージャはバージョン内のファイルをハードディスクから削除します。

NULLに設定すると、このプロシージャはファイル・グループのデフォルトのファイル保存のプロパティを使用します。

使用上の注意

このプロシージャによってハードディスク上のファイルを削除する場合、このプロシージャを実行するユーザーは、それらのファイルが含まれているディレクトリ・オブジェクトに対する書込み権限を持っている必要があります。

66.5.9 GRANT_OBJECT_PRIVILEGEプロシージャ

このプロシージャは、ファイル・グループに対するオブジェクト権限をユーザーに付与します。

構文

DBMS_FILE_GROUP.GRANT_OBJECT_PRIVILEGE(
  object_name   IN  VARCHAR2,
  privilege     IN  BINARY_INTEGER,
  grantee       IN  VARCHAR2,
  grant_option  IN  BOOLEAN DEFAULT FALSE);

パラメータ

表66-11 GRANT_OBJECT_PRIVILEGEプロシージャのパラメータ

パラメータ 説明

object_name

[schema_name.]file_group_nameの形式で指定した、権限を付与するファイル・グループの名前。たとえば、スキーマがhq_dbaで、ファイル・グループ名がsales_tbsの場合は、hq_dba.sales_tbsと指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。

privilege

権限を指定する定数。有効な権限については、「定数」を参照してください。

grantee

権限を付与するユーザーまたはロールの名前。オブジェクトの所有者を指定することはできません。

grant_option

TRUEに設定すると、指定の権限を付与された指定ユーザーは、この権限を他のユーザーに付与できます。

FALSEに設定すると、指定の権限を付与された指定ユーザーは、この権限を他のユーザーに付与できません。

使用上の注意

このプロシージャを実行するユーザーは、次の要件を最低1つ満たす必要があります。

  • 権限を付与するオブジェクトの所有者であること。

  • 付与する権限と同じ権限および付与オプションがあること。

66.5.10 GRANT_SYSTEM_PRIVILEGEプロシージャ

このプロシージャは、ファイル・グループ操作に対するシステム権限をユーザーに付与します。

注意:

「ANY」オブジェクトに関する権限(ALTER_ANY_RULEなど)を付与する際に、O7_DICTIONARY_ACCESSIBILITY初期化パラメータがFALSEに設定されている場合は、SYSスキーマを除くすべてのスキーマで、該当するタイプのオブジェクトへのアクセス権をユーザーに付与してください。デフォルトでは、初期化パラメータO7_DICTIONARY_ACCESSIBILITYFALSEに設定されます。

SYSスキーマ内のオブジェクトへのアクセス権を付与する場合は、オブジェクトに対するオブジェクト権限を明示的に付与できます。または、O7_DICTIONARY_ACCESSIBILITY初期化パラメータをTRUEに設定することもできます。この設定によって、「ANY」オブジェクトに対して付与した権限で、SYSも含めた任意のスキーマにアクセスできます。O7_DICTIONARY_ACCESSIBILITY初期化パラメータの設定には、注意が必要です。

構文

DBMS_FILE_GROUP.GRANT_SYSTEM_PRIVILEGE(
  privilege     IN  BINARY_INTEGER,
  grantee       IN  VARCHAR2,
  grant_option  IN  BOOLEAN  DEFAULT FALSE);

パラメータ

表66-12 GRANT_SYSTEM_PRIVILEGEプロシージャのパラメータ

パラメータ 説明

privilege

権限を指定する定数。有効な権限については、「定数」を参照してください。

grantee

権限を付与するユーザーまたはロールの名前。プロシージャの実行者を指定することはできません。

grant_option

TRUEに設定すると、指定の権限を付与された指定ユーザーは、この権限を他のユーザーに付与できます。

FALSEに設定すると、指定の権限を付与された指定ユーザーは、この権限を他のユーザーに付与できません。

66.5.11 PURGE_FILE_GROUPプロシージャ

このプロシージャは、ファイル・グループの保存方針を使用してファイル・グループをパージします。

ファイル・グループの保存方針は、max_versionsmin_versionsおよびretention_daysパラメータの設定によって決まります。ファイル・グループのパージ時には、ファイル・グループの次のバージョンが削除されます。

  • バージョンが作成時間に基づいて降順で並べられている場合の、ファイル・グループのmax_versions設定を超えるすべてのバージョン。したがって、古いバージョンが新しいバージョンより先にパージされます。

  • バージョンのパージによって、バージョン番号がファイル・グループのmin_versions設定より低いバージョンが削除される場合を除いて、ファイル・グループのretention_days設定より古いすべてのバージョン。

SYS.FGR$AUTOPURGE_JOBという名前のジョブでは、データベース内のすべてのファイル・グループが、ジョブのスケジュールに従って定期的に自動的にパージされます。DBMS_SCHEDULERパッケージを使用すると、このジョブのスケジュールを調整できます。また、PURGE_FILE_GROUPプロシージャを定期的に実行するジョブを作成することもできます。

構文

DBMS_FILE_GROUP.PURGE_FILE_GROUP(
  file_group_name  IN  VARCHAR2);

パラメータ

表66-13 PURGE_FILE_GROUPプロシージャのパラメータ

パラメータ 説明

file_group_name

[schema_name.]file_group_nameの形式で指定したファイル・グループの名前。たとえば、スキーマがhq_dbaで、ファイル・グループ名がsales_tbsの場合は、hq_dba.sales_tbsと指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。

SYSユーザーがこのプロシージャを実行する場合にNULLに設定すると、このプロシージャはすべてのファイル・グループをパージします。

使用上の注意

このプロシージャによってハードディスク上のファイルを削除する場合、このプロシージャを実行するユーザーは、それらのファイルが含まれているディレクトリ・オブジェクトに対する書込み権限を持っている必要があります。バージョンがパージされ、そのバージョンのファイル・グループのkeep_filesパラメータがNに設定されている場合、ファイルは削除されます。

66.5.12 REMOVE_FILEプロシージャ

このプロシージャは、ファイル・グループのバージョンからファイルを削除します。

構文

DBMS_FILE_GROUP.REMOVE_FILE(
  file_group_name  IN  VARCHAR2,
  file_name        IN  VARCHAR2,
  version_name     IN  VARCHAR2 DEFAULT NULL,
  keep_file        IN  VARCHAR2 DEFAULT NULL);

パラメータ

表66-14 REMOVE_FILEプロシージャのパラメータ

パラメータ 説明

file_group_name

[schema_name.]file_group_nameの形式で指定した、バージョンを含むファイル・グループの名前。たとえば、スキーマがhq_dbaで、ファイル・グループ名がsales_tbsの場合は、hq_dba.sales_tbsと指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。

file_name

バージョンから削除するファイルの名前。

version_name

ファイルを削除するバージョンの名前。

正の整数がVARCHAR2値として指定されている場合は、その整数がバージョン番号として解釈されます。たとえば、'1'が指定されている場合、ファイルはファイル・グループのバージョン1から削除されます。

NULLに設定すると、このプロシージャはファイル・グループの最新バージョンを使用します。

'*'に設定すると、このプロシージャはすべてのバージョンからファイルを削除します。

keep_file

Yに設定すると、このプロシージャはファイルをハードディスク上に保存します。

Nに設定すると、このプロシージャはファイルをハードディスクから削除します。

NULLに設定すると、このプロシージャはファイル・グループのデフォルトのファイル保存のプロパティを使用します。

使用上の注意

このプロシージャによってハードディスク上のファイルを削除する場合、このプロシージャを実行するユーザーは、それらのファイルが含まれているディレクトリ・オブジェクトに対する書込み権限を持っている必要があります。

66.5.13 REVOKE_OBJECT_PRIVILEGEプロシージャ

このプロシージャは、ファイル・グループに対するオブジェクト権限をユーザーから取り消します。

構文

DBMS_FILE_GROUP.REVOKE_OBJECT_PRIVILEGE(
  object_name  IN  VARCHAR2,
  privilege    IN  BINARY_INTEGER,
  revokee      IN  VARCHAR2);

パラメータ

表66-15 REVOKE_OBJECT_PRIVILEGEプロシージャのパラメータ

パラメータ 説明

object_name

[schema_name.]file_group_nameの形式で指定した、権限を取り消すファイル・グループの名前。たとえば、スキーマがhq_dbaで、ファイル・グループ名がsales_tbsの場合は、hq_dba.sales_tbsと指定します。スキーマを指定しない場合は、現行のユーザー名がデフォルトで使用されます。

privilege

権限を指定する定数。有効な権限については、「定数」を参照してください。

revokee

権限が取り消されるユーザーまたはロールの名前。オブジェクトの所有者を指定することはできません。

66.5.14 REVOKE_SYSTEM_PRIVILEGEプロシージャ

このプロシージャは、ファイル・グループ操作に対するシステム権限をユーザーから取り消します。

構文

DBMS_FILE_GROUP.REVOKE_SYSTEM_PRIVILEGE(
  privilege  IN  BINARY_INTEGER,
  revokee    IN  VARCHAR2);

パラメータ

表66-16 REVOKE_SYSTEM_PRIVILEGEプロシージャのパラメータ

パラメータ 説明

privilege

権限を指定する定数。有効な権限については、「定数」を参照してください。

revokee

権限が取り消されるユーザーまたはロールの名前。プロシージャの実行者を指定することはできません。