48 DBMS_DBFS_CONTENT

DBMS_DBFS_CONTENTパッケージは、1つ以上のストア・プロバイダによってサポートされるファイル・システムのような抽象化を構成するインタフェースを提供します。

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

48.1 DBMS_DBFS_CONTENTの概要

DBMS_DBFS_CONTENTパッケージは、Oracleデータベースをクライアント側のDBFSに接続するインタフェースを提供します。

サーバー側では、DBMS_DBFS_CONTENTパッケージはDBMS_DBFS_CONTENT_SPIパッケージによってサポートされています。このパッケージには、DBFSストアの実際の実装ではなく、DBFSストアの記述が含まれます。

参照:

48.2 DBMS_DBFS_CONTENTのセキュリティ・モデル

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

48.3 DBMS_DBFS_CONTENTの定数

DBMS_DBFS_CONTENTパッケージでは、様々なタイプの定数が使用されます。

これらを、次の表に示します。

パス名の定数およびタイプ

次の定数は、パスと項目名の宣言に役立ちます。パスは1024文字に制限され、項目名は256文字に制限されます。

表48-1 DBMS_DBFS_CONTENTの定数 - パス名

定数 タイプ 説明

NAME_MAX

PLS_INTEGER

256

クライアントが参照できる絶対パス名の最大長。

NAME_T

VARCHAR2(256)

NAME_MAX

コンポーネント名を表すことができる文字列のポータブル別名。

PATH_MAX

PLS_INTEGER

1024

クライアントが参照できる絶対パス名の個別コンポーネントの最大長。

PATH_T

VARCHAR2(1024)

PATH_MAX

パス名を表すことができる文字列のポータブル別名。

コンテンツIDの定数

ストアは、ストアにある特定のパス項目を表す一意識別子をユーザーに表示できます。これらの識別子は128文字に制限されます。

表48-2 DBMS_DBFS_CONTENTの定数: コンテンツID

定数 タイプ 説明

CONTENT_ID_MAX

PLS_INTEGER

128

ファイル・タイプのコンテンツ項目を識別する、ストア固有のプロバイダによって生成されたコンテンツIDの最大長。

CONTENT_ID_T

RAW(128)

CONTENT_ID_MAX

コンテンツID値を表すことができるRAWバッファのポータブル別名。

パスのプロパティの定数

ストアにあるすべてのパス名はプロパティのセットと関連付けられています。各プロパティは文字列「名前」、文字列「値」(未設定、未定義または特定のストア実装でサポートされていない場合は、NULL)および値「typecode」(「値」文字列で保持される実際の値のタイプに対する数値判別式)で識別されます。

表48-3 DBMS_DBFS_CONTENTの定数: プロパティ

定数 タイプ 説明

PROPNAME_MAX

PLS_INTEGER

32

プロパティ名の最大長。

PROPNAME_T

VARCHAR2(32)

PROPNAME_MAX

プロパティ名を表すことができる文字列のポータブル別名。

PROPVAL_MAX

PLS_INTEGER

1024

プロパティの文字列の最大長。

PROPVAL_T

VARCHAR2(1024)

PATH_MAX

プロパティの値を表すことができる文字列のポータブル別名。

パス名タイプの定数

ストアのパス項目には関連付けられた項目タイプがあります。これらのタイプは、項目がストアで表すエントリの種類を表します。

表48-4 DBMS_DBFS_CONTENTの定数: パス名タイプ

定数 タイプ 説明

TYPE_FILE

PLS_INTEGER

1

コンテンツを格納する標準のファイル(BLOBとしてアクセスされるバイトの論理的に線形な順序)。

TYPE_DIRECTORY

PLS_INTEGER

2

ファイル・タイプなど、他のパス名タイプのコンテナ。

TYPE_LINK

PLS_INTEGER

3

シンボリック・リンク(つまり、パス名と関連付けられている未解釈文字列)。シンボリック・リンクは、指定したどのストア(または、DBMS_DBFS_CONTENTインタフェースによって管理されるストア全体の集計)の範囲から外れるパス名を表す場合やパス名を表さない場合もあるため、クライアントは注意してシンボリック・リンクを作成する必要があり、ストアはこれらのリンクを内部的に解決するように注意する必要があります。

TYPE_REFERENCE

PLS_INTEGER

4

コンテンツに対して常に有効なパスの別名であるハード・リンク。

ストア機能の定数

DBFSコンテンツAPIでは、様々なストア・プロバイダ(および様々なストア)が機能セット(サポートする機能とサポートしない機能を示すビットマスク)によって自分たちを記述できるようにします。

表48-5 DBMS_DBFS_CONTENTの定数 - ストア機能

定数 タイプ 説明

FEATURE_FOLDERS

PLS_INTEGER

1

ストアが階層パス名の一部としてフォルダ(またはディレクトリ)をサポートする場合に設定します。

FEATURE_FOIAT

PLS_INTEGER

2

ストア内の暗黙的なフォルダ操作が自律型トランザクション内部で実行される場合に設定します。通常、自律型トランザクションの使用は、(a)並行性を大幅に犠牲にして得られる、実装の簡略化およびすべての操作に対するクライアント制御トランザクションの範囲(FEATURE_FOIATを設定しない)と(b)並行性を大幅に向上させて得られる、複雑な実装と狭いクライアント制御トランザクション範囲(FEATURE_FOIATを設定)の間での妥協です。

FEATURE_NOWAIT

PLS_INTEGER

4

ストアがパス要素のnowait取得を許可する場合に設定します。デフォルトの動作では、行のロックを待機し、nowait取得が実装されている場合、パス要素が別のトランザクションによってすでにロックされていると、取得操作によってORA-54例外が発生します。

FEATURE_ACLS

PLS_INTEGER

8

ストアがアクセス制御リスト(ACL)およびこれらのACLに基づく内部認証またはチェックをサポートする場合に設定します。ACLは標準のプロパティですが、ストアはACLを格納し取得するだけでいかなる方法での解釈も行わない場合があります。

FEATURE_LINKS

PLS_INTEGER

16

ストアがシンボリック・リンクをサポートする場合で、特定タイプのシンボリック・リンク(具体的には、絶対パス名以外)がストア自身によって内部的に解決できる場合に設定します。

FEATURE_LINK_DEREF

PLS_INTEGER

32

ストアがシンボリック・リンクをサポートする場合で、特定タイプのシンボリック・リンク(具体的には、絶対パス名以外)がストア自身によって内部的に解決できる場合に設定します。

FEATURE_REFERENCES

PLS_INTEGER

64

ストアがハード・リンクをサポートする場合に設定します。

FEATURE_LOCKING

PLS_INTEGER

128

ストアが、ストアの各種アイテムに適用可能なユーザー・レベルのロック(読取り専用、書込み専用、読取り/書込み)をサポートし、それらのロック設定を使用してロックされたアイテムへの各種タイプのアクセスを制御する場合に設定します。ユーザー・レベルのロックは、トランザクション・ロックに対して直交し、特定のトランザクション、セッションまたは接続の範囲を超えて存続しますが、これは、ロックの参照先が不明になった後、ストア自身ではクリーンアップできない可能性があり、クライアント・アプリケーションがガベージ・コレクションを実行する必要があるということです。

FEATURE_LOCK_HIERARCHY

PLS_INTEGER

256

ユーザー・ロックがロックされたパス名の下にあるサブツリー全体へのアクセスを制御することをストアが許可する場合に設定します。

FEATURE_LOCK_CONVERT

PLS_INTEGER

512

ロックがあるモードから別のモードにアップグレードまたはダウングレードすることをストアがサポートする場合に設定します。

FEATURE_VERSIONING

PLS_INTEGER

1024

ストアが少なくとも線形バージョニングおよびバージョン管理をサポートする場合に設定します。バージョンが異なる同じパス名は単調バージョン番号によって識別され、バージョン非修飾パス名が最新バージョンを表します。

FEATURE_VERSION_PATH

PLS_INTEGER

2048

ストアが、バージョンが異なるパス名の階層ネームスペースをサポートする場合に設定します。

FEATURE_SOFT_DELETES

PLS_INTEGER

4096

ストアで、ソフト削除(パス名を削除して通常の操作で非表示にするが、後でパス名をリストアする機能(新規作成操作で上書きされない場合)を保持する)をサポートする場合に設定します。ストアでは、ソフト削除されたパス名のパージ(完全な削除)、およびソフト削除された項目を表示するナビゲーション・モードもサポートされます。

FEATURE_HASHING

PLS_INTEGER

8192

ストアが、パス名のコンテンツのうち特定タイプのセキュア・ハッシュ(通常、TYPE_FILEパス)を自動的に計算し保守する場合に設定します。

FEATURE_HASH_LOOKUP

PLS_INTEGER

16384

ストアが「コンテンツ・ベースのアドレッシング」を許可する場合に設定します。これは、パス名ではなくコンテンツ・ハッシュに基づいてコンテンツ項目を探す機能です。

FEATURE_FILTERING

PLS_INTEGER

32768

クライアントが、指定したストア項目が選択述語を満たすかどうかを示す論理ブール値を戻すフィルタ関数(下記のシグネチャに適合するPL/SQLファンクション)を渡すことをストアが許可する場合に設定します。フィルタリングをサポートするストアは、フィルタリング・ロジックを実装内部に組み込むことによって、さらに効率的に項目リスト、ディレクトリ・ナビゲーションおよび削除を実行できる可能性があります。フィルタリングがサポートされていない場合、クライアントは必要以上の項目を取得でき、効率は下がりますが、自分でフィルタリング・チェックを実行できます。

フィルタ述語は次のシグネチャがある関数です。

function filterFunction(
 path        IN   VARCHAR2,
 store_name  IN   VARCHAR2,
 opcode      IN   INTEGER,
 item_type   IN   INTEGER,
 properties  IN   DBMS_DBFS_CONTENT_PROPERTIES_T,
 content     IN   BLOB)
   RETURN  INTEGER;

このシグネチャに準拠する任意のPL/SQLファンクションは、ストア項目のコンテンツおよびプロパティを調べ、項目が現在の操作の選択基準を満たすかどうかを判断できます。0 (ゼロ)以外の戻り値の場合は、DBMS_DBFS_CONTENTインタフェースが現在の操作の一部として項目を処理し、戻り値が0 (ゼロ)またはNULLの場合は、項目が処理からスキップされます。

FEATURE_SEARCHING

PLS_INTEGER

65536

クライアントがコンテンツに基づいてtype_fileパス名を探すテキスト検索フィルタ問合せを渡すことをストアが許可する場合に設定します。検索をサポートするストアは検索を高速化するために索引を使用する場合があり、使用しない場合、クライアントは独自の索引を作成する必要があり、作成しない場合は、現在の検索で対象となる項目を探すために大きい可能性がある項目セットを検索する必要があります。

FEATURE_ASOF

PLS_INTEGER

131072

クライアントが、問合せ操作(変化しないGETPATHプロシージャおよびLISTファンクション)でフラッシュバック・タイムスタンプを使用することをストアが許可する場合に設定します。

FEATURE_PROVIDER_PROPS

PLS_INTEGER

262144

ストアが操作単位のプロパティ(個別の項目に関連付けられているプロパティではなく、現在の操作に関するストアの動作を制御)を許可する場合に設定します。

FEATURE_SNAPSHOTS

PLS_INTEGER

524288

ストアが、コンテンツの名前付き、読取り専用スナップショットの使用を許可する場合に設定します。適切な手段(コンテンツの即時コピーの作成、またはコピー・オン・ライトの使用など)を使用し、スナップショットと親コンテンツ・ビュー間の依存関係を管理することで、スナップショットを実装することはプロバイダが決定します。

FEATURE_CLONES

PLS_INTEGER

1048576

ストアが、コンテンツの名前付き、書込み可能なクローンの使用を許可する場合に設定します。適切な手段(コンテンツの即時コピーの作成、またはコピー・オン・ライトの使用など)を使用し、クローンと親コンテンツ・ビュー間の依存関係を管理することで、クローンを実装することはプロバイダが決定します。

FEATURE_LOCATOR

PLS_INTEGER

2097152

ストアが、LOBロケータによるファイル・コンテンツへの直接アクセスを許可する場合に設定します。ファイル・コンテンツを断片化し別のファイル・コンテンツに再アセンブリしたりその他の変換を実行したりすることで内部的にファイル・コンテンツを操作するストアは、LOBロケータを透過的にクライアントに付与することはできません。これらのストアのファイル・コンテンツは、バッファ・ベースのインタフェースを使用してアクセスする必要があります。

FEATURE_CONTENT_ID

PLS_INTEGER

4194304

ストアが、ファイルに対する「パスなし」でコンテンツIDベースのアクセスを許可する場合に設定します(このモデルにはディレクトリ、リンク、参照の概念がありません)。

FEATURE_LAZY_PATH

PLS_INTEGER

8388608

ストアが、コンテンツIDによっても識別されるファイル・コンテンツ要素へのパス名のレイジー・バインドを許可する場合に設定します。この機能は、FEATURE_CONTENT_IDと組み合せて使用する場合のみ意味があります。

ロック・タイプの定数

ロックをサポートするストアは、LOCK_READ_ONLYLOCK_WRITE_ONLYおよびLOCK_READ_WRITEという3タイプのロックを実装する必要があります。

表48-6 DBMS_DBFS_CONTENTの定数: ロック・タイプ

定数 タイプ 説明

LOCK_READ_ONLY

PLS_INTEGER

1

読取り専用としてロック

LOCK_WRITE_ONLY

PLS_INTEGER

2

書込み専用としてロック

LOCK_READ_WRITE

PLS_INTEGER

3

読取り/書込みとしてロック

標準プロパティの定数

標準プロパティは、ある程度の例外付きで、すべてのストアが(コンテンツ・インタフェースに説明されている方法で)サポートする必要のあるすべてのコンテンツ・パス名と関連付けられている、明確に定義された必須プロパティです。たとえば、読取り専用ストアでは、modification_timecreation_timeを実装する必要はありません。

すべての標準プロパティでは、非公式に、STDネームスペースが使用されますが、クライアントとストアでは使用しないでください。

表48-7 DBMS_DBFS_CONTENTの定数: 標準プロパティ

定数 タイプ 説明

STD_ACCESS_TIME

VARCHAR2(32)

'std:access_time'

UTCのTYPECODE_TIMESTAMP: パス名のコンテンツの最終アクセス時間。

STD_ACL

VARCHAR2(32)

'std:acl'

TYPECODE_VARCHAR2: パス名と関連付けられたアクセス制御リスト(標準ACL構文)。

STD_CANONICAL_PATH

VARCHAR2(32)

'std:canonical_path'

TYPECODE_VARCHAR2: ある項目の正規のストア固有パス名。

STD_CHANGE_TIME

VARCHAR2(32)

'std:change_time'

UTCのTYPECODE_TIMESTAMP: パス名のメタデータの最終変更時間。

STD_CHILDREN

VARCHAR2(32)

'std:children'

TYPECODE_NUMBER: ディレクトリ/フォルダのパスが持つ子ディレクトリ/フォルダの数(このプロパティは、FEATURE_FOLDERS機能をサポートするプロバイダで使用できる必要があります)。

STD_CONTENT_TYPE

VARCHAR2 (32)

'std:content_type'

TYPECODE_NUMBER: パス名(通常type_file)を記述する、クライアントで提供されるMIMEタイプ(標準RFC構文)。コンテンツ・タイプは、ストアにより必ず解析されるとはかぎりません。

STD_CREATION_TIME

VARCHAR2(32)

'std:creation_time'

UTCのTYPECODE_TIMESTAMP: 項目が作成された時間(一度設定すると、この値はパス名の使用期間中変更されません)。

STD_DELETED

VARCHAR2(32)

'std:deleted'

BOOLEANとしてのTYPECODE_NUMBER: パス名がソフト削除され、パージされていない場合に0(ゼロ)以外の値に設定します。

STD_GUID

VARCHAR2(32)

'std:guid'

TYPECODE_NUMBER: パス名に対するストア固有の一意の識別子。クライアントは別のストアでもGUIDが一意であることに依存できませんが、指定した(store-namestore-specific-path name)には、使用期間中安定した一意のGUIDがあります。

STD_LENGTH

VARCHAR2(32)

'std:length'

TYPECODE_NUMBER: TYPE_FILE/TYPE_REFERENCEパスのコンテンツ(BLOB)の長さ、またはTYPE_LINKシンボリック・リンクの参照の長さ。ディレクトリには明確に定義された長さがなく、ストアはこのプロパティをゼロ(0)、NULLまたは任意の値に設定できます。

STD_MODIFICATION_TIME

VARCHAR2(32)

'std:modification_time'

UTCのTYPECODE_TIMESTAMP: パス名と関連付けられたデータの最終変更時間。TYPE_FILE/TYPE_REFERENCEパスのコンテンツの変更、TYPE_LINKパスの参照、TYPE_DIRECTORYパスの直接的な子の追加または削除、これらすべてがデータの変更を構成します。

STD_OWNER

VARCHAR2(32)

'std:owner'

TYPECODE_VARCHAR2: パス名のクライアントが提供する(または暗黙的な)所有者名。所有者名は、ACL、ロックまたは両方をサポートするストアによってアクセス・チェックに(現在の「プリンシパル」とともに)使用されます。

STD_PARENT_GUID

VARCHAR2(32)

'std:parent_guid'

TYPECODE_NUMBER: パス名の親に対するストア固有の一意の識別子。クライアントは別のストアでもGUIDが一意であることに依存できませんが、指定した(store-namestore-specific-path name)には、使用期間中安定した一意のGUIDがあります。

STD_PARENT_GUID(path name) == STD_GUID(parent(path name))

STD_REFERENT

VARCHAR2(32)

'std:referent'

TYPECODE_VARCHAR2: TYPE_LINKパスのシンボリック・リンクのコンテンツ、それ以外の場合はNULL。記述されているとおり、STD_REFERENTは任意の文字列になることができ、必ずしもクライアントでパス名として解釈される必要はありません(このような解釈を行う場合は十分な注意が必要です)。

オプションのプロパティの定数

オプションのプロパティは、すべてのストアが自由に(ただしDBFSコンテンツAPIに説明されている方法にかぎり)サポートできるすべてのコンテンツ・パス名と関連付けられている、明確に定義された(必須ではない)プロパティです。

すべてのオプションのプロパティでは、非公式に、opt:ネームスペースが使用されますが、クライアントとストアでは使用しないでください。

表48-8 DBMS_DBFS_CONTENTの定数: オプションのプロパティ

定数 タイプ 説明

OPT_HASH_TYPE

VARCHAR2(32)

'opt:hash_type'

TYPECODE_NUMBER: opt_hash_valueプロパティ内で指定されるハッシュのタイプ。使用可能なオプションは、「DBMS_CRYPTO」を参照してください。

OPT_HASH_VALUE

VARCHAR2(32)

'opt:hash_value'

TYPECODE_NUMBER: パス名のコンテンツを説明するタイプOPT_HASH_TYPEのハッシュ値。

OPT_LOCK_COUNT

VARCHAR2(32)

'opt:lock_count'

TYPECODE_NUMBER: パス名に配置される(互換性のある)ロックの数。異なるプリンシパルがパスに互換性のある(読取り)ロックを配置することが許可される場合、opt_lockerはすべてのロッカーを指定する必要があります(ロックの数が正しく維持できるための繰返しあり)。

OPT_LOCK_DATA

VARCHAR2(32)

'opt:lock_data'

TYPECODE_NUMBER: ユーザー・ロックと関連付けられ、ストアによって解釈されない、クライアントが提供するユーザー・データ。

OPT_LOCKER

VARCHAR2(32)

'opt:locker'

TYPECODE_NUMBER: パス名にユーザー・ロックを適用した、1つ以上の暗黙的なまたはユーザー指定のプリンシパル。

OPT_LOCK_STATUS

VARCHAR2(32)

'opt:lock_status'

TYPECODE_NUMBER: パス名で現在適用されているロックのタイプを説明する、LOCK_READ_ONLYLOCK_WRITE_ONLYLOCK_READ_WRITE値のいずれか。

OPT_VERSION

VARCHAR2(32)

'opt:version'

TYPECODE_NUMBER: パス名の線形バージョニングに対する順序番号。

OPT_VERSION_PATH

VARCHAR2(32)

'opt:version_path'

TYPECODE_NUMBER: パス名の階層バージョニングに対するバージョン・パス名。

OPT_CONTENT_ID

VARCHAR2(32)

'opt:content_id'

TYPECODE_NUMBER: ファイル・コンテンツ要素に対する文字列形式のプロバイダによって生成されたストア固有の一意のコンテンツID(ファイル・コンテンツ要素は、オプションでパスと関連付けられていない場合もあります。FEATURE_CONTENT_IDおよびFEATURE_LAZY_PATHを参照)。

プロパティ・アクセス・フラグの定数

プロパティを取得または設定するコンテンツ・インタフェース・メソッドは、プロパティ・アクセス・フラグを組み合せて、単一のインタフェース・コールにある様々なネームスペースからプロパティをフェッチできます。

表48-9 DBMS_DBFS_CONTENTの定数: プロパティ・アクセス・フラグ

定数 タイプ 説明

PROP_NONE

PLS_INTEGER

0

なし: クライアントがプロパティを必要とせず、他の理由(パス名の存在またはロック可能性の検証、データ・アクセスなど)でコンテンツ・アクセス・メソッドを起動するときに使用します。

PROP_STD

PLS_INTEGER

1

必須: クライアントが標準プロパティを必要とするときに使用します。このフラグが指定された場合、すべての標準プロパティが取得されます。

PROP_OPT

PLS_INTEGER

2

オプション: クライアントがオプションのプロパティを必要とするときに使用します。このフラグが指定された場合、すべてのオプションのプロパティが取得されます。

PROP_USR

PLS_INTEGER

3

ユーザー定義: クライアントがユーザー定義のプロパティを必要とするときに使用します。このフラグが指定された場合、すべてのユーザー定義のプロパティが取得されます。

PROP_ALL

PLS_INTEGER

PROP_STD + PROP_OPT + PROP_USR;

すべて: 標準、オプションおよびユーザー定義のすべてのプロパティの組合せに対する別名。

PROP_DATA

PLS_INTEGER

8

コンテンツ: クライアントがデータ・アクセスのみを必要とし、プロパティを必要としない場合に使用します。

PROP_SPC

PLS_INTEGER

16

固有: クライアントが、各種プロパティ・ネームスペースの異なるサブセットの様々な組合せが必要とされ、フェッチする特定のプロパティの名前が引数としてコンテンツ・インタフェース・メソッド・コールに渡され、これらのプロパティ値のみがフェッチされてクライアントに戻される場合に使用します。これは、アクセス可能なプロパティが多数あり、クライアントがその内の少数のみを必要とする(そして事前にそれら重要なプロパティの名前がわかっている)場合に役立ちます。

PROP_SPCは、様々なGETPATH操作にのみ適用されます。プロパティを指定するその他の操作は、PROP_SPCの指定を無視します。

操作コードの定数

DBFSコンテンツAPIのすべての操作は、抽象的な操作コードとして表されます。

特定のパス名にある指定したプリンシパルによって特定の操作が起動できるかどうかを検証するためにCHECKACCESSファンクションを起動することによって、クライアントは、これらの操作コードを直接また明示的に使用できます。

表48-10 DBMS_DBFS_CONTENTの定数: 操作コード

定数 タイプ 説明

OP_CREATE

PLS_INTEGER

1

パス項目を作成します。

OP_CREATEFILE

PLS_INTEGER

OP_CREATE

ファイルを作成します。

OP_CREATELINK

PLS_INTEGER

OP_CREATE

ソフト・リンクを作成します。

OP_CREATEREFERENCE

PLS_INTEGER

OP_CREATE

参照(ハード・リンク)を作成します。

OP_DELETE

PLS_INTEGER

2

ソフト削除、パージおよびリストア操作はすべてOP_DELETEによって表されます。

OP_DELETEFILE

PLS_INTEGER

OP_DELETE

ファイルを削除します。

OP_DELETEDIRECTORY

PLS_INTEGER

OP_DELETE

ディレクトリを削除します。

OP_RESTORE

PLS_INTEGER

OP_DELETE

ソフト削除したパス項目をリストアします。

OP_PURGE

PLS_INTEGER

OP_DELETE

ソフト削除したパス項目をパージします。

OP_READ

PLS_INTEGER

3

パス項目から読み取ります。

OP_GET

PLS_INTEGER

OP_READ

読取り操作または更新操作のためにパス項目を取得します。

OP_WRITE

PLS_INTEGER

4

パス項目を書き込みます。

OP_PUT

PLS_INTEGER

OP_WRITE

パス項目にPUT(書込み)します。

OP_RENAME

PLS_INTEGER

5

パス項目の名前を変更します。

OP_RENAMEFROM

PLS_INTEGER

OP_RENAME

名前の変更元で実行する操作。

OP_RENAMETO

PLS_INTEGER

OP_RENAME

名前の変更先で実行する操作。

OP_SETPATH

PLS_INTEGER

OP_RENAME

パス項目名を設定します。

OP_LIST

PLS_INTEGER

6

パスのリストを実行します。

OP_SEARCH

PLS_INTEGER

7

検索を実行します。

OP_LOCK

PLS_INTEGER

8

パス項目をロックします。

OP_UNLOCK

PLS_INTEGER

9

パス項目をロック解除します。

OP_ACL

PLS_INTEGER

10

STD_ACLプロパティを指定するOP_CREATEまたはOP_PUTの実行中に起動される暗黙的操作。この操作では、プリンシパルがストア項目のACLを設定または変更できるかどうかを確認するためにテストを行います。

OP_STORE

PLS_INTEGER

11

他の操作インタフェースのいずれにも該当しない様々なストア操作のための包括的なカテゴリ。

48.4 例外

DBFSコンテンツAPI操作では、次に挙げるトップレベルの例外のいずれかが発生する可能性があります。

表48-11 DBMS_DBFS_CONTENTの例外

例外 コード 説明

PATH_EXISTS

64000

すでに存在する指定したパス名。

INVALID_PARENT

64001

指定したパス名の親が存在しません。

INVALID_PATH

64002

指定したパス名が存在しないか、または無効です。

UNSUPPORTED_OPERATION

64003

ストアにサポートされていない操作が起動されました。

INVALID_ARGUMENTS

64004

操作が無効な引数で起動されました。

INVALID_ACCESS

64005

現在の操作で失敗したアクセス制御チェック。

LOCK_CONFLICT

64006

現在の操作がロック競合チェックに失敗しました。

INVALID_STORE

64007

無効なストア名が指定されました。

INVALID_MOUNT

64008

無効なマウント・ポイントが指定されました。

INVALID_PROVIDER

64009

無効なプロバイダ・パッケージが指定されました。

READONLY_PATH

64010

読取り専用マウントまたはストアで変更中の操作が起動されました。

48.5 DBMS_DBFS_CONTENTの操作上のノート

このトピックでは、DBMS_DBFS_CONTENT実装、パス名および他の操作の操作上のノートを示します。

実装

DBMS_DBFS_CONTENT インタフェースとプロバイダSPIの相互接続は1対多の接続可能なアーキテクチャであるため、インタフェースが動的SQLを使用してプロバイダSPIでメソッドを起動し、ランタイム・エラーの原因になる可能性があります。

DBMS_DBFS_CONTENTインタフェースが特定のプロバイダSPIを接続または接続解除するタイミングを示す明示的なINITまたはFINIメソッドはありません。プロバイダSPIは、任意のSPIエントリポイントで自動初期化が可能である必要があります。

ストア・プロバイダが実行するすべての操作は、自己完結している点で「ステートレス」です。なんらかの理由によりステートを維持する必要がある場合、必要に応じて問合せが可能な補助表などのデータ構造でステート維持する必要があります。

パス名

プロバイダSPIで使用されるすべてのパス名は、ペア形式でストア修飾されており(store_namepathname)、この形式ではパス名はストアのネームスペースをルートとします。

コンテンツIDベースのアクセスをサポートするストアおよびそのプロバイダ(表48-5の「FEATURE_CONTENT_ID」を参照)もパス名に基づかないアドレッシングの形式をサポートします。コンテンツ項目は、明示的なストア名およびNULLパス名によって識別され、パラメータとしてまたはOPT_CONTENT_ID (表48-8を参照)プロパティによって指定されるコンテンツIDによって識別される場合もあります。

コンテンツIDベースのアクセスではサポートされない操作もあり、アプリケーションは利用できる最も簡単な作成または削除機能のみに依存することが必要です。

この表は、他の操作の一覧と、その操作に関する参照先のリンクを示したものです。

他のDBMS_DBFS_CONTENT操作

表48-12: 他のDBMS_DBFS_CONTENT操作

他の操作 参照先...

作成

作成操作の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。

削除

削除操作の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。

Get (取出し)およびPut (挿入)

GetおよびPut操作の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。

名前の変更および移動

名前の変更および移動操作の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。

ディレクトリ・ナビゲーションおよび検索

ナビゲーションおよび検索操作の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。

ロック

ロック操作の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。

アクセスのチェック

アクセスのチェック操作の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。

48.6 DBMS_DBFS_CONTENTのデータ構造

DBMS_DBFS_CONTENTパッケージでは、レコード・タイプおよびタイプを定義します。

使用上のノート

DBMS_DBFS_CONTENT_PROPERTY_TPROPERTY_Tの間には、おおまかな対応があります。前者は完全プロパティ・タプルを説明するSQLオブジェクト・タイプであり、後者はプロパティ値コンポーネントのみを説明するPL/SQLレコード・タイプです。

同様に、DBMS_DBFS_CONTENT_PROPERTIES_TPROPERTIES_Tの間にもおおまかな対応があります。前者はSQLネストした表タイプであり、後者はPL/SQLハッシュ表タイプです。

動的SQLコール規則ではSQLタイプの使用を強制しますが、ハッシュ表タイプの点では、PL/SQLコードはより簡単に実装されます。

DBMS_DBFS_CONTENTインタフェースは、DBMS_DBFS_CONTENT_PROPERTIES_TPROPERTIES_T間で変換する便利なユーティリティ・ファンクションを提供します(propertiesT2HおよびpropertiesH2Tを参照)。

クライアントは、使用可能なストアのリストについてDBMS_DBFS_CONTENTインタフェースに問合せ、指定したパス名へのアクセスをどのストアが処理するかを判断し、ストアの機能セットを決定します。

48.6.1 DBMS_DBFS_CONTENT FEATURE_Tレコード・タイプ

このタイプは、ストアのマウント・ポイントおよびプロパティを説明します。

構文

TYPE feature_t IS RECORD (
   feature_name    VARCHAR2(32),
   feature_mask    INTEGER,
   feature_state   VARCHAR2(3));

フィールド

表48-13 MOUNT_Tのフィールド

フィールド 説明

feature_name

機能の名前。

feature_mask

機能の値でこの機能以外のすべてのビットをマスクするために使用する値。

feature_state

'機能がこのストアでサポートされるかどうかにより、'YES'または'NO'。

48.6.2 DBMS_DBFS_CONTENT MOUNT_Tレコード・タイプ

このタイプは、ストアのマウント・ポイントおよびプロパティを説明します。

構文

TYPE mount_t IS RECORD (
   store_name          VARCHAR2(32),
   store_id            NUMBER,
   provider_name       VARCHAR2(32),
   provider_pkg        VARCHAR2(32),
   provider_id         NUMBER,
   provider_version    VARCHAR2(32),
   store_features      INTEGER,
   store_guid          NUMBER,
   store_mount         NAME_T,
   mount_properties    DBMS_DBFS_CONTENT_PROPERTIES_T);

フィールド

表48-14 MOUNT_Tのフィールド

フィールド 説明

store_name

ストアの名前。

store_id

ストアのID。

provider_name

コンテンツ・ストアの名前。

provider_pkg

コンテンツ・ストアのPL/SQLパッケージ名。

provider_id

コンテンツ・ストアの一意の識別子。

provider_version

コンテンツ・ストアのバージョン番号。

respos_features

このコンテンツ・ストアによってサポートされる機能。

store_guid

ストアのこのインスタンスに対する一意のID。

store_mount

ストア・インスタンスがマウントされる場所。

mount_properties

このマウント・ポイントのプロパティ(DBMS_DBFS_CONTENT_PROPERTIES_T表タイプを参照)。

48.6.3 DBMS_DBFS_CONTENT PATH_ITEM_Tレコード・タイプ

PATH_ITEM_Tは、関連付けられているすべての標準およびオプションのプロパティを含む、ストアにある(ストア、マウント)修飾パスを説明するタプルです。

構文

TYPE path_item_t IS RECORD (
   store                    NAME_T,
   mount                    NAME_T,
   pathname                 PATH_T,
   pathtype                 VARCHAR2(32),
   filedata                 BLOB,
   std_access_time          TIMESTAMP,
   std_acl                  VARCHAR2(1024),
   std_change_time          TIMESTAMP,
   std_children             NUMBER,
   std_content_type         VARCHAR2(1024),
   std_creation_time        TIMESTAMP,
   std_deleted              INTEGER,
   std_guid                 INTEGER,
   std_modification_time    TIMESTAMP,
   std_owner                VARCHAR2(32),
   std_parent_guid          INTEGER,
   std_referent             VARCHAR2(1024),
   opt_hash_type            VARCHAR2(32),
   opt_hash_value           VARCHAR2(128),
   opt_lock_count           INTEGER,
   opt_lock_data            VARCHAR2(128),
   opt_locker               VARCHAR2(128),
   opt_lock_status          INTEGER,
   opt_version              INTEGER,
   opt_version_path         PATH_T,
   opt_content_id           CONTENT_ID_T);

フィールド

表48-15 PATH_ITEM_Tのフィールド

フィールド 説明

store

ストアの名前。

mount

ストアのインスタンスがマウントされる場所。

pathname

項目へのパス名。

pathtype

オブジェクト・パスのタイプ(表48-4を参照)。

filedata

パス項目でデータにアクセスするために使用できるBLOBロケータ。

std_access_time

パス名のコンテンツの最終アクセス時間。

std_acl

アクセス制御リスト(標準ACL構文)。

std_change_time

パス名のメタデータの最終変更時間。

std_children

ディレクトリまたはフォルダのパスが持つ子ディレクトリ/フォルダの数(このプロパティは、feature_folders機能をサポートするプロバイダで使用できる必要があります)。

std_content_type

通常type_fileであるパス名を説明する1つ以上のクライアントが提供するMIMEタイプ(標準RFC構文)。コンテンツ・タイプは必ずしもストアによって解釈されません。

std_creation_time

項目が作成された時刻。一度設定すると、この値はパス名の使用期間中同じままです。

std_deleted

パス名がソフト削除され、パージされていない場合に0 (ゼロ)以外の値に設定します(表48-5を参照)。

std_guid

パス名に対するストア固有の一意の識別子。クライアントは別のストアでもGUIDが一意であることに依存できませんが、指定したstore-namestore-specific-pathnameには、使用期間中安定した一意のGUIDがあります。

std_modification_time

パス名と関連付けられたデータの最終変更時間。type_fileまたはtype_referenceパスのコンテンツの変更、type_linkパスの参照、type_directoryパスの直接的な子の追加または削除、これらすべてがデータの変更を構成します。

std_owner

パス名のクライアントが提供する(または暗黙的な)所有者名。

std_parent_guid

パス名の親に対するストア固有の一意の識別子。クライアントは別のストアでもGUIDが一意であることに依存できませんが、指定したstore-namestore-specific-pathnameには、使用期間中安定した一意のGUIDがあります。

std_parent_guid(pathname) == std_guid(parent(pathname))

std_referent

type_link pathのシンボリック・リンクのコンテンツ、それ以外の場合はNULL。前述のとおり、std_referentは任意の文字列になることができ、必ずしもクライアントでパス名と解釈される必要はありません(このような解釈を行う場合は十分な注意が必要です)。

opt_hash_type

opt_hash_valueプロパティで提供されるハッシュのタイプ(使用可能なオプションについては、「DBMS_CRYPTO」を参照)。

opt_hash_value

パス名のコンテンツを説明するタイプopt_hash_typeのハッシュ値。

opt_lock_count

パス名に配置される、互換性のあるロックの数。異なるプリンシパルがパスに互換性のある(読取り)ロックを配置することが許可される場合、ロックの数が正しく維持できるように、opt_lockerは繰返しがあるすべてのロッカーを指定する必要があります。

opt_lock_data

ユーザー・ロックと関連付けられ、ストアによって解釈されない、クライアントが提供するユーザー・データ。

opt_locker

パス名にユーザー・ロックを適用した、1つ以上の暗黙的なまたはユーザー指定のプリンシパル。

opt_lock_status

パス名で現在適用されているロックのタイプを説明する、lock_read_onlylock_write_onlylock_read_write値のいずれか。

opt_version

パス名の線形バージョニングに対する順序番号。

opt_version_path

パス名の階層バージョニングに対するバージョン・パス名。

opt_content_id

ファイル要素に対する、文字列化されたプロバイダによって生成されたストア固有の一意のコンテンツID (ファイル要素は、オプションでパスと関連付けられていない場合もあります。表48-5の「FEATURE_CONTENT_ID」および「FEATURE_LAZY_PATH」を参照)。

48.6.4 DBMS_DBFS_CONTENT PROP_ITEM_Tレコード・タイプ

PROP_ITEM_Tは、ストアにある(storemount)修飾パスを説明するタプルで、すべてのユーザー定義プロパティが関連付けられ、個別の(名前、値、タイプ)タプルに拡張されています。

構文

TYPE prop_item_t IS RECORD (
   store               NAME_T,
   mount                    NAME_T,
   pathname                 PATH_T,
   property_name            PROPNAME_T, 
   property_value           PROPVAL_T,   
   property_type            INTEGER);

フィールド

表48-16 PROP_ITEM_Tのフィールド

フィールド 説明

store

ストアの名前。

mount

ストアのインスタンスがマウントされる場所。

pathname

項目へのパス名。

property_name

プロパティの名前

property_value

プロパティの値

property_type

プロパティの値に対するPL/SQL typecode。

48.6.5 PROPERTY_Tレコード・タイプ

このタイプは、単一(valuetypecode)プロパティ値タプルを説明し、プロパティ名は暗黙的です。

詳細は、「PROPERTIES_T表タイプ」を参照してください。

構文

TYPE property_t  IS RECORD (
   propvalue    PROPVAL_T,
   typecode     INTEGER); 

フィールド

表48-17 PROPERTY_Tのフィールド

フィールド 説明

propvalue

プロパティの値。

typecode

タイプ・コード

48.6.6 DBMS_DBFS_CONTENT STORE_Tレコード・タイプ

このタイプは、DBMS_DBFS_CONTENTインタフェースに登録され、管理されるストアを説明します。

構文

TYPE store_t IS RECORD (
   store_name          VARCHAR2(32),
   store_id            NUMBER,
   provider_name       VARCHAR2(32),
   provider_pkg        VARCHAR2(32),
   provider_id         NUMBER,
   provider_version    VARCHAR2(32),
   store_features      INTEGER,
   store_guid          NUMBER);

フィールド

表48-18 STORET_Tのフィールド

フィールド 説明

store_name

ストアの名前。

store_name

ストアのID。

provider_name

コンテンツ・ストアの名前。

provider_pkg

コンテンツ・ストアのPL/SQLパッケージ名。

provider_id

コンテンツ・ストアの一意の識別子。

provider_version

コンテンツ・ストアのバージョン番号。

respos_features

このコンテンツ・ストアによってサポートされる機能。

store_guid

ストアのこのインスタンスに対する一意のID。

48.6.7 DBMS_DBFS_CONTENT FEATURES_T表タイプ

FEATURE_Tレコード・タイプの表タイプ。

構文

TYPE features_t IS TABLE OF feature_t;

48.6.8 MOUNTS_T表タイプ

MOUNT_Tレコード・タイプの表タイプ。

構文

TYPE mounts_t IS TABLE OF mount_t;

48.6.9 DBMS_DBFS_CONTENT PATH_ITEMS_T表タイプ

PATH_ITEM_Tレコード・タイプの表タイプ。

構文

TYPE path_items_t IS TABLE OF path_item_t;

48.6.10 DBMS_DBFS_CONTENT PROP_ITEMS_T表タイプ

PATH_ITEM_Tレコード・タイプの表タイプ。

構文

TYPE prop_items_t IS TABLE OF prop_item_t;

48.6.11 DBMS_DBFS_CONTENT PROPERTIES_T表タイプ

これは、プロパティ・タプルの名前索引付けされたハッシュ表です。索引と値の暗黙的なハッシュ表関連付けによって、クライアントはPROPERTIES_Tに完全なDBMS_DBFS_CONTENT_PROPERTY_Tタプルを作成できます。

構文

TYPE properties_t IS TABLE OF property_t INDEX BY propname_t;

48.6.12 STORES_T表タイプ

このタイプは、DBMS_DBFS_CONTENTインタフェースに登録され、管理されるストアを説明します。

構文

TYPE stores_t IS TABLE OF store_t;

48.7 DBMS_DBFS_CONTENTサブプログラムの要約

この表に、DBMS_DBFS_CONTENTパッケージで使用するサブプログラムをリストし、説明します。

表48-19 DBMS_DBFS_CONTENTパッケージのサブプログラム

サブプログラム 説明

CHECKACCESSファンクション

指定したパスでユーザー(principal)が指定操作を実行できるかどうかをレポートします。

CHECKSPIファンクションおよびプロシージャ

ユーザー指定のパッケージが、適切なシグネチャですべてのDBMS_DBFS_CONTENT_SPIサブプログラムを実装しているかどうかを確認し、準拠についてレポートします。

CREATEDIRECTORYプロシージャ

ディレクトリを作成します。

CREATEFILEプロシージャ

ファイルを作成します。

CREATELINKプロシージャ

ソース・ファイル・システム要素への新しい参照を作成します。

CREATEREFERENCEプロシージャ

既存のファイル・システム要素への物理的なリンクを作成します。

DECODEFEATURESファンクション

機能ビットが設定された整数値を与えられると、FEATURE_Tレコードとして機能ビットのFEATURES_T表を戻します。

DELETECONTENTプロシージャ

指定したコンテンツIDによって指定されるファイルを削除します。

DELETEDIRECTORYプロシージャ

ディレクトリを削除します。

DELETEFILEプロシージャ

ファイルを削除します。

FEATURENAMEファンクション

機能ビットが与えられると、その機能名のVARCHAR2を戻します。

FLUSHSTATSファンクション

DBMS_DBFS_CONTENT統計をディスクにフラッシュします。

GETDEFAULTACLプロシージャ

デフォルトのコンテキストのACLパラメータを戻します。

GETDEFAULTASOFプロシージャ

デフォルトのコンテキストのasofパラメータを戻します。

GETTDEFAULTCONTEXTプロシージャ

デフォルトのコンテキストを戻します。

GETDEFAULTOWNERプロシージャ

デフォルトのコンテキストのownerパラメータを戻します。

GETDEFAULTPRINCIPALプロシージャ

デフォルトのコンテキストのprincipalパラメータを戻します。

GETFEATURESBYMOUNTファンクション

マウント・ポイントごとにストアの機能を戻します。

GETFEATURESBYNAMEファンクション

ストア名ごとにストアの機能を戻します。

GETFEATURESBYPATHファンクション

パスごとにストアの機能を戻します。

GETPATHBYMOUNTIDファンクション

完全な絶対パス名を戻します。

GETPATHプロシージャ

既存のパス項目(ファイルやディレクトリなど)を戻します。

GETPATHBYSTOREIDファンクション

基礎となるGUIDが元のストアにある場合、ストア修飾されたパス名を戻します。

GETPATHNOWAITプロシージャ

操作が更新のためであることを示しており、実行された場合、プロバイダは行のロックを待機せず例外(ORA-00054)を戻すことができます。

GETSTOREBYMOUNTファンクション

マウント・ポイントによりストアを戻します。

GETSTOREBYNAMEファンクション

名前によりストアを戻します。

GETSTOREBYPATHファンクション

パスによりストアを戻します。

GETSTATSプロシージャ

DBMS_DBFS_CONTENT統計情報収集に関する情報を戻します。

GETTRACEファンクション

DBMS_DBFS_CONTENTトレースがオンになっているかどうかを戻します。

GETVERSIONファンクション

ストアと関連付けられている標準化された形式でDBMS_DBFS_CONTENTインタフェースのバージョンを戻します。

LISTファンクション

指定したフィルタおよびその他の基準に適合する指定したパスでのパス項目を示します。

LISTALLCONTENTファンクション

すべてのマウントのすべてのパス項目を示します。

LISTALLPROPERTIESファンクション

すべてのマウントのすべてのパス項目に対するすべてのプロパティの表を戻します。

LISTMOUNTSファンクション

すべての使用可能なマウント・ポイント、そのバックエンドのデータストアおよびストア機能を示します。

LISTSTORESファンクション

すべての使用可能なストアとその機能を示します。

LOCKPATHプロシージャ

指定した有効なパス名にユーザー・レベルのロックを適用します。

MOUNTSTOREプロシージャ

以前に登録されたストアをマウントし、マウント・ポイントにバインドします。

NORMALIZEPATHファンクション

ストア固有または完全絶対パス名を正規化された形式に変換します。

PROPANYファンクション

様々なタイプのいずれかを取り、PROPERTY_Tを戻すコンストラクタを提供します。

PROPERTIESH2Tファンクション

PROPERTY_TハッシュをDBMS_DBFS_CONTENT_PROPERTIES_T表に変換します。

PROPERTIEST2Hファンクション

DBMS_DBFS_CONTENT_PROPERTIES_T表をPROPERTY_Tハッシュに変換します。

PROPNUMBERファンクション

NUMBERを取りPROPERTY_Tを戻すコンストラクタです。

PROPRAWファンクション

RAWを取りPROPERTY_Tを戻すコンストラクタです。

PROPTIMESTAMPファンクション

TIMESTAMPを取りPROPERTY_Tを戻すコンストラクタです。

PROPVARCHAR2ファンクション

VARCAHR2を取りPROPERTY_Tを戻すコンストラクタです。

PURGEALLプロシージャ

パスおよびオプションのフィルタ条件に一致する、すべてのソフト削除されたエントリをパージします。

PURGEPATHプロシージャ

指定したパス項目の任意のソフト削除したバージョンをパージします。

PUTPATHプロシージャ

新しいパス項目を作成します。

REGISTERSTOREプロシージャ

新しいストアを登録します。

RENAMEPATHプロシージャ

パスの名前変更または移動を行います。

RESTOREALLプロシージャ

パスおよびフィルタ条件に一致するすべてのソフト削除されたパス項目をリストアします。

RESTOREPATHプロシージャ

指定したパスおよびフィルタ条件に適合するすべてのソフト削除されたパス項目をリストアします。

SETDEFAULTACLプロシージャ

デフォルトのコンテキストのACLパラメータを設定します。

SETDEFAULTASOFプロシージャ

デフォルトのコンテキストの「時点」パラメータを設定します。

SETDEFAULTCONTEXTプロシージャ

デフォルトのコンテキストを設定します。

SETDEFAULTOWNERプロシージャ

デフォルトのコンテキストの「所有者」パラメータを設定します。

SETDEFAULTPRINCIPALプロシージャ

デフォルトのコンテキストの「プリンシパル」パラメータを設定します。

SETPATHプロシージャ

コンテンツIDによって表されるパス項目にパス名を割り当てます。

SETSTATSプロシージャ

統計情報収集を有効化および無効化します。

SETTRACEプロシージャ

DBMS_DBFS_CONTENTトレースをオンまたはオフにします。

SPACEUSAGEプロシージャ

ファイル・システム領域使用統計情報を問い合せます。

TRACEプロシージャ

評価結果を含むCLOBを戻します。

TRACEENABLEDファンクション

SETTRACEプロシージャによって設定される現在のトレースの「重大度」が指定したトレース・レベルと同じ高さであるかどうかを判断します。

UNLOCKPATHプロシージャ

LOCKPATHプロシージャで以前にロックされたパス項目をロック解除します。

UNMOUNTSTOREプロシージャ

登録されたストアをアンマウントします。

UNREGISTERSTOREプロシージャ

ストアの登録を解除します。

48.7.1 CHECKACCESSファンクション

このファンクションは、指定したパスでユーザー(principal)が指定操作を実行できるかどうかをレポートします。これによって、操作の実行を試みることなく操作の妥当性を検証できます。CHECKACCESSが0を戻す場合、この操作を実行するために起動されたサブプログラムはエラーによって失敗します。

構文

DBMS_DBFS_CONTENT.CHECKACCESS (
   path           IN     VARCHAR2,
   pathtype       IN     INTEGER,
   operation      IN     VARCHAR2,
   principal      IN     VARCHAR2,
   store_name     IN     VARCHAR2  DEFAULT NULL)
  RETURN  BOOLEAN;

パラメータ

表48-20 CHECKACCESSプロシージャのパラメータ

パラメータ 説明

path

アクセスのチェックを行うパスの名前。

pathtype

オブジェクトpathのタイプを表します(表48-4を参照)。

operation

チェックする操作(表48-8を参照)。

principal

アクセス・チェックを行う対象のファイル・システム・ユーザー。

store_name

ストアの名前。

使用上のノート

ユーザーがこのファンクションを起動するかどうかにかかわらず、アクセス制御をサポートするストアは、内部的にこれらのチェックを実行してセキュリティを保証します。

48.7.2 CHECKSPIファンクションおよびプロシージャ

推定DBMS_DBFS_CONTENT_SPI準拠パッケージという名前を付与されたこのファンクションまたはプロシージャは、パッケージが適切なシグネチャがあるすべてのプロバイダ・サブプログラムを実装し、準拠についてレポートするかどうかをチェックします。

構文

DBMS_DBFS_CONTENT.CHECKSPI (
   package_name        IN              VARCHAR2)
  RETURN  CLOB;
 
DBMS_DBFS_CONTENT.CHECKSPI (
   schema_name         IN              VARCHAR2,
   package_name        IN              VARCHAR2)
  return  clob;
 
DBMS_DBFS_CONTENT.CHECKSPI (
   package_name        IN              VARCHAR2,
   chk                 IN OUT NOCOPY   CLOB);
 
DBMS_DBFS_CONTENT.CHECKSPI (
   schema_name         in              VARCHAR2,
   package_name        in              VARCHAR2,
   chk                 in out nocopy   CLOB);

パラメータ

表48-21 CHECKSPIプロシージャのパラメータ

パラメータ 説明

package_name

パッケージの名前。

schema_name

スキーマの名前。

chk

評価結果を含むCLOB

使用上のノート

  • ファンクション形式は、分析の結果とともにセッション継続時間のキャッシュされた一時LOBを戻します。コール元は、必要に応じてこのLOBの使用期間全体を管理する必要があります。

  • プロシージャ形式は、分析の結果をchk LOBパラメータに生成しますが、渡された値がNULLの場合は、DBMS_DBFS_CONTENTインタフェース・トレースが有効であれば、結果はフォアグラウンド・トレース・ファイルに書き込まれます。いずれのトレースも有効ではなく、有効なLOBが渡された場合、チェッカは分析の有効な指示を提供しません(重大なエラーが発生した場合に発生する例外を除く)。

  • schema_nameNULLの場合は、標準の名前解決規則(現在のスキーマ、プライベート・シノニム、パブリック・シノニム)を使用して、分析に適切なパッケージを検索します。

48.7.3 CREATEDIRECTORYプロシージャ

このプロシージャは、ディレクトリを作成します。

構文

DBMS_DBFS_CONTENT.CREATEDIRECTORY (
   path        IN              VARCHAR2,
   properties  IN OUT NOCOPY   DBMS_DBFS_CONTENT_PROPERTIES_T,
   prop_flags  IN              INTEGER     DEFAULT PROP_STD,
   recurse     IN              BOOLEAN     DEFAULT FALSE,
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.CREATEDIRECTORY (
   path        IN              VARCHAR2,
   properties  IN OUT NOCOPY   PROPERTIES_T,
   prop_flags  IN              INTEGER     DEFAULT PROP_STD,
   recurse     IN              BOOLEAN     DEFAULT FALSE,
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

パラメータ

表48-22 CREATEDIRECTORYプロシージャのパラメータ

パラメータ 説明

path

ディレクトリへのパス名。

properties

prop_flagsに応じて設定される、戻される、またはその両方の1つ以上のプロパティおよびその値(「DBMS_DBFS_CONTENT_PROPERTIES_T表タイプ」を参照)。

prop_flags

どのプロパティが設定されるか、戻されるかまたはその両方かを決定します。デフォルトはPROP_STDです。PROP_SPC (表48-9を参照)を設定し、対象となる値を持つプロパティのDBMS_DBFS_CONTENT_PROPERTIES_T表タイプのインスタンスを提供することにより、戻されるプロパティを指定します。

recurse

0の場合、再帰的に実行せず、それ以外の場合は、指定したディレクトリの上に再帰的にディレクトリを作成します。

store_name

ストアの名前。

principal

アクセス・チェックを行う対象のファイル・システム・ユーザー。

48.7.4 CREATEFILEプロシージャ

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

構文

DBMS_DBFS_CONTENT.CREATEFILE (
   path        IN              VARCHAR2,
   properties  IN OUT NOCOPY   DBMS_DBFS_CONTENT_PROPERTIES_T,
   content     IN OUT NOCOPY   BLOB,
   prop_flags  IN              INTEGER     DEFAULT (PROP_STD + PROP_DATA),
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.CREATEFILE (
   path        IN              VARCHAR2,
   properties  IN OUT NOCOPY   PROPERTIES_T,
   content     IN OUT NOCOPY   BLOB,
   prop_flags  IN              INTEGER     DEFAULT (PROP_STD + PROP_DATA),
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

パラメータ

表48-23 CREATEFILEプロシージャのパラメータ

パラメータ 説明

path

ファイルへのパス名。

properties

prop_flagsに応じて設定される、戻される、またはその両方の1つ以上のプロパティおよびその値(「DBMS_DBFS_CONTENT_PROPERTIES_T表タイプ」を参照)。

content

ファイルに移入するデータを保持するBLOB(オプション)。

prop_flags

どのプロパティが設定されるか、戻されるかまたはその両方かを決定します。デフォルトはPROP_STDです。prop_specを設定し、対象となる値を持つプロパティのDBMS_DBFS_CONTENT_PROPERTIES_T表タイプのインスタンスを提供することにより、戻されるプロパティを指定します。

store_name

ストアの名前。

principal

アクセス・チェックを行う対象のファイル・システム・ユーザー。

48.7.5 CREATELINKプロシージャ

このプロシージャは、新しいリンク要素srcPathを、dstPathの値で作成します。dstPathの値は、このプロシージャで検証または解釈されることはありません。これは、UNIXファイル・システムのシンボリック・リンクと似ています。

構文

DBMS_DBFS_CONTENT.CREATELINK (
   srcPath     IN              VARCHAR2,
   dstPath     IN              VARCHAR2,
   properties  IN OUT NOCOPY   DBMS_DBFS_CONTENT_PROPERTIES_T,
   prop_flags  IN              INTEGER     DEFAULT PROP_STD,
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.CREATELINK (
   srcPath     IN              VARCHAR2,
   dstPath     IN              VARCHAR2,
   properties  IN OUT NOCOPY   PROPERTIES_T,
   prop_flags  IN              INTEGER     DEFAULT PROP_STD,
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

パラメータ

表48-24 CREATELINKプロシージャのパラメータ

パラメータ 説明

srcPath

作成するファイル・システム・エントリ。

dstPath

srcPathと関連付ける値。

properties

prop_flagsに設定される、戻される、またはその両方の1つ以上のプロパティおよびその値(「DBMS_DBFS_CONTENT_PROPERTIES_T表タイプ」を参照)。

prop_flags

どのプロパティが設定されるか、戻されるかまたはその両方かを決定します。デフォルトはPROP_STDです。prop_specを設定し、対象となる値を持つプロパティのDBMS_DBFS_CONTENT_PROPERTIES_T表タイプのインスタンスを提供することにより、戻されるプロパティを指定します。

store_name

ストアの名前。

principal

アクセス・チェックを行う対象のファイル・システム・ユーザー。

48.7.6 CREATEREFERENCEプロシージャ

このプロシージャは、すでに存在するファイル・システム要素dstPath (ファイルやディレクトリなど)への物理的なリンクsrcPathを作成します。生成されるエントリは、dstPathパラメータの値と同じメタデータ構造を共有するため、ファイル・システム要素の参照数を増加する点でも類似しています。これは、UNIXファイル・システムのハード・リンクと似ています。

構文

DBMS_DBFS_CONTENT.CREATEREFERENCE (
   srcPath     IN              VARCHAR2,
   dstPath     IN              VARCHAR2,
   properties  IN OUT NOCOPY   DBMS_DBFS_CONTENT_PROPERTIES_T,
   prop_flags  IN              INTEGER     DEFAULT PROP_STD,
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.CREATEREFERENCE (
   srcPath     IN              VARCHAR2,
   dstPath     IN              VARCHAR2,
   properties  IN OUT NOCOPY   PROPERTIES_T,
   prop_flags  IN              INTEGER     DEFAULT PROP_STD,
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

パラメータ

表48-25 CREATEREFERENCEプロシージャのパラメータ

パラメータ 説明

srcPath

作成するファイル・システム・エントリ。

dstPath

srcPathの参照となるパス。

properties

prop_flagsに応じて設定される、戻される、またはその両方の1つ以上のプロパティおよびその値(「DBMS_DBFS_CONTENT_PROPERTIES_T表タイプ」を参照)。

prop_flags

どのプロパティが設定されるか、戻されるかを決定します。デフォルトはPROP_STDです。prop_specを設定し、対象となる値を持つプロパティのDBMS_DBFS_CONTENT_PROPERTIES_T表タイプのインスタンスを提供することにより、戻されるプロパティを指定します。

store_name

ストアの名前。

principal

アクセス・チェックを行う対象のファイル・システム・ユーザー。

48.7.7 DECODEFEATURESファンクション

機能ビットが設定された整数値を与えられると、このファンクションはFEATURE_Tレコードとして機能ビットのFEATURES_T表を戻します。

構文

DBMS_DBFS_CONTENT.DECODEFEATURES (
   featureSet          IN      INTEGER)
  RETURN FEATURES_T DETERMINISTIC PIPELINED;

パラメータ

表48-26 DECODEFEATURESファンクションのパラメータ

パラメータ 説明

featureSet

機能セット。

48.7.8 DELETECONTENTプロシージャ

このプロシージャは、指定したコンテンツIDによって指定されるファイルを削除します。

構文

DBMS_DBFS_CONTENT.DELETECONTENT (
   store_name     IN     VARCHAR2    DEFAULT NULL,
   contentID      IN     RAW,
   filter         IN     VARCHAR2    DEFAULT NULL,
   soft_delete    IN     BOOLEAN     DEFAULT NULL,
   principal      IN     VARCHAR2    DEFAULT NULL);

パラメータ

表48-27 DELETECONTENTプロシージャのパラメータ

パラメータ 説明

store_name

ストアの名前。

contentID

削除するファイルの一意の識別子。

filter

存在する場合、適用するフィルタ。

soft_delete

0の場合、ハード(永続的)削除を実行します。0以外の値の場合、ソフト削除を実行します(『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』の「削除操作に関する説明」を参照)。

principal

アクセス・チェックを行う対象のファイル・システム・ユーザー。

48.7.9 DELETEDIRECTORYプロシージャ

このプロシージャは、ディレクトリを削除します。

recurseがゼロ以外の場合、ディレクトリのすべての要素を再帰的に削除します。フィルタがある場合は、ディレクトリのどの要素が削除されるかを決定します。

構文

DBMS_DBFS_CONTENT.DELETEDIRECTORY (
   path           IN     VARCHAR2,
   filter         IN     VARCHAR2    DEFAULT NULL,
   soft_delete    IN     BOOLEAN     DEFAULT NULL,
   recurse        IN     BOOLEAN     DEFAULT FALSE,
   store_name     IN     VARCHAR2    DEFAULT NULL,
   principal      IN     VARCHAR2    DEFAULT NULL);

パラメータ

表48-28 DELETEDIRECTORYプロシージャのパラメータ

パラメータ 説明

path

ディレクトリへのパス名。

filter

存在する場合、適用するフィルタ。

soft_delete

0の場合、ハード(永続的)削除を実行します。0以外の値の場合、ソフト削除を実行します(『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』の「削除操作に関する説明」を参照)。

recurse

0の場合、再帰的に実行しません。それ以外の場合は、指定したディレクトリの下にあるディレクトリおよびファイルを再帰的に削除します。

store_name

ストアの名前。

principal

アクセス・チェックを行う対象のファイル・システム・ユーザー。

48.7.10 DELETEFILEプロシージャ

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

構文

DBMS_DBFS_CONTENT.DELETEFILE (
   path           IN     VARCHAR2,
   filter         IN     VARCHAR2    DEFAULT NULL,
   soft_delete    IN     BOOLEAN     DEFAULT NULL,
   store_name     IN     VARCHAR2    DEFAULT NULL,
   principal      IN     VARCHAR2    DEFAULT NULL);

パラメータ

表48-29 DELETEFILEプロシージャのパラメータ

パラメータ 説明

path

ファイルへのパス名。

filter

存在する場合、適用するフィルタ。

soft_delete

0の場合、ハード(永続的)削除を実行します。0以外の値の場合、ソフト削除を実行します(『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』の「削除操作に関する説明」を参照)。

store_name

ストアの名前。

principal

アクセス・チェックを行う対象のファイル・システム・ユーザー。

48.7.11 FEATURENAMEファンクション

機能ビットを与えられると、このファンクションはその機能名のVARCHAR2を戻します。

構文

DBMS_DBFS_CONTENT.FEATURENAME (
   featureBit          IN      INTEGER)
  RETURN VARCHAR2 DETERMINISTIC;

パラメータ

表48-30 FEATURENAMEファンクションのパラメータ

パラメータ 説明

featureBit

機能のビット表現(表48-5を参照)。

戻り値

機能の名前。

48.7.12 FLUSHSTATSファンクション

このプロシージャは、DBMS_DBFS_CONTENT統計をディスクにフラッシュします。

構文

DBMS_DBFS_CONTENT.FLUSHSTATS;

48.7.13 GETDEFAULTACLプロシージャ

このプロシージャは、デフォルトのコンテキストのACLパラメータを戻します。この情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。

構文

DBMS_DBFS_CONTENT.GETDEFAULTACL (
   acl    OUT NOCOPY     VARCHAR2);

パラメータ

表48-31 GETDEFAULTACLプロシージャのパラメータ

パラメータ 説明

acl

現在の操作によって(暗黙的にまたは明示的に)作成されたすべての新しい要素のACL。

48.7.14 GETDEFAULTASOFプロシージャ

このプロシージャは、デフォルトのコンテキストの「時点」パラメータを戻します。この情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。

構文

DBMS_DBFS_CONTENT.GETDEFAULTASOF (
  asof    OUT NOCOPY     TIMESTAMP);

パラメータ

表48-32 GETDEFAULTASOFプロシージャのパラメータ

パラメータ 説明

asof

元になる読取り専用操作(またはその読取り専用サブコンポーネント)が実行される「時点」タイムスタンプ。

48.7.15 GETDEFAULTCONTEXTプロシージャ

このプロシージャは、デフォルトのコンテキストを戻します。コンテキストに含まれる情報は、引数によって様々なメソッド・コールに明示的に挿入でき、個別の操作に対してファイングレイン制御が可能です。

構文

DBMS_DBFS_CONTENT.GETDEFAULTCONTEXT (
   principal    OUT NOCOPY     VARCHAR2,
   owner        OUT NOCOPY     VARCHAR2,
   acl          OUT NOCOPY     VARCHAR2,
   asof         OUT NOCOPY     TIMESTAMP);

パラメータ

表48-33 GETDEFAULTCONTEXTプロシージャのパラメータ

パラメータ 説明

principal

現在の操作を起動するエージェント(プリンシパル)。

owner

現在の操作によって(暗黙的にまたは明示的に)作成された新しい要素の所有者。

acl

現在の操作によって(暗黙的にまたは明示的に)作成されたすべての新しい要素のACL。

asof

元になる読取り専用操作(またはその読取り専用サブコンポーネント)が実行される「時点」タイムスタンプ。

48.7.16 GETDEFAULTOWNERプロシージャ

このプロシージャは、デフォルトのコンテキストの「所有者」パラメータを戻します。この情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。

構文

DBMS_DBFS_CONTENT.GETDEFAULTOWNER (
   principal    IN     VARCHAR2);

パラメータ

表48-34 GETDEFAULTOWNERプロシージャのパラメータ

パラメータ 説明

owner

現在の操作によって(暗黙的にまたは明示的に)作成された新しい要素の所有者。

48.7.17 GETDEFAULTPRINCIPALプロシージャ

このプロシージャは、デフォルトのコンテキストの「プリンシパル」パラメータを戻します。この含まれた情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。

構文

DBMS_DBFS_CONTENT.GETDEFAULTPRINCIPAL (
   principal    OUT NOCOPY     VARCHAR2);

パラメータ

表48-35 GETDEFAULTPRINCIPALプロシージャのパラメータ

パラメータ 説明

principal

現在の操作を起動するエージェント(プリンシパル)。

48.7.18 GETFEATURESBYMOUNTファンクション

このファンクションは、マウント・ポイントごとにストアの機能を戻します。

構文

DBMS_DBFS_CONTENT.GETFEATURESBYMOUNT (
   store_mount       IN      VARCHAR2)
  RETURN INTEGER;

パラメータ

表48-36 GETFEATURESBYMOUNTファンクションのパラメータ

パラメータ 説明

store_mount

マウント・ポイント。

戻り値

サポートする機能のビット・マスク(「FEATURES_T表タイプ」を参照)。

48.7.19 GETFEATURESBYNAMEファンクション

このファンクションは、ストア名ごとにストアの機能を戻します。

構文

DBMS_DBFS_CONTENT.GETFEATURESBYNAME (
   store_name       IN      VARCHAR2)
  RETURN INTEGER;

パラメータ

表48-37 GETFEATURESBYNAMEファンクションのパラメータ

パラメータ 説明

store_name

ストアの名前。

戻り値

サポートする機能のビット・マスク(「FEATURES_T表タイプ」を参照)。

48.7.20 GETFEATURESBYPATHファンクション

このファンクションは、パスごとにストアの機能を戻します。

構文

DBMS_DBFS_CONTENT.GETFEATURESBYPATH (
   path       IN      PATH_T)
  RETURN INTEGER;

パラメータ

表48-38 GETFEATURESBYPATHファンクションのパラメータ

パラメータ 説明

path

PATH_T

戻り値

サポートする機能のビット・マスク(「FEATURES_T表タイプ」を参照)。

48.7.21 GETPATHプロシージャ

このプロシージャは、既存のパス項目(ファイルやディレクトリなど)を戻します。これには、データとメタデータ(プロパティ)の両方が含まれます。

クライアントは(prop_flagsを使用して)特定のプロパティが戻されるように要求できます。ファイル・パス名は、prop_flagsprop_dataビットマスクを使用してBLOBロケータを指定する(表48-9を参照)か、1つ以上のRAWバッファを渡すことによって、読み取ることができます。

forUpdateが0の場合、このプロシージャは、ストアにより「時点」スタイルのフラッシュバック問合せを実行するために使用できるctxの一部として、有効なasofタイムスタンプ・パラメータも受け入れます。GETPATHプロシージャの変化形では、これらのモードの操作はサポートされません。

構文

DBMS_DBFS_CONTENT.GETPATH (
        path        IN              VARCHAR2,
        properties  IN OUT NOCOPY   DBMS_DBFS_CONTENT_PROPERTIES_T,
        content     OUT    NOCOPY   BLOB,
        item_type   OUT             INTEGER,
        prop_flags  IN              INTEGER     DEFAULT (PROP_STD +
                                                         PROP_OPT +
                                                         PROP_DATA),
        asof        IN              TIMESTAMP   DEFAULT NULL,
        forUpdate   IN              BOOLEAN     DEFAULT FALSE,
        deref       IN              BOOLEAN     DEFAULT FALSE,
        store_name  IN              VARCHAR2    DEFAULT NULL,
        principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.GETPATH (
        path        IN              VARCHAR2,
        properties  IN OUT NOCOPY   PROPERTIES_T,
        content     OUT    NOCOPY   BLOB,
        item_type   OUT             INTEGER,
        prop_flags  IN              INTEGER     DEFAULT (PROP_STD +
                                                         PROP_OPT +
                                                         PROP_DATA),
        asof        IN              TIMESTAMP   DEFAULT NULL,
        forUpdate   IN              BOOLEAN     DEFAULT FALSE,
        deref       IN              BOOLEAN     DEFAULT FALSE,
        store_name  IN              VARCHAR2    DEFAULT NULL,
        principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.GETPATH (
        path        IN              VARCHAR2,
        properties  IN OUT NOCOPY   DBMS_DBFS_CONTENT_PROPERTIES_T,
        amount      IN OUT          NUMBER,
        offset      IN              NUMBER,
        buffers     OUT    NOCOPY   RAW,
        prop_flags  IN              INTEGER     DEFAULT (PROP_STD +
                                                         PROP_OPT +
                                                         PROP_DATA),
        asof        IN              TIMESTAMP   DEFAULT NULL,
        store_name  IN              VARCHAR2    DEFAULT NULL,
        principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.GETPATH (
        path        IN              VARCHAR2,
        properties  IN OUT NOCOPY   PROPERTIES_T,
        amount      IN OUT          NUMBER,
        offset      IN              NUMBER,
        buffers     OUT    NOCOPY   RAW,
        prop_flags  IN              INTEGER     DEFAULT (PROP_STD +
                                                         PROP_OPT +
                                                         PROP_DATA),
        asof        IN              TIMESTAMP   DEFAULT NULL,
        store_name  IN              VARCHAR2    DEFAULT NULL,
        principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.GETPATH (
        path        IN              VARCHAR2,
        properties  IN OUT NOCOPY   DBMS_DBFS_CONTENT_PROPERTIES_T,
        amount      IN OUT          NUMBER,
        offset      IN              NUMBER,
        buffers     OUT    NOCOPY   DBMS_DBFS_CONTENT_RAW_T,
        prop_flags  IN              INTEGER     DEFAULT (PROP_STD +
                                                         PROP_OPT +
                                                         PROP_DATA),
        asof        IN              TIMESTAMP   DEFAULT NULL,
        store_name  IN              VARCHAR2    DEFAULT NULL,
        principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.GETPATH (
        path        IN              VARCHAR2,
        properties  IN OUT NOCOPY   PROPERTIES_T,
        amount      IN OUT          NUMBER,
        offset      IN              NUMBER,
        buffers     OUT    NOCOPY   DBMS_DBFS_CONTENT_RAW_T,
        prop_flags  IN              INTEGER     DEFAULT (PROP_STD +
                                                         PROP_OPT +
                                                         PROP_DATA),
        asof        IN              TIMESTAMP   DEFAULT NULL,
        store_name  IN              VARCHAR2    DEFAULT NULL,
        principal   IN              VARCHAR2    DEFAULT NULL);

パラメータ

表48-39 GETPATHプロシージャのパラメータ

パラメータ 説明

path

パス項目へのパス名。

properties

prop_flagsに応じて戻される、1つ以上のプロパティおよびその値(「DBMS_DBFS_CONTENT_PROPERTIES_T表タイプ」を参照)。

content

ファイルに移入するデータを保持するBLOB(オプション)。

item_type

指定されたパス項目のタイプ(表48-4を参照)。

amount

入力時に読み取られるバイト数。出力時に読み取られるバイト数。

offset

読取りを開始するバイト・オフセット。

buffer

書込み先のバッファ。

buffers

書込み先のバッファ。

prop_flags

どのプロパティが設定されるか、戻されるかまたはその両方かを決定します。デフォルトはPROP_STDです。prop_specを設定し、対象となる値を持つプロパティのDBMS_DBFS_CONTENT_PROPERTIES_T表タイプのインスタンスを提供することにより、戻されるプロパティを指定します。

asof

元になる読取り専用操作(またはその読取り専用サブコンポーネント)が実行される「時点」タイムスタンプ。

forUpdate

パス項目に対する排他的書込みアクセス権限を示すためにロックを取得する必要があることを指定します。

deref

0(ゼロ)以外に設定すると、指定したパス項目を実際のデータに解決しようとします。ただし、実際のデータが参照であることが条件です。

store_name

ストアの名前。

principal

現在の操作を起動するエージェント(プリンシパル)。

48.7.22 GETPATHBYMOUNTIDファンクション

基礎となるGUIDが元のストアにある場合、このファンクションは完全絶対パス名を戻します。

構文

DBMS_DBFS_CONTENT.GETPATHBYMOUNTID (
   store_mount         IN      VARCHAR2,
   guid                IN      INTEGER)
  RETURN VARCHAR2;

パラメータ

表48-40 GETPATHBYMOUNTIDファンクションのパラメータ

パラメータ 説明

store_mount

guidのあるパス項目が存在するマウント・ポイント。

guid

パス項目に対する一意のID。

使用上のノート

GUIDが不明な場合、NULL値が戻されます。クライアントは必要に応じて処理する必要があります。

戻り値

store_mountのGUIDで表されるパス項目のパス

48.7.23 GETPATHBYSTOREIDファンクション

基礎となるGUIDが元のストアにある場合、このファンクションはストア修飾されたパス名を戻します。

構文

DBMS_DBFS_CONTENT.GETPATHBYSTOREID (
   store_name          IN      VARCHAR2,
   guid                IN      INTEGER)
  RETURN VARCHAR2;

パラメータ

表48-41 GETPATHBYSTOREIDファンクションのパラメータ

パラメータ 説明

store_name

ストアの名前。

guid

目的のパス項目を表す一意のID。

使用上のノート

GUIDが不明な場合、NULL値が戻されます。クライアントは必要に応じて処理する必要があります。

戻り値

GUIDによって表されるストア修飾されたパス名。

48.7.24 GETPATHNOWAITプロシージャ

このプロシージャは、操作が更新のためであることを示しており、実行された場合、プロバイダは行のロックを待機せず例外(ORA-00054)を戻すことができます。

詳細は、表48-5FEATURE_NOWAITを参照してください。

構文

DBMS_DBFS_CONTENT.GETPATHNOWAIT (
        path        IN              VARCHAR2,
        properties  IN OUT NOCOPY   DBMS_DBFS_CONTENT_PROPERTIES_T,
        content     OUT    NOCOPY   BLOB,
        item_type   OUT             INTEGER,
        prop_flags  IN              INTEGER     DEFAULT (PROP_STD +
                                                         PROP_OPT +
                                                         PROP_DATA),
        deref       IN              BOOLEAN     DEFAULT FALSE,
        store_name  IN              VARCHAR2    DEFAULT NULL,
        principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.GETPATHNOWAIT (
        path        IN              VARCHAR2,
        properties  IN OUT NOCOPY   PROPERTIES_T,
        content     OUT    NOCOPY   BLOB,
        item_type   OUT             INTEGER,
        prop_flags  IN              INTEGER     DEFAULT (PROP_STD +
                                                         PROP_OPT +
                                                         PROP_DATA),
        deref       IN              BOOLEAN     DEFAULT FALSE,
        store_name  IN              VARCHAR2    DEFAULT NULL,
        principal   IN              VARCHAR2    DEFAULT NULL);

パラメータ

表48-42 GETPATHNOWAITプロシージャのパラメータ

パラメータ 説明

path

パス項目へのパス名。

properties

prop_flagsに応じて戻される、1つ以上のプロパティおよびその値(「DBMS_DBFS_CONTENT_PROPERTIES_T表タイプ」を参照)。

content

ファイルに移入するデータを保持するBLOB(オプション)。

item_type

指定されたパス項目のタイプ(表48-4を参照)。

prop_flags

どのプロパティが戻されるかを決定します。デフォルトはPROP_STDです。prop_specを設定し、対象となる値を持つプロパティのDBMS_DBFS_CONTENT_PROPERTIES_T表タイプのインスタンスを提供することにより、戻されるプロパティを指定します。

asof

元になる読取り専用操作(またはその読取り専用サブコンポーネント)が実行される「時点」タイムスタンプ。

deref

0(ゼロ)以外に設定すると、指定したパス項目を実際のデータに解決しようとします。ただし、実際のデータが参照であることが条件です。

store_name

ストアの名前。

principal

現在の操作を起動するエージェント(プリンシパル)。

48.7.25 GETSTOREBYMOUNTファンクション

このファンクションは、名前によりストアを戻します。

構文

DBMS_DBFS_CONTENT.GETSTOREBYMOUNT (
   store_mount       IN      VARCHAR2)
  RETURN STORE_T;

パラメータ

表48-43 GETSTOREBYMOUNTファンクションのパラメータ

パラメータ 説明

store_mount

ストア・インスタンスがマウントされる場所。

48.7.26 GETSTOREBYNAMEファンクション

このファンクションは、名前によりストアを戻します。

構文

DBMS_DBFS_CONTENT.GETSTOREBYNAME (
   store_name       IN      VARCHAR2)
  RETURN STORE_T;

パラメータ

表48-44 GETSTOREBYNAMEファンクションのパラメータ

パラメータ 説明

store_name

ストアの名前。

48.7.27 GETSTOREBYPATHファンクション

このファンクションは、パスによりストアを戻します。

構文

DBMS_DBFS_CONTENT.GETSTOREBYPATH (
   path       IN      PATH_T)
  RETURN STORE_T;

パラメータ

表48-45 GETSTOREBYPATHファンクションのパラメータ

パラメータ 説明

path

PATH_T

48.7.28 GETSTATSプロシージャ

このプロシージャは、DBMS_DBFS_CONTENT統計情報収集に関する情報を戻します。

構文

DBMS_DBFS_CONTENT.GETSTATS (
   enabled         OUT    BOOLEAN,
   flush_time      OUT    INTEGER,
   flush_count     OUT    INTEGER);

パラメータ

表48-46 GETSTATSプロシージャのパラメータ

パラメータ 説明

enabled

統計情報収集が有効化かどうかを指定します。

flush_time

統計情報をディスクにフラッシュする頻度をセンチ秒単位で指定します。

flush_count

統計情報のフラッシュとフラッシュの間に許可される操作の数。

48.7.29 GETTRACEファンクション

このファンクションは、DBMS_DBFS_CONTENTトレースがオンになっているかどうかを戻します。

構文

DBMS_DBFS_CONTENT.GETTRACE
  RETURN INTEGER.

戻り値

トレースがオフの場合は0を戻し、トレースがオンの場合はゼロ以外を戻します。

48.7.30 GETVERSIONファンクション

このファンクションは、DBMS_DBFS_CONTENTインタフェースの各バージョンを示します。

構文

DBMS_DBFS_CONTENT.GETVERSION (
  RETURN VARCHAR2;

戻り値

a.b.cmajor, minorおよびpatchコンポーネントに対応する、標準のネーミング規則でDBMS_DBFS_CONTENTインタフェースのバージョンを列挙する文字列。

48.7.31 ISPATHLOCKEDプロシージャ

このプロシージャは、指定したパスにユーザー・レベルのロックが適用されているかどうかをチェックします。

構文

DBMS_DBFS_CONTENT.ISPATHLOCKED (
   path           IN     VARCHAR2,
   who            IN     VARCHAR2,
   lock_type      IN OUT INTEGER,
   store_name     IN     VARCHAR2    DEFAULT NULL,
   principal      IN     VARCHAR2    DEFAULT NULL);

パラメータ

表48-47 ISPATHLOCKEDプロシージャのパラメータ

パラメータ 説明

path

ファイル項目へのパス名。

who

パスをロックしたトランザクション識別子。

lock_type

使用可能なロック・タイプのいずれか(表48-6を参照)。

store_name

ストアの名前。

principal

現在の操作を起動するエージェント(プリンシパル)。

48.7.32 LISTファンクション

このファンクションは、指定したフィルタおよびその他の基準に適合する指定したパスでのパス項目を示します。

構文

DBMS_DBFS_CONTENT.LIST (
   path          IN     VARCHAR2,
   filter        IN     VARCHAR2    DEFAULT NULL,
   recurse       IN     INTEGER     DEFAULT 0,
   asof          IN     TIMESTAMP   DEFAULT NULL,
   store_name    IN     VARCHAR2    DEFAULT NULL,
   principal     IN     VARCHAR2    DEFAULT NULL)
  RETURN  DBMS_DBFS_CONTENT_LIST_ITEMS_T PIPELINED;

パラメータ

表48-48 LISTファンクションのパラメータ

パラメータ 説明

path

ディレクトリへのパス名。

filter

存在する場合、適用するフィルタ。

recurse

0の場合、再帰的に実行しません。それ以外の場合は、指定したディレクトリの下にあるディレクトリおよびファイルの内容を再帰的にリストします。

asof

元になる読取り専用操作(またはその読取り専用サブコンポーネント)が実行される「時点」タイムスタンプ。

store_name

リポジトリの名前。

principal

現在の操作を起動するエージェント(プリンシパル)。

48.7.33 LISTALLPROPERTIESファンクション

このファンクションは、すべてのマウントのすべてのパス項目に対するすべてのプロパティの表を戻します。

構文

DBMS_DBFS_CONTENT.LISTALLPROPERTIES 
  RETURN  PROP_ITEMS_T PIPELINED;

48.7.34 LISTALLCONTENTファンクション

このファンクションは、すべてのマウントのすべてのパス項目を示します。

構文

DBMS_DBFS_CONTENT.LISTALLCONTENT 
  RETURN  PATH_ITEMS_T PIPELINED;

48.7.35 LISTMOUNTSファンクション

このファンクションは、すべての使用可能なマウント・ポイント、そのバックエンドのデータストアおよびストア機能を示します。

構文

DBMS_DBFS_CONTENT.LISTMOUNTS 
  RETURN MOUNTS_T PIPELINED;

使用上のノート

単一のマウントの結果として単一の行が戻され、戻されたレコードのstore_mountフィールドはNULLに設定されています。

48.7.36 LISTSTORESファンクション

このファンクションは、すべての使用可能なストアとその機能を示します。

構文

DBMS_DBFS_CONTENT.LISTSTORES 
  RETURN STORES_T PIPELINED;

使用上のノート

戻されたレコードのstore_mountフィールドはNULLに設定されています(マウント・ポイントがストア自体から分離しているため)。

48.7.37 LOCKPATHプロシージャ

このプロシージャは、ユーザー・レベルのロックを指定した有効なパス名(ストア機能サポートの対象)に適用し、オプションとしてユーザー・データをロックと関連付けます。

構文

DBMS_DBFS_CONTENT.LOCKPATH (
   path           IN     VARCHAR2,
   who            IN     VARCHAR2,
   lock_type      IN     INTEGER,
   waitForRowLock IN     INTEGER     DEFAULT 1,
   store_name     IN     VARCHAR2    DEFAULT NULL,
   principal      IN     VARCHAR2    DEFAULT NULL);

パラメータ

表48-49 LOCKPATHプロシージャのパラメータ

パラメータ 説明

path

ファイル項目へのパス名。

who

パスをロックしたトランザクション識別子。

lock_type

使用可能なロック・タイプのいずれか(表48-6を参照)。

waitForRowLock

行がトランザクションによってロックされているかどうかを判別します。

store_name

ストアの名前。

principal

現在の操作を起動するエージェント(プリンシパル)。

48.7.38 MOUNTSTOREプロシージャ

このプロシージャは、以前に登録されたストアをマウントし、マウント・ポイントにバインドします。

構文

DBMS_DBFS_CONTENT.MOUNTSTORE (
   store_mount    in      VARCHAR2   DEFAULT NULL,
   singleton      in      BOOLEAN    DEFAULT FALSE,
   principal      in      VARCHAR2   DEFAULT NULL,
   owner          in      VARCHAR2   DEFAULT NULL,
   acl            in      VARCHAR2   DEFAULT NULL,
   asof           in      TIMESTAMP  DEFAULT NULL,
   read_only      in      BOOLEAN    DEFAULT FALSE);

パラメータ

表48-50 MOUNTSTOREプロシージャのパラメータ

パラメータ 説明

store_mount

このストアをマウントするために使用するパス名。

singleton

マウントがシステムで単一のバックエンド・ストアかどうかを指定します。

principal

現在の操作を起動するエージェント(プリンシパル)。

owner

現在の操作によって(暗黙的にまたは明示的に)作成された新しい要素の所有者。

acl

現在の操作によって(暗黙的にまたは明示的に)作成されたすべての新しい要素のACL。

asof

元になる読取り専用操作(またはその読取り専用サブコンポーネント)が実行される「時点」タイムスタンプ。

read_only

マウントが読取り専用かどうかを指定します。

使用上のノート

参照:

登録されたストアのマウント方法の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。

48.7.39 NORMALIZEPATHファンクション

このファンクションは、ストア固有または完全絶対パス名を正規化された形式に変換します。

次を実行します。

  • パス名が絶対であり、「/」で始まることを検証します。

  • 複数の連続した「/」を単一の「/」に折りたたみます。

  • 末尾の「/」を削除します。

  • ストア固有の正規化されたパス名を、親パス名と末尾コンポーネント名という2つのコンポーネントに分割します。

  • 完全な絶対の正規化されたパス名を、ストア名、親パス名、末尾コンポーネント名という3つのコンポーネントに分割します。

構文

DBMS_DBFS_CONTENT.NORMALIZEPATH (
   path        IN              VARCHAR2,
   parent      OUT NOCOPY      VARCHAR2,
   tpath       OUT NOCOPY      VARCHAR2)
  RETURN VARCHAR2;

DBMS_DBFS_CONTENT.NORMALIZEPATH (
   path        IN              VARCHAR2,
   store_name  OUT NOCOPY      VARCHAR2,
   parent      OUT NOCOPY      VARCHAR2,
   tpath       OUT NOCOPY      VARCHAR2)
  RETURN VARCHAR2;

パラメータ

表48-51 NORMALIZEPATHファンクションのパラメータ

パラメータ 説明

path

ファイル項目へのパス名。

store_name

ストアの名前。

parent

親のパス名。

tpath

末尾のパス項目の名前。

戻り値

完全に正規化されたストア固有または完全絶対パス名。

48.7.40 PROPANYファンクション

このファンクションは、様々なタイプのいずれかを取り、PROPERTY_Tを戻すコンストラクタを提供します。

構文

DBMS_DBFS_CONTENT.PROPANY (
   val      IN      NUMBER)
RETURN PROPERTY_T;

DBMS_DBFS_CONTENT.PROPANY (
   val      IN      VARCHAR2)
RETURN PROPERTY_T;

DBMS_DBFS_CONTENT.PROPANY (
   val      IN      TIMESTAMP)
RETURN PROPERTY_T;

DBMS_DBFS_CONTENT.PROPANY (
   val      IN      RAW)
RETURN PROPERTY_T;

パラメータ

表48-52 PROPANYファンクションのパラメータ

パラメータ 説明

val

48.7.41 PROPERTIESH2Tファンクション

このファンクションは、PROPERTY_TハッシュをDBMS_DBFS_CONTENT_PROPERTIES_T表に変換します。

構文

DBMS_DBFS_CONTENT.PROPERTIEST2H (
   pprops      IN      PROPERTIES_T)
RETURN DBMS_DBFS_CONTENT_PROPERTIES_T;

パラメータ

表48-53 PROPERTIEST2Hファンクションのパラメータ

パラメータ 説明

sprops

PROPERTIES_Tハッシュ。

48.7.42 PROPERTIEST2Hファンクション

このファンクションは、DBMS_DBFS_CONTENT_PROPERTIES_T表をPROPERTY_Tハッシュに変換します。

構文

DBMS_DBFS_CONTENT.PROPERTIEST2H (
   sprops      IN      DBMS_DBFS_CONTENT_PROPERTIES_T)
RETURN properties_t;

パラメータ

表48-54 PROPERTIEST2Hファンクションのパラメータ

パラメータ 説明

sprops

DBMS_DBFS_CONTENT_PROPERTIES_T

48.7.43 PROPNUMBERファンクション

このファンクションは、数を取りPROPERTY_Tを戻すコンストラクタです。

構文

DBMS_DBFS_CONTENT.PROPNUMBER (
   val      IN      NUMBER)
RETURN PROPERTY_T;

パラメータ

表48-55 PROPNUMBERファンクションのパラメータ

パラメータ 説明

val

48.7.44 PROPRAWファンクション

このファンクションは、RAWを取りPROPERTY_Tを戻すコンストラクタです。

構文

DBMS_DBFS_CONTENT.PROPRAW (
   val      IN      RAW)
RETURN PROPERTY_T;

パラメータ

表48-56 PROPRAWファンクションのパラメータ

パラメータ 説明

val

48.7.45 PROPTIMESTAMPファンクション

このファンクションは、TIMESTAMPを取りPROPERTY_Tを戻すコンストラクタです。

構文

DBMS_DBFS_CONTENT.PROPTIMESTAMP (
   val      IN      TIMESTAMP)
RETURN PROPERTY_T;

パラメータ

表48-57 PROPTIMESTAMPファンクションのパラメータ

パラメータ 説明

val

48.7.46 PROPVARCHAR2ファンクション

このファンクションは、VARCHAR2を取りPROPERTY_Tを戻すコンストラクタです。

構文

DBMS_DBFS_CONTENT.PROPVARCHAR2 (
   val      IN      VARCHAR2)
RETURN PROPERTY_T;

パラメータ

表48-58 PROPNUMBERファンクションのパラメータ

パラメータ 説明

val

48.7.47 PURGEALLプロシージャ

このプロシージャは、パスおよびオプションのフィルタ条件に一致する、すべてのソフト削除されたエントリをパージします。

構文

DBMS_DBFS_CONTENT.PURGEALL (
   path           IN      VARCHAR2,
   filter         IN      VARCHAR2    DEFAULT NULL,
   store_name     IN      VARCHAR2    DEFAULT NULL,
   principal      IN      VARCHAR2    DEFAULT NULL);

パラメータ

表48-59 PURGEALLプロシージャのパラメータ

パラメータ 説明

path

ファイル項目へのパス名。

filter

存在する場合、指定した条件に基づいて適用するフィルタ。

store_name

ストアの名前。

principal

現在の操作を起動するエージェント(プリンシパル)。

48.7.48 PURGEPATHプロシージャ

このプロシージャは、指定したパス項目の任意のソフト削除したバージョンをパージします。

構文

DBMS_DBFS_CONTENT.PURGEPATH (
   path           IN      VARCHAR2,
   filter         IN      VARCHAR2    DEFAULT NULL,
   store_name     IN      VARCHAR2    DEFAULT NULL,
   principal      IN      VARCHAR2    DEFAULT NULL);

パラメータ

表48-60 PURGEPATHプロシージャのパラメータ

パラメータ 説明

path

ファイル項目へのパス名。

filter

存在する場合、適用するフィルタ。

store_name

ストアの名前。

principal

現在の操作を起動するエージェント(プリンシパル)。

48.7.49 PUTPATHプロシージャ

このプロシージャは、新しいパス項目を作成します。

構文

DBMS_DBFS_CONTENT.PUTPATH (
   path        IN              VARCHAR2,
   properties  IN OUT NOCOPY   DBMS_DBFS_CONTENT_PROPERTIES_T,
   content     IN OUT NOCOPY   BLOB,
   item_type   OUT             INTEGER,
   prop_flags  IN              INTEGER     DEFAULT (PROP_STD +
                                                         PROP_OPT +
                                                         PROP_DATA),
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.PUTPATH (
   path        IN              VARCHAR2,
   properties  IN OUT NOCOPY   PROPERTIES_T,
   content     IN OUT NOCOPY   BLOB,
   item_type   OUT             INTEGER,
   prop_flags  IN              INTEGER     DEFAULT (PROP_STD +
                                                         PROP_OPT +
                                                         PROP_DATA),
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.PUTPATH (
   path        IN              VARCHAR2,
   properties  IN OUT NOCOPY   DBMS_DBFS_CONTENT_PROPERTIES_T,
   amount      IN              NUMBER,
   offset      IN              NUMBER,
   buffer      IN              RAW,
   prop_flags  IN              INTEGER     DEFAULT (PROP_STD +
                                                         PROP_OPT),
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.PUTPATH (
   path        IN              VARCHAR2,
   properties  IN OUT NOCOPY   PROPERTIES_T,
   amount      IN              NUMBER,
   offset      IN              NUMBER,
   buffer      IN              RAW,
   prop_flags  IN              INTEGER     DEFAULT (PROP_STD +
                                                         PROP_OPT),
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.PUTPATH (
   path        IN              VARCHAR2,
   properties  IN OUT NOCOPY   DBMS_DBFS_CONTENT_PROPERTIES_T,
   written     OUT             NUMBER,
   offset      IN              NUMBER,
   buffers     IN             DBMS_DBFS_CONTENT_RAW_T,
   prop_flags  IN              INTEGER     DEFAULT (PROP_STD +
                                                         PROP_OPT),
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.PUTPATH (
   path        IN              VARCHAR2,
   properties  IN OUT NOCOPY   PROPERTIES_T,
   written     OUT             NUMBER,
   offset      IN              NUMBER,
   buffers     IN              DBMS_DBFS_CONTENT_RAW_T,
   prop_flags  IN              INTEGER     DEFAULT (PROP_STD +
                                                         PROP_OPT),
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

パラメータ

表48-61 PUTPATHプロシージャのパラメータ

パラメータ 説明

path

ファイル項目へのパス名。

properties

prop_flagsに応じて設定される、1つ以上のプロパティおよびその値(「DBMS_DBFS_CONTENT_PROPERTIES_T表タイプ」を参照)。

content

ファイルに移入するデータを保持するBLOB(オプション)。

item_type

指定されたパス項目のタイプ(表48-4を参照)。

amount

読み取られるバイト数。

offset

読取りを開始するバイト・オフセット。

buffer

書込み先のバッファ。

buffers

書込み先のバッファ。

prop_flags

どのプロパティが設定されるかを決定します。デフォルトはPROP_STDです。prop_specを設定し、対象となる値を持つプロパティのDBMS_DBFS_CONTENT_PROPERTIES_T表タイプのインスタンスを提供することにより、戻されるプロパティを指定します。

store_name

ストアの名前。

principal

現在の操作を起動するエージェント(プリンシパル)。

48.7.50 REGISTERSTOREプロシージャ

このプロシージャは、ストア・プロバイダ(DBMS_DBFS_CONTENT_SPIパッケージのシグネチャに準拠)を使用するプロバイダによってサポートされる新しいストアを登録します。

このメソッドは、主に新しいストアを作成した後にストア・プロバイダによって使用されます。

構文

DBMS_DBFS_CONTENT.REGISTERSTORE (
   store_name          IN      VARCHAR2,
   provider_name       IN      VARCHAR2,
   provider_package    IN      VARCHAR2);

パラメータ

表48-62 REGISTERSTOREプロシージャのパラメータ

パラメータ 説明

store_name

ストアの名前。一意であることが必要です。

provider_name

プロバイダの名前。

provider_package

ストア・プロバイダ。

48.7.51 RENAMEPATHプロシージャ

このプロシージャは、パスの名前変更または移動を行います。この操作は、同じストア内であれば、複数のディレクトリ階層やマウント・ポイント間で実行できます。

ノート:

名前の変更および移動操作については、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。

構文

DBMS_DBFS_CONTENT.RENAMEPATH (
   oldPath     IN              VARCHAR2,
   newPath     IN              VARCHAR2,
   properties  IN OUT NOCOPY   DBMS_DBFS_CONTENT_PROPERTIES_T,
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.RENAMEPATH (
   oldPath     IN              VARCHAR2,
   newPath     IN              VARCHAR2,
   properties  IN OUT NOCOPY   PROPERTIES_T,
   store_name  IN              VARCHAR2    DEFAULT NULL,
   principal   IN              VARCHAR2    DEFAULT NULL);

パラメータ

表48-63 RENAMEPATHプロシージャのパラメータ

パラメータ 説明

oldPath

名前変更前のパス名。

newPath

名前変更後のパス名。

properties

prop_flagsに応じて設定される、1つ以上のプロパティおよびその値(「DBMS_DBFS_CONTENT_PROPERTIES_T表タイプ」を参照)。

store_name

ストアの名前。一意であることが必要です。

principal

現在の操作を起動するエージェント(プリンシパル)。

48.7.52 RESTOREALLプロシージャ

このプロシージャは、パスおよびオプションのフィルタ条件に一致するすべてのソフト削除されたパス項目をリストアします。

構文

DBMS_DBFS_CONTENT.RESTOREALL (
   path           IN      VARCHAR2,
   filter         IN      VARCHAR2    DEFAULT NULL,
   store_name     IN      VARCHAR2    DEFAULT NULL,
   principal      IN      VARCHAR2    DEFAULT NULL);

パラメータ

表48-64 RESTOREALLプロシージャのパラメータ

パラメータ 説明

path

ファイル項目へのパス名。

filter

存在する場合、適用するフィルタ。

store_name

ストアの名前。

principal

現在の操作を起動するエージェント(プリンシパル)。

48.7.53 RESTOREPATHプロシージャ

このプロシージャは、指定したパスおよびオプションのフィルタ条件に一致するすべてのソフト削除されたパス項目をリストアします。

構文

DBMS_DBFS_CONTENT.RESTOREPATH (
   path           IN      VARCHAR2,
   filter         IN      VARCHAR2    DEFAULT NULL,
   store_name     IN      VARCHAR2    DEFAULT NULL,
   principal      IN      VARCHAR2    DEFAULT NULL);

パラメータ

表48-65 RESTOREPATHプロシージャのパラメータ

パラメータ 説明

path

ファイル項目へのパス名。

filter

存在する場合、適用するフィルタ。

store_name

ストアの名前。

principal

現在の操作を起動するエージェント(プリンシパル)。

48.7.54 SETDEFAULTACLプロシージャ

このプロシージャは、デフォルトのコンテキストのACLパラメータを設定します。

この情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。

構文

DBMS_DBFS_CONTENT.SETDEFAULTACL (
   acl    IN     VARCHAR2);

パラメータ

表48-66 SETDEFAULTACLプロシージャのパラメータ

パラメータ 説明

acl

現在の操作によって(暗黙的にまたは明示的に)作成されたすべての新しい要素のACL。

使用上のノート

  • デフォルトでは、NULL。このパラメータは、NULLに設定することでクリアできます。

  • このパラメータは、一度設定すると、セッションの期間中デフォルトのままで、デフォルトが明示的に上書きされないすべての操作に継承されます。

48.7.55 SETDEFAULTASOFプロシージャ

このプロシージャは、デフォルトのコンテキストの「時点」パラメータを設定します。この情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。

構文

DBMS_DBFS_CONTENT.SETDEFAULTASOF (
  asof    IN     TIMESTAMP);

パラメータ

表48-67 SETDEFAULTASOFプロシージャのパラメータ

パラメータ 説明

asof

元になる読取り専用操作(またはその読取り専用サブコンポーネント)が実行される「時点」タイムスタンプ。

使用上のノート

  • デフォルトでは、NULL。このパラメータは、NULLに設定することでクリアできます。

  • このパラメータは、一度設定すると、セッションの期間中デフォルトのままで、デフォルトが明示的に上書きされないすべての操作に継承されます。

48.7.56 SETDEFAULTCONTEXTプロシージャ

このプロシージャは、デフォルトのコンテキストを設定します。コンテキストに含まれる情報は、引数によって様々なメソッド・コールに明示的に挿入でき、個別の操作に対してファイングレイン制御が可能です。

構文

DBMS_DBFS_CONTENT.SETDEFAULTCONTEXT (
   principal    IN     VARCHAR2,
   owner        IN     VARCHAR2,
   acl          IN     VARCHAR2,
   asof         IN     TIMESTAMP);

パラメータ

表48-68 SETDEFAULTCONTEXTプロシージャのパラメータ

パラメータ 説明

principal

現在の操作を起動するエージェント(プリンシパル)。

owner

現在の操作によって(暗黙的にまたは明示的に)作成された新しい要素の所有者。

acl

現在の操作によって(暗黙的にまたは明示的に)作成されたすべての新しい要素のACL。

asof

元になる読取り専用操作(またはその読取り専用サブコンポーネント)が実行される「時点」タイムスタンプ。

使用上のノート

  • すべてのコンテキスト・パラメータはデフォルトでNULLであり、NULLに設定することでクリアできます。

  • コンテキスト・パラメータは、一度設定すると、セッションの期間中デフォルトのままで、デフォルトが明示的に上書きされないすべての操作に継承されます。

48.7.57 SETDEFAULTOWNERプロシージャ

このプロシージャは、デフォルトのコンテキストの「所有者」パラメータを設定します。この情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。

構文

DBMS_DBFS_CONTENT.SETDEFAULTOWNER (
   principal    IN     VARCHAR2);

パラメータ

表48-69 SETDEFAULTOWNERプロシージャのパラメータ

パラメータ 説明

owner

現在の操作によって(暗黙的にまたは明示的に)作成された新しい要素の所有者。

使用上のノート

  • デフォルトでは、NULL。このパラメータは、NULLに設定することでクリアできます。

  • このパラメータは、一度設定すると、セッションの期間中デフォルトのままで、デフォルトが明示的に上書きされないすべての操作に継承されます。

48.7.58 SETDEFAULTPRINCIPALプロシージャ

このプロシージャは、デフォルトのコンテキストの「プリンシパル」パラメータを設定します。この含まれた情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。

構文

DBMS_DBFS_CONTENT.SETDEFAULTPRINCIPAL (
   principal    IN     VARCHAR2);

パラメータ

表48-70 SETDEFAULTPRINCIPALプロシージャのパラメータ

パラメータ 説明

principal

現在の操作を起動するエージェント(プリンシパル)。

使用上のノート

  • デフォルトでは、NULL。このパラメータは、NULLに設定することでクリアできます。

  • このパラメータは、一度設定すると、セッションの期間中デフォルトのままで、デフォルトが明示的に上書きされないすべての操作に継承されます。

48.7.59 SETPATHプロシージャ

このプロシージャは、コンテンツIDによって表されるパス項目にパス名を割り当てます。

コンテンツIDベースのアクセスおよびレイジー・パス名バインドをサポートするストアおよびそのプロバイダは、既存のcontentIDを新しい「パス」と関連付けるSETPATHプロシージャもサポートします。

ノート:

名前の変更および移動操作については、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。

構文

DBMS_DBFS_CONTENT.SETPATH (
   store_name  IN              VARCHAR2,
   contentID   IN              RAW,
   path        IN              VARCHAR2,
   properties  IN OUT NOCOPY   DBMS_DBFS_CONTENT_PROPERTIES_T,
   principal   IN              VARCHAR2    DEFAULT NULL);

DBMS_DBFS_CONTENT.SETPATH (
   store_name  IN              VARCHAR2,
   contentID   IN              RAW,
   path        IN              VARCHAR2,
   properties  IN OUT NOCOPY   PROPERTIES_T,
   principal   IN              VARCHAR2    DEFAULT NULL);

パラメータ

表48-71 SETPATHプロシージャのパラメータ

パラメータ 説明

store_name

ストアの名前。

contentID

関連付けるファイルの一意の識別子。

path

パス項目へのパス名。

properties

prop_flagsに応じて設定される、1つ以上のプロパティおよびその値(「DBMS_DBFS_CONTENT_PROPERTIES_T表タイプ」を参照)。

principal

現在の操作を起動するエージェント(プリンシパル)。

48.7.60 SETSTATSプロシージャ

このプロシージャは、統計情報収集を有効化および無効化します。

クライアントは、時間、カウントまたは両方のパラメータにNULL以外の値を設定することによって、オプションとしてフラッシュ設定を制御できます。

構文

DBMS_DBFS_CONTENT.SETSTATS (
   enable          IN    BOOLEAN,
   flush_time      IN    INTEGER,
   flush_count     IN    INTEGER);

パラメータ

表48-72 SETSTATSプロシージャのパラメータ

パラメータ 説明

enable

TRUEの場合、統計情報収集を有効化します。FALSEの場合、統計情報収集を無効化します。

flush_time

統計情報をディスクにフラッシュする頻度をセンチ秒単位で指定します。

flush_count

統計情報のフラッシュとフラッシュの間に許可される操作の数。

使用上のノート

SETSTATSプロシージャは、最大flush_timeセンチ秒または最大flush_count操作(先に制限に達した方)または両方のメモリー内に統計情報をバッファし、制限に達したときにバッファは暗黙的にディスクにフラッシュされます。

48.7.61 SETTRACEプロシージャ

このプロシージャは、DBMS_DBFS_CONTENTトレース重大度を指定したレベルに設定し、0は「オフ」です。

構文

DBMS_DBFS_CONTENT.SETTRACE
     trclvl      IN         INTEGER);

パラメータ

表48-73 SETTRACEプロシージャのパラメータ

パラメータ 説明

trclvl

トレースのレベル。値が高いほどトレース量が増加します。

48.7.62 SPACEUSAGEプロシージャ

このプロシージャは、ファイル・システム領域使用統計情報を問い合せます。

プロバイダは、ストアに対してこのサブプログラムをサポートする必要があります(特に、ストアが複数の表、索引、LOBなどで構成される場合、領域使用率の決定に最善の試みが求められます)。

構文

DBMS_DBFS_CONTENT.SPACEUSAGE (
   path          IN        VARCHAR2,
   blksize       OUT       INTEGER,
   tbytes        OUT       INTEGER,
   fbytes        OUT       INTEGER,
   nfile         OUT       INTEGER,
   ndir          OUT       INTEGER,
   nlink         OUT       INTEGER,
   nref          OUT       INTEGER,
   store_name    IN        VARCHAR2 DEFAULT NULL);

パラメータ

表48-74 SPACEUSAGEプロシージャのパラメータ

パラメータ 説明

path

ファイル項目へのパス名。

blksize

ストアを保持する自然表領域のブロック・サイズ。異なるブロック・サイズの複数の表領域を使用する場合、任意の有効なブロック・サイズが受け入れられます。

tbytes

ストアを構成するすべてのセグメントに対して計算されたストアの合計サイズ(バイト単位)。

fbytes

ストアを構成するすべてのセグメントに対して計算されたストアの空き領域または未使用領域のサイズ(バイト単位)。

nfile

ストアで現在使用可能なファイル数。

ndir

ストアで現在使用可能なディレクトリ数。

nlink

ストアで現在使用可能なリンク数。

nref

ストアで現在使用可能な参照数。

store_name

ストアの名前。

使用上のノート

  • トップレベルのルート・ディレクトリで領域使用量を問い合せると、その下にあるすべての使用可能な異なるストアの領域使用量をまとめた要約が戻されます(同じストアが複数回マウントされている場合、1回のみカウントされます)。

  • データベース・オブジェクトは動的に拡張可能であるため、「空き」領域と「使用済」領域の区分を推定することは容易ではありません。

48.7.63 TRACEプロシージャ

このプロシージャは、現在のフォアグラウンド・トレース・ファイルにトレースを出力します。

構文

DBMS_DBFS_CONTENT.TRACE
   sev         IN              INTEGER,
   msg0        IN              VARCHAR2,
   msg1        IN              VARCHAR     DEFAULT '',
   msg2        IN              VARCHAR     DEFAULT '',
   msg3        IN              VARCHAR     DEFAULT '',
   msg4        IN              VARCHAR     DEFAULT '',
   msg5        IN              VARCHAR     DEFAULT '',
   msg6        IN              VARCHAR     DEFAULT '',
   msg7        IN              VARCHAR     DEFAULT '',
   msg8        IN              VARCHAR     DEFAULT '',
   msg9        IN              VARCHAR     DEFAULT '',
   msg10       IN              VARCHAR     DEFAULT '');

パラメータ

表48-75 TRACEプロシージャのパラメータ

パラメータ 説明

sev

トレース・メッセージが出力される重大度。

msg*

出力される1つ以上のメッセージ文字列。複数のメッセージを指定すると、すべてが出力されます。

使用上のノート

  • トレース情報は、トレース・レベル/引数で指定された様々な詳細レベルで、フォアグラウンド・トレース・ファイルに書き込まれます。

  • グローバル・トレース・レベルは、「重大度」と「詳細」の2つのコンポーネントで構成されます。これらは、加算的ビットマスクと考えることができます。

    「重大度」では、様々なコンポーネントの低いレベルのトレースと比較した場合、トップ・レベルの分離が可能であり、必要に応じてトレース量を増加できます。様々なレベルに関連付けられているセマンティクスはなく、ユーザーは選択する任意の重大度にトレースを設定できますが、経験則としてはトップ・レベルのAPIエントリと終了トレースには「1」、内部操作には「2」、非常に低いレベルのトレースには「3」以上の重大度を使用することをお薦めします。

    「詳細」は、タイムスタンプ、ショート・スタックなど、どれだけの追加情報が各トレース・レコードとともにダンプされるかを制御します。

48.7.64 TRACEENABLEDファンクション

このファンクションは、SETTRACEプロシージャによって設定される現在のトレースの「重大度」が指定したトレース・レベルと同じ高さであるかどうかを判断します。

構文

DBMS_DBFS_CONTENT.TRACEENABLED(
   sev         IN              INTEGER)
  RETURN  INTEGER;

パラメータ

表48-76 TRACEENABLEDプロシージャのパラメータ

パラメータ 説明

sev

トレース・メッセージが出力される重大度。

戻り値

要求された重大度レベルが現在設定されているトレース重大度レベルより低い場合は0を戻し、それ以外の場合は1を戻します。

48.7.65 UNLOCKPATHプロシージャ

このプロシージャは、LOCKPATHプロシージャで以前にロックされたパス項目をロック解除します。

構文

DBMS_DBFS_CONTENT.UNLOCKPATH (
   path           IN     VARCHAR2,
   who            IN     VARCHAR2,
   waitForRowLock IN     INTEGER     DEFAULT 1,
   store_name     IN     VARCHAR2    DEFAULT NULL,
   principal      IN     VARCHAR2    DEFAULT NULL);

パラメータ

表48-77 UNLOCKPATHプロシージャのパラメータ

パラメータ 説明

path

ファイル項目へのパス名。

who

パスをロックしたトランザクション識別子。

waitForRowLock

行がトランザクションによってロックされているかどうかを判別します。

store_name

ストアの名前。

principal

現在の操作を起動するエージェント(プリンシパル)。

48.7.66 UNMOUNTSTOREプロシージャ

このプロシージャは、名前またはマウント・ポイントにより、登録されたストアをアンマウントします。

構文

DBMS_DBFS_CONTENT.UNMOUNTSTORE (
   store_name       IN      VARCHAR2   DEFAULT NULL,
   store_mount      IN      VARCHAR2   DEFAULT NULL,
   ignore_unknown   IN      BOOLEAN    DEFAULT FALSE);

パラメータ

表48-78 UNMOUNTSTOREプロシージャのパラメータ

パラメータ 説明

store_name

ストアの名前。

store_mount

ストア・インスタンスがマウントされる場所。

ignore_unknown

TRUEの場合、不明なストアを登録解除しようとしても例外は発生しません。

使用上のノート

参照:

以前にマウントしたストアのアンマウント方法の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。

48.7.67 UNREGISTERSTOREプロシージャ

このプロシージャは、以前に登録されたストアを登録解除します(関連付けられているすべてのマウント・ポイントを無効にします)。

構文

DBMS_DBFS_CONTENT.UNREGISTERSTORE (
   store_name          IN      VARCHAR2,
   ignore_unknown      IN      BOOLEAN DEFAULT FALSE);

パラメータ

表48-79 UNREGISTERSTOREプロシージャのパラメータ

パラメータ 説明

store_name

ストアの名前。

ignore_unknown

TRUEの場合、不明なストアを登録解除しようとしても例外は発生しません。

使用上のノート

  • 登録解除すると、そのストア(およびそのマウント・ポイント)へのすべてのアクセスが機能することは保証されません。

  • ignore_unknown引数がTRUEの場合、不明なストアを登録解除しようとしても例外は発生しません。