51 DBMS_DBFS_SFS

DBMS_DBFS_SFSパッケージは、DBMS_DBFS_CONTENTパッケージで説明されているコンテンツ・インタフェースにSecureFileベース・ストア(SFS)を操作するためのインタフェースを提供します。

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

51.1 DBMS_DBFS_SFSの概要

DBMS_DBFS_SFSパッケージは、DBMS_DBFS_CONTENT_SPIインタフェースを実装し拡張するパッケージのサンプル実装です。RDBMSに格納されているPOSIX準拠ファイル・システムを提供します。

51.2 DBMS_DBFS_SFSのセキュリティ・モデル

DBMS_DBFS_SFSパッケージはAUTHID CURRENT_USERで実行されます。

51.3 DBMS_DBFS_SFSの定数

DBMS_DBFS_SFSパッケージでは、次の表に示す定数が使用されます。

表51-1 DBMS_DBFS_SFSの定数: 圧縮レベル

定数 タイプ 説明

COMPRESSION_DEFAULT

VARCHAR2(32)

''

デフォルトのSecureFile圧縮レベルを使用します。

COMPRESSION_LOW

VARCHAR2(32)

'LOW'

圧縮レベル'LOW'を使用します。

COMPRESSION_MEDIUM

VARCHAR2(32)

'MEDIUM'

圧縮レベル'MEDIUM'を使用します。

COMPRESSION_HIGH

VARCHAR2(32)

'HIGH'

圧縮レベル'HIGH'を使用します。

表51-2 DBMS_DBFS_SFSの定数: 暗号化パラメータが使用

定数 タイプ 説明

ENCRYPTION_DEFAULT

VARCHAR2(32)

''

デフォルトのSecureFile暗号化アルゴリズムを使用します。

ENCRYPTION_3DES168

VARCHAR2(32)

'3DES168'

暗号化3DES 168ビットを使用します。

ENCRYPTION_AES128

VARCHAR2(32)

'AES128'

暗号化AES 128ビットを使用します。

ENCRYPTION_AES192

VARCHAR2(32)

'AES192'

暗号化AES 192ビットを使用します。

ENCRYPTION_AES256

VARCHAR2(32)

'AES256'

暗号化AES 256ビットを使用します。

表51-3 DBMS_DBFS_SFSの定数: npartitionsパラメータが使用

定数 タイプ 説明

DEFAULT_PARTITIONS

INTEGER

16

16パーティションをデフォルトに設定します。

表51-4 DBMS_DBFS_SFSの定数 - partition_keyパラメータが使用

定数 タイプ 説明

PARTITION_BY_ITEM

INTEGER

1

パーティション・キーに項目名のハッシュを使用します。

PARTITION_BY_PATH

INTEGER

2

パーティション・キーにパス名のハッシュを使用します。

PARTITION_BY_GUID

INTEGER

3

パーティション・キーにGUIDのハッシュを使用します。

51.4 DBMS_DBFS_SFSサブプログラムの要約

この表は、DBMS_DBFS_SFSパッケージのサブプログラムについて説明しています。

表51-5 DBMS_DBFS_SFSパッケージのサブプログラム

サブプログラム 説明

CREATEFILESYSTEMプロシージャ

ファイル・システム・ストアを作成します。

CREATESTOREプロシージャ

新しいDBFS SFSストアを作成します。

DROPFILESYSTEMプロシージャ

DBFS SFSストアを削除します。

INITFSプロシージャ

POSIXファイル・システム・ストアを初期化します。

51.4.1 CREATEFILESYSTEMプロシージャ

このプロシージャは、ファイル・システム・ストアを作成します。

構文

DBMS_DBFS_SFS.CREATEFILESYSTEM (
   store_name         IN     VARCHAR2,
   schema_name        IN     VARCHAR2    DEFAULT NULL,
   tbl_name           IN     VARCHAR2    DEFAULT NULL,
   tbl_tbs            IN     VARCHAR2    DEFAULT NULL,
   lob_tbs            IN     VARCHAR2    DEFAULT NULL,
   use_bf             IN     BOOLEAN     DEFAULT FALSE,
   properties         IN     DBMS_DBFS_CONTENT_PROPERTIES_T DEFAULT NULL,
   create_only        IN     BOOLEAN     FALSE,
   use_objects        IN     BOOLEAN     DEFAULT FALSE,
   with_grants        IN     BOOLEAN     DEFAULT FALSE,
   do_dedup           IN     BOOLEAN     DEFAULT FALSE,
   do_compress        IN     BOOLEAN     DEFAULT FALSE
   compression        IN     VARCHAR2    DEFAULT COMPRESSION_DEFAULT,
   do_encrypt         IN     BOOLEAN     DEFAULT FALSE,
   encryption         IN     VARCHAR2    DEFAULT ENCRYPTION_DEFAULT,
   do_partition       IN     BOOLEAN     DEFAULT FALSE,
   npartitions        IN     NUMBER      DEFAULTDEFAULT_PARTITIONS,
   partition_key      IN     NUMBER      DEFAULT PARTITION_BY_ITEM,
   partition_guidi    IN     BOOLEAN     DEFAULT FALSE,
   partition_pathi    IN     BOOLEAN     DEFAULT FALSE,
   partition_prop     IN     BOOLEAN     DEFAULT TRUE);

パラメータ

表51-6 CREATEFILESYSTEMプロシージャのパラメータ

パラメータ 説明

store_name

ストアの名前。

schema_name

ストアのスキーマで、デフォルトは現行のスキーマになります。

tbl_name

ストア・エントリの表。指定しない場合、内部的に生成された名前が使用されます。

tbl_tb

ストアの表領域で、デフォルトはスキーマのデフォルト表領域になります。

lob_tbs

LOBセグメントを作成する表領域。デフォルトはユーザーのデフォルト表領域になります。

use_bf

TRUEに設定すると、BasicFile LOBが使用され、それ以外の場合は、SecureFile LOBが使用されます。

properties

ストア・プロパティを構成する(名前、値、typecode)タプルの表。現在、該当するプロパティは定義または使用されていません。

create_only

TRUEに設定すると、ファイル・システムが作成されますが、現行のユーザーに登録されません。

use_objects

TRUEに設定すると、新しいファイル・システムをバックアップするために、オブジェクト・タイプ列(ネストした表を使用)がある単一の元表が作成されます。それ以外の場合は、ファイル・システムのバックアップには(親、子)表のペアが使用されます。両方の場合に、オブジェクト・タイプのネストされた表または子表は、ユーザー定義のプロパティのみに使用されます。

with_grants

TRUEに設定すると、ファイル・システム作成の一環として、DMLおよび問合せアクセス権限がDBFS_ROLEに付与されます。それ以外の場合は、ファイル・システムにアクセスするために明示的な付与(または既存の権限)が必要です。

do_dedup

TRUEに設定すると、元のSecureFile列を複製解除します。

do_compress

TRUEに設定すると、元のSecureFile列を圧縮します。

compression

使用する圧縮アルゴリズム(表51-1を参照)。

do_encrypt

TRUEに設定すると、元のSecureFile列を暗号化します。

encryption

使用する暗号化アルゴリズム(表51-2を参照)。

do_partition

TRUEに設定すると、記憶域に使用される表をパーティション化します。

npartitions

表に対して作成するパーティションの数(表51-3を参照)。

partition_key

表をパーティション化する方法: 項目名、パス名またはGUID (表51-4を参照)。

partition_guidi

TRUEに設定すると、GUIDに索引を作成します。

partition_pathi

TRUEに設定すると、パス名に索引を作成します。

partition_prop

TRUEに設定すると、プロパティ表をパーティション化します。

使用上の注意

実行前後に自動コミットする点で、このプロシージャはDDLのように実行します。

51.4.2 CREATESTOREプロシージャ

このプロシージャは、起動セッション・ユーザーが所有する新しいDBFS SFSストアを作成します。

構文

DBMS_DBFS_SFS.CREATESTORE  (
   store_name     IN     VARCHAR2,
   tbl_name       IN     VARCHAR2  DEFAULT NULL,
   tbs_name       in     VARCHAR2  DEFAULT NULL,
   use_bf         in     BOOLEAN   DEFAULT FALSE,
   stgopts        in     VARCHAR2 DEFAULT '');

パラメータ

表51-7 CREATESTOREプロシージャのパラメータ

パラメータ 説明

store_name

ストアの名前。

store_type

STORETYPE_TAPEまたはSTORETYPE_AMAZONS3

tbl_name

データベースにキャッシュされたストア・コンテンツのプレースホルダ。

tbs_name

名前を付けられた表領域。

use_bf

TRUEに設定すると、BasicFile LOBが使用され、それ以外の場合は、SecureFile LOBが使用されます。

stgopts

現在は実行できず、将来使用するために予約されています。

51.4.3 DROPFILESYSTEMプロシージャ

このプロシージャは、DBFS SFSストアを削除し、ストアと関連付けられているすべてのディクショナリ情報をパージし、元のファイル・システム表を削除します。

構文

DBMS_DBFS_SFS.DROPFILESYSTEM  (
   schema_name    IN      VARCHAR2 DEFAULT NULL,
   tbl_name       IN      INTEGER);

DBMS_DBFS_SFS.DROPFILESYSTEM  (
   store_name     IN      VARCHAR2);

パラメータ

表51-8 DROPFILESYSTEMプロシージャのパラメータ

パラメータ 説明

schema_name

スキーマの名前。

tbl_name

表領域の名前。

store_name

ストア・パスの名前。

使用上の注意

  • 指定されたストア表が現行のユーザーによって登録されている場合、DBMS_DBFS_CONTENTパッケージおよびPOSIXメタデータ表で説明されているコンテンツ・インタフェースから登録解除されます。

  • 登録解除後、表の格納が試行されます。そのときに他のユーザーがこのストア表を使用している場合、この処理は失敗する場合があります。

  • ストアの元になる表の削除を試行するユーザーには、実際に削除操作を完了する権限が必要です(表の所有者として、またはスキーマ間操作に対する十分な権限があるユーザーとして)。

  • 実行前後に自動コミットする点で、このプロシージャはDDLのように実行します。

51.4.4 INITFSプロシージャ

このプロシージャは、POSIXファイル・システム・ストアを初期化します。POSIXファイル・システム・ストアstore_nameと関連付けられた表は、切り捨てられ、単一の「ルート」ディレクトリ・エントリで再初期化されます。

構文

DBMS_DBFS_SFS.INITFS (
   store_name     IN      VARCHAR2);

パラメータ

表51-9 INITFSプロシージャのパラメータ

パラメータ 説明

store_name

ストアの名前。

使用上の注意

実行前後に自動コミットする点で、このプロシージャはDDLのように実行します。