DBMS_DBFS_CONTENT
パッケージは、1つ以上のストア・プロバイダによってサポートされるファイル・システムのような抽象化を構成するインタフェースを提供します。
関連項目: 『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』 |
この章では、次の項目について説明します。
概要
セキュリティ・モデル
定数
例外
使用上の注意
DBMS_DBFS_CONTENT
パッケージは、Oracleデータベースをクライアント側のDBFSに接続するインタフェースを提供します。
サーバー側では、DBMS_DBFS_CONTENT
パッケージはDBMS_DBFS_CONTENT_SPI
パッケージによってサポートされています。このパッケージには、DBFSストアの実際の実装ではなく、DBFSストアの記述が含まれます。
関連項目:
|
DBMS_DBFS_CONTENT
パッケージでは、次の表に示す定数が使用されます。
パス名の定数およびタイプ
次の定数は、パスと項目名の宣言に役立ちます。パスは1024文字に制限され、項目名は256文字に制限されます。
表48-1 DBMS_DBFS_CONTENTの定数 - パス名
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
クライアントが参照できる絶対パス名の最大長。 |
|
|
|
コンポーネント名を表すことができる文字列のポータブル別名。 |
|
|
|
クライアントが参照できる絶対パス名の個別コンポーネントの最大長。 |
|
|
|
パス名を表すことができる文字列のポータブル別名。 |
コンテンツID定数
ストアは、ストアにある特定のパス項目を表す一意識別子をユーザーに表示できます。これらの識別子は128文字に制限されます。
表48-2 DBMS_DBFS_CONTENTの定数: コンテンツID
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
ファイル・タイプのコンテンツ項目を識別する、ストア固有のプロバイダによって生成されたコンテンツIDの最大長。 |
|
|
|
コンテンツID値を表すことができるRAWバッファのポータブル別名。 |
パスのプロパティの定数
ストアにあるすべてのパス名はプロパティのセットと関連付けられています。各プロパティは文字列「名前」、文字列「値」(未設定、未定義または特定のストア実装でサポートされていない場合は、NULL
)および値「typecode」(「値」文字列で保持される実際の値のタイプに対する数値判別式)で識別されます。
表48-3 DBMS_DBFS_CONTENTの定数: プロパティ
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
プロパティ名の最大長。 |
|
|
|
プロパティ名を表すことができる文字列のポータブル別名。 |
|
|
|
プロパティの文字列の最大長。 |
|
|
|
プロパティの値を表すことができる文字列のポータブル別名。 |
パス名タイプの定数
ストアのパス項目には関連付けられた項目タイプがあります。これらのタイプは、項目がストアで表すエントリの種類を表します。
表48-4 DBMS_DBFS_CONTENTの定数: パス名タイプ
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
コンテンツを格納する標準のファイル( |
|
|
|
ファイル・タイプなど、他のパス名タイプのコンテナ。 |
|
|
|
シンボリック・リンク(つまり、パス名と関連付けられている未解釈文字列)。シンボリック・リンクは、指定したどのストア(または、 |
|
|
|
コンテンツに対して常に有効なパスの別名であるハード・リンク。 |
ストア機能の定数
DBFSコンテンツAPIでは、様々なストア・プロバイダ(および様々なストア)が機能セット(サポートする機能とサポートしない機能を示すビットマスク)によって自分たちを記述できるようにします。
表48-5 DBMS_DBFS_CONTENTの定数 - ストア機能
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
ストアが階層パス名の一部としてフォルダ(またはディレクトリ)をサポートする場合に設定します。 |
|
|
|
ストア内の暗黙的なフォルダ操作が自律型トランザクション内部で実行される場合に設定します。通常、自律型トランザクションの使用は、(a)並行性を大幅に犠牲にして得られる、実装の簡略化およびすべての操作に対するクライアント制御トランザクションの範囲( |
|
|
|
ストアがパス要素の |
|
|
|
ストアがアクセス制御リスト(ACL)およびこれらのACLに基づく内部認証またはチェックをサポートする場合に設定します。ACLは標準のプロパティですが、ストアはACLを格納し取得するだけでいかなる方法での解釈も行わない場合があります。 |
|
|
|
ストアがシンボリック・リンクをサポートする場合で、特定タイプのシンボリック・リンク(具体的には、絶対パス名以外)がストア自身によって内部的に解決できる場合に設定します。 |
|
|
|
ストアがシンボリック・リンクをサポートする場合で、特定タイプのシンボリック・リンク(具体的には、絶対パス名以外)がストア自身によって内部的に解決できる場合に設定します。 |
|
|
|
ストアがハード・リンクをサポートする場合に設定します。 |
|
|
|
ストアが、ストアの各種アイテムに適用可能なユーザー・レベルのロック(読取り専用、書込み専用、読取り/書込み)をサポートし、それらのロック設定を使用してロックされたアイテムへの各種タイプのアクセスを制御する場合に設定します。ユーザー・レベルのロックは、トランザクション・ロックに対して直交し、特定のトランザクション、セッションまたは接続の範囲を超えて存続しますが、これは、ロックの参照先が不明になった後、ストア自身ではクリーンアップできない可能性があり、クライアント・アプリケーションがガベージ・コレクションを実行する必要があるということです。 |
|
|
|
ユーザー・ロックがロックされたパス名の下にあるサブツリー全体へのアクセスを制御することをストアが許可する場合に設定します。 |
|
|
|
ロックがあるモードから別のモードにアップグレードまたはダウングレードすることをストアがサポートする場合に設定します。 |
|
|
|
ストアが少なくとも線形バージョニングおよびバージョン管理をサポートする場合に設定します。バージョンが異なる同じパス名は単調バージョン番号によって識別され、バージョン非修飾パス名が最新バージョンを表します。 |
|
|
|
ストアが、バージョンが異なるパス名の階層ネームスペースをサポートする場合に設定します。 |
|
|
|
ストアで、ソフト削除(パス名を削除して通常の操作で非表示にするが、後でパス名をリストアする機能(新規作成操作で上書きされない場合)を保持する)をサポートする場合に設定します。ストアでは、ソフト削除されたパス名のパージ(完全な削除)、およびソフト削除された項目を表示するナビゲーション・モードもサポートされます。 |
|
|
|
ストアが、パス名のコンテンツのうち特定タイプのセキュア・ハッシュ(通常、 |
|
|
|
ストアが「コンテンツ・ベースのアドレッシング」を許可する場合に設定します。これは、パス名ではなくコンテンツ・ハッシュに基づいてコンテンツ項目を探す機能です。 |
|
|
|
クライアントが、指定したストア項目が選択述語を満たすかどうかを示す論理ブール値を戻すフィルタ関数(下記のシグネチャに適合する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 (ゼロ)以外の戻り値の場合は、 |
|
|
|
クライアントがコンテンツに基づいて |
|
|
|
クライアントが、問合せ操作(変化しないGETPATHプロシージャおよびLISTファンクション)でフラッシュバック・タイムスタンプを使用することをストアが許可する場合に設定します。 |
|
|
|
ストアが操作単位のプロパティ(個別の項目に関連付けられているプロパティではなく、現在の操作に関するストアの動作を制御)を許可する場合に設定します。 |
|
|
|
ストアが、コンテンツの名前付き、読取り専用スナップショットの使用を許可する場合に設定します。適切な手段(コンテンツの即時コピーの作成、またはコピー・オン・ライトの使用など)を使用し、スナップショットと親コンテンツ・ビュー間の依存関係を管理することで、スナップショットを実装することはプロバイダが決定します。 |
|
|
|
ストアが、コンテンツの名前付き、書込み可能なクローンの使用を許可する場合に設定します。適切な手段(コンテンツの即時コピーの作成、またはコピー・オン・ライトの使用など)を使用し、クローンと親コンテンツ・ビュー間の依存関係を管理することで、クローンを実装することはプロバイダが決定します。 |
|
|
|
ストアが、 |
|
|
|
ストアが、ファイルに対する「パスなし」でコンテンツIDベースのアクセスを許可する場合に設定します(このモデルにはディレクトリ、リンク、参照の概念がありません)。 |
|
|
|
ストアが、コンテンツIDによっても識別されるファイル・コンテンツ要素へのパス名のレイジー・バインドを許可する場合に設定します。この機能は、 |
ロック・タイプの定数
ロックをサポートするストアは、LOCK_READ_ONLY
、LOCK_WRITE_ONLY
およびLOCK_READ_WRITE
という3タイプのロックを実装する必要があります。
表48-6 DBMS_DBFS_CONTENTの定数: ロック・タイプ
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
読取り専用としてロック |
|
|
|
書込み専用としてロック |
|
|
|
読取り/書込みとしてロック |
標準プロパティの定数
標準プロパティは、ある程度の例外付きで、すべてのストアが(コンテンツ・インタフェースに説明されている方法で)サポートする必要のあるすべてのコンテンツ・パス名と関連付けられている、明確に定義された必須プロパティです。たとえば、読取り専用ストアでは、modification_time
やcreation_time
を実装する必要はありません。
すべての標準プロパティでは、非公式に、STD
ネームスペースが使用されますが、クライアントとストアでは使用しないでください。
表48-7 DBMS_DBFS_CONTENTの定数: 標準プロパティ
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
UTCの |
|
|
|
|
|
|
|
|
|
|
|
UTCの |
|
|
|
|
|
|
|
|
|
|
|
UTCの |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UTCの |
|
|
|
|
|
|
|
STD_PARENT_GUID(path name) == STD_GUID(parent(path name)) |
|
|
|
|
オプションのプロパティの定数
オプションのプロパティは、すべてのストアが自由に(ただしDBFSコンテンツAPIに説明されている方法にかぎり)サポートできるすべてのコンテンツ・パス名と関連付けられている、明確に定義された(必須ではない)プロパティです。
すべてのオプションのプロパティでは、非公式に、opt:
ネームスペースが使用されますが、クライアントとストアでは使用しないでください。
表48-8 DBMS_DBFS_CONTENTの定数: オプションのプロパティ
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
プロパティ・アクセス・フラグの定数
プロパティを取得または設定するコンテンツ・インタフェース・メソッドは、プロパティ・アクセス・フラグを組み合せて、単一のインタフェース・コールにある様々なネームスペースからプロパティをフェッチできます。
表48-9 DBMS_DBFS_CONTENTの定数: プロパティ・アクセス・フラグ
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
なし: クライアントがプロパティを必要とせず、他の理由(パス名の存在またはロック可能性の検証、データ・アクセスなど)でコンテンツ・アクセス・メソッドを起動するときに使用します。 |
|
|
|
必須: クライアントが標準プロパティを必要とするときに使用します。このフラグが指定された場合、すべての標準プロパティが取得されます。 |
|
|
|
オプション: クライアントがオプションのプロパティを必要とするときに使用します。このフラグが指定された場合、すべてのオプションのプロパティが取得されます。 |
|
|
|
ユーザー定義: クライアントがユーザー定義のプロパティを必要とするときに使用します。このフラグが指定された場合、すべてのユーザー定義のプロパティが取得されます。 |
|
|
|
すべて: 標準、オプションおよびユーザー定義のすべてのプロパティの組合せに対する別名。 |
|
|
|
コンテンツ: クライアントがデータ・アクセスのみを必要とし、プロパティを必要としない場合に使用します。 |
|
|
|
固有: クライアントが、各種プロパティ・ネームスペースの異なるサブセットの様々な組合せが必要とされ、フェッチする特定のプロパティの名前が引数としてコンテンツ・インタフェース・メソッド・コールに渡され、これらのプロパティ値のみがフェッチされてクライアントに戻される場合に使用します。これは、アクセス可能なプロパティが多数あり、クライアントがその内の少数のみを必要とする(そして事前にそれら重要なプロパティの名前がわかっている)場合に役立ちます。
|
操作コードの定数
DBFSコンテンツAPIのすべての操作は、抽象的な操作コードとして表されます。
特定のパス名にある指定したプリンシパルによって特定の操作が起動できるかどうかを検証するためにCHECKACCESSファンクションを起動することによって、クライアントは、これらの操作コードを直接また明示的に使用できます。
表48-10 DBMS_DBFS_CONTENTの定数: 操作コード
定数 | タイプ | 値 | 説明 |
---|---|---|---|
|
|
|
パス項目を作成します。 |
|
|
|
ファイルを作成します。 |
|
|
|
ソフト・リンクを作成します。 |
|
|
|
参照(ハード・リンク)を作成します。 |
|
|
2 |
ソフト削除、パージおよびリストア操作はすべて |
|
|
|
ファイルを削除します。 |
|
|
|
ディレクトリを削除します。 |
|
|
|
ソフト削除したパス項目をリストアします。 |
|
|
|
ソフト削除したパス項目をパージします。 |
|
|
3 |
パス項目から読み取ります。 |
|
|
|
読取り操作または更新操作のためにパス項目を取得します。 |
|
|
|
パス項目を書き込みます。 |
|
|
|
パス項目にPUT(書込み)します。 |
|
|
5 |
パス項目の名前を変更します。 |
|
|
|
名前の変更元で実行する操作。 |
|
|
|
名前の変更先で実行する操作。 |
|
|
|
パス項目名を設定します。 |
|
|
6 |
パスのリストを実行します。 |
|
|
|
検索を実行します。 |
|
|
8 |
パス項目をロックします。 |
|
|
9 |
パス項目をロック解除します。 |
|
|
10 |
|
|
|
11 |
他の操作インタフェースのいずれにも該当しない様々なストア操作のための包括的なカテゴリ。 |
DBFSコンテンツAPI操作では、次に挙げるトップレベルの例外のいずれかが発生する可能性があります。
表48-11 DBMS_DBFS_CONTENTの例外
例外 | コード | 説明 |
---|---|---|
|
|
すでに存在する指定したパス名。 |
|
|
指定したパス名の親が存在しません。 |
|
|
指定したパス名が存在しないか、または無効です。 |
|
|
ストアにサポートされていない操作が起動されました。 |
|
|
操作が無効な引数で起動されました。 |
|
|
現在の操作で失敗したアクセス制御チェック。 |
|
|
現在の操作がロック競合チェックに失敗しました。 |
|
|
無効なストア名が指定されました。 |
|
|
無効なマウント・ポイントが指定されました。 |
|
|
無効なプロバイダ・パッケージが指定されました。 |
|
|
読取り専用マウントまたはストアで変更中の操作が起動されました。 |
実装
DBMS_DBFS_CONTENTインタフェースとプロバイダSPIの相互接続は1対多の接続可能なアーキテクチャであるため、インタフェースが動的SQLを使用してプロバイダSPIでメソッドを起動し、ランタイム・エラーの原因になる可能性があります。
DBMS_DBFS_CONTENT
インタフェースが特定のプロバイダSPIを接続または接続解除するタイミングを示す明示的なINIT
またはFINI
メソッドはありません。プロバイダSPIは、任意のSPIエントリポイントで自動初期化が可能である必要があります。
ストア・プロバイダが実行するすべての操作は、自己完結している点で「ステートレス」です。なんらかの理由によりステートを維持する必要がある場合、必要に応じて問合せが可能な補助表などのデータ構造でステート維持する必要があります。
パス名
プロバイダSPIで使用されるすべてのパス名は、ペア形式でストア修飾されており(store_name
、pathname
)、この形式ではパス名はストアのネームスペースをルートとします。
コンテンツIDベースのアクセスをサポートするストアおよびそのプロバイダ(「DBMS_DBFS_CONTENTの定数: ストア機能」
の「FEATURE_CONTENT_ID」を参照)もパス名に基づかないアドレッシングの形式をサポートします。コンテンツ項目は、明示的なストア名およびNULL
パス名によって識別され、パラメータとしてまたはOPT_CONTENT_ID
(「DBMS_DBFS_CONTENTの定数: オプションのプロパティ」を参照)プロパティによって指定されるコンテンツ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およびラージ・オブジェクト開発者ガイド』を参照してください。 |
DBMS_DBFS_CONTENT
パッケージでは、レコード
・タイプおよび表
タイプを定義します。
使用上の注意
DBMS_DBFS_CONTENT_PROPERTY_T
とPROPERTY_T
の間には、おおまかな対応があります。前者は完全プロパティ・タプルを説明するSQLオブジェクト・タイプであり、後者はプロパティ値コンポーネントのみを説明するPL/SQLレコード・タイプです。
同様に、DBMS_DBFS_CONTENT_PROPERTIES_T
とPROPERTIES_T
の間にもおおまかな対応があります。前者はSQLネストした表タイプであり、後者はPL/SQLハッシュ表タイプです。
動的SQLコール規則は、SQLタイプの使用を強制しますが、ハッシュ表タイプとしてはPL/SQLコードのほうが実装に都合がよい場合があります。
DBMS_DBFS_CONTENT
インタフェースは、DBMS_DBFS_CONTENT_PROPERTIES_T
とPROPERTIES_T
間で変換する便利なユーティリティ・ファンクションを提供します(propertiesT2HおよびpropertiesH2Tを参照)。
クライアントは、使用可能なストアのリストについてDBMS_DBFS_CONTENT
インタフェースに問合せ、指定したパス名へのアクセスをどのストアが処理するかを判断し、ストアの機能セットを決定します。
このタイプは、ストアのマウント・ポイントおよびプロパティを説明します。
このタイプは、ストアのマウント・ポイントおよびプロパティを説明します。
構文
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のフィールド
フィールド | 説明 |
---|---|
|
ストアの名前。 |
|
ストアのID。 |
|
コンテンツ・ストアの名前。 |
|
コンテンツ・ストアのPL/SQLパッケージ名。 |
|
コンテンツ・ストアの一意の識別子。 |
|
コンテンツ・ストアのバージョン番号。 |
|
このコンテンツ・ストアによってサポートされる機能。 |
|
ストアのこのインスタンスに対する一意のID。 |
|
ストア・インスタンスがマウントされる場所。 |
|
このマウント・ポイントのプロパティ(DBMS_DBFS_CONTENT_PROPERTIES_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のフィールド
フィールド | 説明 |
---|---|
|
ストアの名前。 |
|
ストアのインスタンスがマウントされる場所。 |
|
項目へのパス名。 |
|
オブジェクト・パスのタイプ(「DBMS_DBFS_CONTENTの定数: パス名タイプ」を参照)。 |
|
パス項目でデータにアクセスするために |
|
パス名のコンテンツの最終アクセス時間。 |
|
アクセス制御リスト(標準ACL構文)。 |
|
パス名のメタデータの最終変更時間。 |
|
ディレクトリまたはフォルダのパスが持つ子ディレクトリ/フォルダの数(このプロパティは、 |
|
通常 |
|
項目が作成された時刻。一度設定すると、この値はパス名の使用期間中同じままです。 |
|
パス名がソフト削除され、パージされていない場合に0(ゼロ)以外の値に設定します(「DBMS_DBFS_CONTENTの定数: ストア機能」を参照)。 |
|
パス名に対するストア固有の一意の識別子。クライアントは別のストアでもGUIDが一意であることに依存できませんが、指定したstore-name、store-specific-pathnameには、使用期間中安定した一意のGUIDがあります。 |
|
パス名と関連付けられたデータの最終変更時間。 |
|
パス名のクライアントが提供する(または暗黙的な)所有者名。 |
|
パス名の親に対するストア固有の一意の識別子。クライアントは別のストアでもGUIDが一意であることに依存できませんが、指定したstore-name、store-specific-pathnameには、使用期間中安定した一意のGUIDがあります。 std_parent_guid(pathname) == std_guid(parent(pathname)) |
|
|
|
|
|
パス名のコンテンツを説明するタイプ |
|
パス名に配置される、互換性のあるロックの数。異なるプリンシパルがパスに互換性のある(読取り)ロックを配置することが許可される場合、ロックの数が正しく維持できるように、 |
|
ユーザー・ロックと関連付けられ、ストアによって解釈されない、クライアントが提供するユーザー・データ。 |
|
パス名にユーザー・ロックを適用した、1つ以上の暗黙的なまたはユーザー指定のプリンシパル。 |
|
パス名で現在適用されているロックのタイプを説明する、 |
|
パス名の線形バージョニングに対する順序番号。 |
|
パス名の階層バージョニングに対するバージョン・パス名。 |
|
ファイル要素に対する、文字列化されたプロバイダによって生成されたストア固有の一意のコンテンツID(ファイル要素は、オプションでパスと関連付けられていない場合もあります。 |
PROP_ITEM_T
は、ストアにある(store
、mount
)修飾パスを説明するタプルで、すべてのユーザー定義プロパティが関連付けられ、個別の(名前、値、タイプ)タプルに拡張されています。
このタイプは、DBMS_DBFS_CONTENT
インタフェースに登録され、管理されるストアを説明します。
表48-19 DBMS_DBFS_CONTENTパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
|
指定したパスでユーザー( |
|
ユーザー指定のパッケージが、適切なシグネチャですべての |
|
ディレクトリを作成します。 |
|
ファイルを作成します。 |
|
ソース・ファイル・システム要素への新しい参照を作成します。 |
|
既存のファイル・システム要素への物理的なリンクを作成します。 |
|
機能ビットが設定された整数値を与えられると、 |
|
指定したコンテンツIDによって指定されるファイルを削除します。 |
|
ディレクトリを削除します。 |
|
ファイルを削除します。 |
|
機能ビットが与えられると、その機能名の |
|
|
|
デフォルトのコンテキストのACLパラメータを戻します。 |
|
デフォルトのコンテキストの |
|
デフォルトのコンテキストを戻します。 |
|
デフォルトのコンテキストの |
|
デフォルトのコンテキストの |
|
マウント・ポイントごとにストアの機能を戻します。 |
|
ストア名ごとにストアの機能を戻します。 |
|
パスごとにストアの機能を戻します。 |
|
完全な絶対パス名を戻します。 |
|
既存のパス項目(ファイルやディレクトリなど)を戻します。 |
|
基礎となるGUIDが元のストアにある場合、ストア修飾されたパス名を戻します。 |
|
操作が更新のためであることを示しており、実行された場合、プロバイダは行のロックを待機せず例外( |
|
マウント・ポイントによりストアを戻します。 |
|
名前によりストアを戻します。 |
|
パスによりストアを戻します。 |
|
|
|
|
|
ストアと関連付けられている標準化された形式で |
|
指定したフィルタおよびその他の基準に適合する指定したパスでのパス項目を示します。 |
|
すべてのマウントのすべてのパス項目を示します。 |
|
すべてのマウントのすべてのパス項目に対するすべてのプロパティの表を戻します。 |
|
すべての使用可能なマウント・ポイント、そのバックエンドのデータストアおよびストア機能を示します。 |
|
すべての使用可能なストアとその機能を示します。 |
|
指定した有効なパス名にユーザー・レベルのロックを適用します。 |
|
以前に登録されたストアをマウントし、マウント・ポイントにバインドします。 |
|
ストア固有または完全絶対パス名を正規化された形式に変換します。 |
|
様々なタイプのいずれかを取り、PROPERTY_Tを戻すコンストラクタを提供します。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
パスおよびオプションのフィルタ条件に一致する、すべてのソフト削除されたエントリをパージします。 |
|
指定したパス項目の任意のソフト削除したバージョンをパージします。 |
|
新しいパス項目を作成します。 |
|
新しいストアを登録します。 |
|
パスの名前変更または移動を行います。 |
|
パスおよびフィルタ条件に一致するすべてのソフト削除されたパス項目をリストアします。 |
|
指定したパスおよびフィルタ条件に適合するすべてのソフト削除されたパス項目をリストアします。 |
|
デフォルトのコンテキストのACLパラメータを設定します。 |
|
デフォルトのコンテキストの「時点」パラメータを設定します。 |
|
デフォルトのコンテキストを設定します。 |
|
デフォルトのコンテキストの「所有者」パラメータを設定します。 |
|
デフォルトのコンテキストの「プリンシパル」パラメータを設定します。 |
|
コンテンツIDによって表されるパス項目にパス名を割り当てます。 |
|
統計情報収集を有効化および無効化します。 |
|
|
|
ファイル・システム領域使用統計情報を問い合せます。 |
|
評価結果を含む |
|
SETTRACEプロシージャによって設定される現在のトレースの「重大度」が指定したトレース・レベルと同じ高さであるかどうかを判断します。 |
|
LOCKPATHプロシージャで以前にロックされたパス項目をロック解除します。 |
|
登録されたストアをアンマウントします。 |
|
ストアの登録を解除します。 |
このファンクションは、指定したパスでユーザー(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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
アクセスのチェックを行うパスの名前。 |
|
|
|
チェックする操作(「DBMS_DBFS_CONTENTの定数: オプションのプロパティ」を参照)。 |
|
アクセス・チェックを行う対象のファイル・システム・ユーザー。 |
|
ストアの名前。 |
推定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);
使用上の注意
ファンクション形式は、分析の結果とともにセッション継続時間のキャッシュされた一時LOBを戻します。コール元は、必要に応じてこのLOBの使用期間全体を管理する必要があります。
プロシージャ形式は、分析の結果をchk
LOBパラメータに生成しますが、渡された値がNULL
の場合は、DBMS_DBFS_CONTENT
インタフェース・トレースが有効であれば、結果はフォアグラウンド・トレース・ファイルに書き込まれます。いずれのトレースも有効ではなく、有効なLOBが渡された場合、チェッカは分析の有効な指示を提供しません(重大なエラーが発生した場合に発生する例外を除く)。
schema_name
がNULL
の場合は、標準の名前解決規則(現在のスキーマ、プライベート・シノニム、パブリック・シノニム)を使用して、分析に適切なパッケージを検索します。
このプロシージャは、ディレクトリを作成します。
構文
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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ディレクトリへのパス名。 |
|
|
|
どのプロパティが設定されるか、戻されるかまたはその両方かを決定します。デフォルトは |
|
0の場合、再帰的に実行せず、それ以外の場合は、指定したディレクトリの上に再帰的にディレクトリを作成します。 |
|
ストアの名前。 |
|
アクセス・チェックを行う対象のファイル・システム・ユーザー。 |
このプロシージャは、ファイルを作成します。
構文
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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ファイルへのパス名。 |
|
|
|
ファイルに移入するデータを保持する |
|
どのプロパティが設定されるか、戻されるかまたはその両方かを決定します。デフォルトは |
|
ストアの名前。 |
|
アクセス・チェックを行う対象のファイル・システム・ユーザー。 |
このプロシージャは、新しいリンク要素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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
作成するファイル・システム・エントリ。 |
|
|
|
|
|
どのプロパティが設定されるか、戻されるかまたはその両方かを決定します。デフォルトは |
|
ストアの名前。 |
|
アクセス・チェックを行う対象のファイル・システム・ユーザー。 |
このプロシージャは、すでに存在するファイル・システム要素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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
作成するファイル・システム・エントリ。 |
|
|
|
|
|
どのプロパティが設定されるか、戻されるかを決定します。デフォルトは |
|
ストアの名前。 |
|
アクセス・チェックを行う対象のファイル・システム・ユーザー。 |
機能ビットが設定された整数値を与えられると、このファンクションはFEATURE_T
レコードとして機能ビットのFEATURES_T
表を戻します。
このプロシージャは、指定したコンテンツIDによって指定されるファイルを削除します。
このプロシージャは、ディレクトリを削除します。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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ディレクトリへのパス名。 |
|
存在する場合、適用するフィルタ。 |
|
0の場合、ハード(永続的)削除を実行します。0以外の値の場合、ソフト削除を実行します(『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』の「削除操作に関する説明」を参照)。 |
|
0の場合、再帰的に実行しません。それ以外の場合は、指定したディレクトリの下にあるディレクトリおよびファイルを再帰的に削除します。 |
|
ストアの名前。 |
|
アクセス・チェックを行う対象のファイル・システム・ユーザー。 |
このプロシージャは、指定したファイルを削除します。
このプロシージャは、デフォルトのコンテキストのACLパラメータを戻します。この情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。
このプロシージャは、デフォルトのコンテキストの「時点」パラメータを戻します。この情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。
このプロシージャは、デフォルトのコンテキストを戻します。コンテキストに含まれる情報は、引数によって様々なメソッド・コールに明示的に挿入でき、個別の操作に対してファイングレイン制御が可能です。
このプロシージャは、デフォルトのコンテキストの「所有者」パラメータを戻します。この情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。
このプロシージャは、デフォルトのコンテキストの「プリンシパル」パラメータを戻します。この含まれた情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。
このプロシージャは、既存のパス項目(ファイルやディレクトリなど)を戻します。これには、データとメタデータ(プロパティ)の両方が含まれます。
クライアントは(prop_flags
を使用して)特定のプロパティが戻されるように要求できます。ファイル・パス名は、prop_flags
でprop_data
ビットマスクを使用してBLOB
ロケータを指定する(「DBMS_DBFS_CONTENTの定数: プロパティ・アクセス・フラグ」を参照)か、または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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
パス項目へのパス名。 |
|
|
|
ファイルに移入するデータを保持する |
|
指定したパス項目のタイプ(「DBMS_DBFS_CONTENTの定数: パス名タイプ」を参照)。 |
|
入力時に読み取られるバイト数。出力時に読み取られるバイト数。 |
|
読取りを開始するバイト・オフセット。 |
|
書込み先のバッファ。 |
|
書込み先のバッファ。 |
|
どのプロパティが設定されるか、戻されるかまたはその両方かを決定します。デフォルトは |
|
元になる読取り専用操作(またはその読取り専用サブコンポーネント)が実行される「時点」タイムスタンプ。 |
|
パス項目に対する排他的書込みアクセス権限を示すためにロックを取得する必要があることを指定します。 |
|
0(ゼロ)以外に設定すると、指定したパス項目を実際のデータに解決しようとします。ただし、実際のデータが参照であることが条件です。 |
|
ストアの名前。 |
|
現在の操作を起動するエージェント(プリンシパル)。 |
このプロシージャは、操作が更新のためであることを示しており、実行された場合(「DBMS_DBFS_CONTENTの定数: ストア機能」
のFEATURE_NOWAITを参照)、プロバイダは行のロックを待機せず例外(ORA-00054
)を戻すことができます。
構文
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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
パス項目へのパス名。 |
|
|
|
ファイルに移入するデータを保持する |
|
指定したパス項目のタイプ(「DBMS_DBFS_CONTENTの定数: パス名タイプ」を参照)。 |
|
どのプロパティが戻されるかを決定します。デフォルトは |
|
元になる読取り専用操作(またはその読取り専用サブコンポーネント)が実行される「時点」タイムスタンプ。 |
|
0(ゼロ)以外に設定すると、指定したパス項目を実際のデータに解決しようとします。ただし、実際のデータが参照であることが条件です。 |
|
ストアの名前。 |
|
現在の操作を起動するエージェント(プリンシパル)。 |
このプロシージャは、DBMS_DBFS_CONTENT
統計情報収集に関する情報を戻します。
このファンクションは、指定したフィルタおよびその他の基準に適合する指定したパスでのパス項目を示します。
構文
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;
このプロシージャは、ユーザー・レベルのロックを指定した有効なパス名(ストア機能サポートの対象)に適用し、オプションとしてユーザー・データをロックと関連付けます。
構文
DBMS_DBFS_CONTENT.LOCKPATH ( path IN VARCHAR2, lock_type IN INTEGER DEFAULT LOCK_READ_ONLY, lock_data IN VARCHAR2 DEFAULT NULL, store_name IN VARCHAR2 DEFAULT NULL, principal IN VARCHAR2 DEFAULT NULL);
パラメータ
表48-48: LOCKPATHプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ファイル項目へのパス名。 |
|
いずれかの利用可能なロック・タイプ(「DBMS_DBFS_CONTENTの定数: ロックタイプ」を参照)。 |
|
ロックと関連付けられるオプションのユーザー・データ |
|
ストアの名前。 |
|
現在の操作を起動するエージェント(プリンシパル)。 |
このプロシージャは、以前に登録されたストアをマウントし、マウント・ポイントにバインドします。
構文
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-49 MOUNTSTOREプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
このストアをマウントするために使用するパス名。 |
|
マウントがシステムで単一のバックエンド・ストアかどうかを指定します。 |
|
現在の操作を起動するエージェント(プリンシパル)。 |
|
現在の操作によって(暗黙的にまたは明示的に)作成された新しい要素の所有者。 |
|
現在の操作によって(暗黙的にまたは明示的に)作成されたすべての新しい要素のACL。 |
|
元になる読取り専用操作(またはその読取り専用サブコンポーネント)が実行される「時点」タイムスタンプ。 |
|
マウントが読取り専用かどうかを指定します。 |
このファンクションは、ストア固有または完全絶対パス名を正規化された形式に変換します。
パス名が絶対であり、「/
」で始まることを検証します。
複数の連続した「/
」を単一の「/
」に折りたたみます。
末尾の「/
」を削除します。
ストア固有の正規化されたパス名を、親パス名と末尾コンポーネント名という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;
このファンクションは、様々なタイプのいずれかを取り、PROPERTY_Tを戻すコンストラクタを提供します。
このプロシージャは、パスおよびオプションのフィルタ条件に一致する、すべてのソフト削除されたエントリをパージします。
このプロシージャは、指定したパス項目の任意のソフト削除したバージョンをパージします。
このプロシージャは、新しいパス項目を作成します。
構文
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-60 PUTPATHプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ファイル項目へのパス名。 |
|
|
|
ファイルに移入するデータを保持する |
|
指定したパス項目のタイプ(「DBMS_DBFS_CONTENTの定数: パス名タイプ」を参照)。 |
|
読み取られるバイト数。 |
|
読取りを開始するバイト・オフセット。 |
|
書込み先のバッファ。 |
|
書込み先のバッファ。 |
|
どのプロパティが設定されるかを決定します。デフォルトは |
|
ストアの名前。 |
|
現在の操作を起動するエージェント(プリンシパル)。 |
このプロシージャは、ストア・プロバイダ(DBMS_DBFS_CONTENT_SPI
パッケージのシグネチャに準拠)を使用するプロバイダによってサポートされる新しいストアを登録します。このメソッドは、主に新しいストアを作成した後にストア・プロバイダによって使用されます。
このプロシージャは、パスの名前変更または移動を行います。この操作は、同じストア内であれば、複数のディレクトリ階層やマウント・ポイント間で実行できます。
注意: 名前の変更および移動操作については、『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-62 RENAMEPATHプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
名前変更前のパス名。 |
|
名前変更後のパス名。 |
|
|
|
ストアの名前。一意であることが必要です。 |
|
現在の操作を起動するエージェント(プリンシパル)。 |
このプロシージャは、パスおよびオプションのフィルタ条件に一致するすべてのソフト削除されたパス項目をリストアします。
このプロシージャは、指定したパスおよびオプションのフィルタ条件に一致するすべてのソフト削除されたパス項目をリストアします。
このプロシージャは、デフォルトのコンテキストのACLパラメータを設定します。この情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。
このプロシージャは、デフォルトのコンテキストの「時点」パラメータを設定します。この情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。
このプロシージャは、デフォルトのコンテキストを設定します。コンテキストに含まれる情報は、引数によって様々なメソッド・コールに明示的に挿入でき、個別の操作に対してファイングレイン制御が可能です。
構文
DBMS_DBFS_CONTENT.SETDEFAULTCONTEXT ( principal IN VARCHAR2, owner IN VARCHAR2, acl IN VARCHAR2, asof IN TIMESTAMP);
このプロシージャは、デフォルトのコンテキストの「所有者」パラメータを設定します。この情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。
このプロシージャは、デフォルトのコンテキストの「プリンシパル」パラメータを設定します。この含まれた情報は引数によって他のメソッド・コールに明示的に挿入でき、さらに細かいファイングレイン制御が可能です。
このプロシージャは、コンテンツ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-70 SETPATHプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ストアの名前。 |
|
関連付けるファイルの一意の識別子。 |
|
パス項目へのパス名。 |
|
|
|
現在の操作を起動するエージェント(プリンシパル)。 |
このプロシージャは、統計情報収集を有効化および無効化します。クライアントは、時間、カウントまたは両方のパラメータにNULL
以外の値を設定することによって、オプションとしてフラッシュ設定を制御できます。
このプロシージャは、ファイル・システム領域使用統計情報を問い合せます。プロバイダは、ストアに対してこのサブプログラムをサポートする必要があります(特に、ストアが複数の表、索引、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-73 SPACEUSAGEプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ファイル項目へのパス名。 |
|
ストアを保持する自然表領域のブロック・サイズ。異なるブロック・サイズの複数の表領域を使用する場合、任意の有効なブロック・サイズが受け入れられます。 |
|
ストアを構成するすべてのセグメントに対して計算されたストアの合計サイズ(バイト単位)。 |
|
ストアを構成するすべてのセグメントに対して計算されたストアの空き領域または未使用領域のサイズ(バイト単位)。 |
|
ストアで現在使用可能なファイル数。 |
|
ストアで現在使用可能なディレクトリ数。 |
|
ストアで現在使用可能なリンク数。 |
|
ストアで現在使用可能な参照数。 |
|
ストアの名前。 |
このプロシージャは、現在のフォアグラウンド・トレース・ファイルにトレースを出力します。
構文
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 '');
使用上の注意
トレース情報は、トレース・レベル引数によって指定された様々なレベルの詳細で、フォアグラウンド・トレース・ファイルに書き込まれます。
グローバル・トレース・レベルは、「重大度」と「詳細」の2つのコンポーネントで構成されます。これらは、加算的ビットマスクと考えることができます。
「重大度」では、様々なコンポーネントの低いレベルのトレースと比較した場合、トップ・レベルの分離が可能であり、必要に応じてトレース量を増加できます。様々なレベルに関連付けられているセマンティクスはなく、ユーザーは選択する任意の重大度にトレースを設定できますが、経験則としてはトップ・レベルのAPIエントリと終了トレースには「1
」、内部操作には「2
」、非常に低いレベルのトレースには「3
」以上の重大度を使用することをお薦めします。
「詳細」は、タイムスタンプ、ショート・スタックなど、どれだけの追加情報が各トレース・レコードとともにダンプされるかを制御します。
このプロシージャは、LOCKPATHプロシージャで以前にロックされたパス項目をロック解除します。
このプロシージャは、名前またはマウント・ポイントにより、登録されたストアをアンマウントします。
構文
DBMS_DBFS_CONTENT.UNMOUNTSTORE ( store_name IN VARCHAR2 DEFAULT NULL, store_mount IN VARCHAR2 DEFAULT NULL, ignore_unknown IN BOOLEAN DEFAULT FALSE);