DBMS_XDBパッケージは次の機能をサポートしています。
リソース・ビューを補完するリソース管理サブプログラム
アクセス制御リスト(ACL)ベースのセキュリティ・メカニズム
構成セッション管理
XDBユーザー名の作成
|
関連項目:
|
この章では、次の項目について説明します。
この項では、DBMS_XDBパッケージの使用に関連する項目について説明します。
DBMS_XDBパッケージは次の機能をサポートしています。
リソース管理機能は、LINKプロシージャ、EXISTSRESOURCEファンクション、LOCKRESOURCEファンクション、GETLOCKTOKENプロシージャ、UNLOCKRESOURCEファンクション、CREATERESOURCEファンクション、RENAMERESOURCEプロシージャ、DELETERESOURCEプロシージャ、GETRESOIDファンクション、CREATEOIDPATHファンクション、REBUILDHIERARCHICALINDEXプロシージャおよびCREATEFOLDERファンクションのサブプログラムを提供し、リソース・ビューを補完します。
アクセス制御リスト(ACL)ベースのセキュリティ・メカニズムは、データベースによって保存された階層内ACLまたはデータベース外から保存されたメモリー内ACLで使用できます。これらのメソッドの一部は、Oracleリソースおよび任意のデータベース・オブジェクトの両方に使用できます。Oracleリソースには、CHECKPRIVILEGESファンクション、GETACLDOCUMENTファンクション、CHANGEPRIVILEGESファンクション、GETPRIVILEGESファンクションおよびLINK プロシージャを使用します。ACLCHECKPRIVILEGESファンクションは、階層内にオブジェクトを格納せずに、OracleのACLベースのセキュリティ・メカニズムへのアクセスを提供します。
構成セッション管理は、CFG_REFRESHプロシージャ、CFG_GETファンクションおよびCFG_UPDATEプロシージャのメソッドでサポートされています。
XDBユーザー名はXDBインストール時に作成されます。このユーザーは一連のデフォルトの表およびパッケージを所有します。 GETXDB_TABLESPACEファンクションおよびMOVEXDB_TABLESPACEプロシージャは、指定した表領域にスキーマを移動でき、デフォルトのSYSAUX表領域の導入をサポートしています。
表148-2 DBMS_XDBパッケージのサブプログラム
| サブプログラム | 説明 |
|---|---|
|
|
指定のACLドキュメントで指定されている現行ユーザーに付与されたアクセス権限をチェックします。このアクセス権限は、所有者が'owner'パラメータで指定されているリソースに対するものです。 |
|
|
XDB構成にMIMEマッピングを追加します。 |
|
|
XDB構成にスキーマ位置マッピングを追加します。 |
|
|
XDB構成にサーブレットを追加します。 |
|
|
XDB構成にサーブレット・マッピングを追加します。 |
|
|
XDB構成内の指定したサーブレットにセキュリティ・ロール |
|
|
XDB構成にXML拡張子を追加します。 |
|
|
親のパスに子のパスを追加します。 |
|
|
ユーザー定義のメタデータを |
|
|
セッションの構成情報を取得します。 |
|
|
セッションの最新の構成情報をデータベースに反映します。 |
|
|
構成情報を更新します。 |
|
|
リソースの所有者を指定した所有者に変更します。 |
|
|
指定したACEを、指定したリソースのACLに追加します。 |
|
|
ソース・パスのリソースを宛先パスの新規リソースにコピーします。 |
|
|
指定したリソースに対して現行ユーザーに付与されているアクセス権限をチェックします。 |
|
|
階層内に新規フォルダ・リソースを作成します。 |
|
|
オブジェクトIDに基づいたリソースの仮想パスを作成します。 |
|
|
新規リソースを作成します。 |
|
|
XDB構成からMIMEマッピングを削除します。 |
|
|
階層からリソースを削除します。 |
|
|
リソースからメタデータを削除します(スキーマ・ベースまたは非スキーマ・ベースのメタデータに使用できます)。 |
|
|
指定したスキーマURLのスキーマ位置マッピングをXDB構成から削除します。 |
|
|
XDB構成からサーブレットを削除します。 |
|
|
指定したサーブレット名のサーブレット・マッピングをXDB構成から削除します。 |
|
|
XDB構成内のサーブレットから指定したロールを削除します。 |
|
|
指定したXML拡張子をXDB構成から削除します。 |
|
|
リソースの絶対パスに基づいて、リソースが階層であるかどうかを判別します。 |
|
|
パス名を指定して、リソースを保護するACLドキュメントを取得します。 |
|
|
すべての子リソースの絶対パス上にカーソルを戻します。 |
|
|
BLOBとして戻されたリソースの内容を取り出します。 |
|
|
CLOBとして戻されたリソースの内容を取り出します。 |
|
|
文字列として戻されたリソースの内容を取り出します。 |
|
|
|
|
|
|
|
|
現在のFTPポートの値を取得します。 |
|
|
現在のHTTPポートの値を取得します。 |
|
|
リソースへのパスを指定して、現行ユーザーのリソースのロック・トークンを戻します。 |
|
|
XML DB HTTPサーバーに対応するリスナーのエンド・ポイントのパラメータを取得します。 |
|
|
リソースの絶対パスからオブジェクトIDを戻します。 |
|
|
XDB(ユーザー)の現行の表領域を戻します。 |
|
|
リソースにBLOBコンテンツがある場合は |
|
|
リソースに文字コンテンツがある場合は |
|
|
リソースにXMLコンテンツがある場合は |
|
|
リソースにXMLコンテンツへの |
|
|
リソースがフォルダまたはコンテナの場合は、 |
|
|
既存のリソースへのリンクを作成します。 |
|
|
リソースへのパスを指定して、リソースに対するWebDAVスタイルのロックを取得します。 |
|
|
XDB(ユーザー)を指定した表領域に移動します。 |
|
|
指定したリソース内のドキュメント・リンクを処理します。 |
|
|
リソースからすべてのユーザー・メタデータを削除します。 |
|
REBUILDHIERARCHICALINDEXプロシージャ |
インポートまたはエクスポート操作後に、階層の索引を再作成します。 |
|
|
XDBリソースの名前を変更します。 |
|
|
指定したリソースにACLを設定します。 |
|
|
指定したリソースの内容を指定したデータ型に置き換えます。 |
|
|
FTPポートを新しい値に設定します。 |
|
|
HTTPポートに新しい値を設定します。 |
|
|
XML DB HTTPサーバーに対応するリスナーのエンド・ポイントのパラメータを設定します。 |
|
|
XML DB HTTPサーバーのすべてのリスナーのエンド・ポイントを、ローカルホスト・インタフェースでのみリスニングするか、ローカルホスト・インタフェースと非ローカルホスト・インタフェースの両方でリスニングするかのどちらかに制限します。 |
|
|
パスを親のパスと子のパスに分割します。 |
|
|
リソースの変更時刻を現在の時刻に変更します。 |
|
|
リソースのメタデータを更新します。 |
|
|
ロック・トークンおよびリソース・パスを指定して、リソースのロックを解除します。 |
このファンクションは、リソースのOWNERによる指定したACLドキュメントによって、現在のユーザーに付与されたアクセス権限をチェックします。すべての権限が付与されている場合は、正の整数を戻します。
構文
DBMS_XDB.ACLCHECKPRIVILEGES( acl_path IN VARCHAR2, owner IN VARCHAR2, privs IN xmltype) RETURN PLS_INTEGER;
パラメータ
表148-3 ACLCHECKPRIVILEGESファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ACLドキュメントの階層内の絶対パス。 |
|
|
リソースの所有者名。疑似ユーザー「DAV:owner」は、ACL権限の解決時にこのユーザーに置き換えられます。 |
|
|
privilege要素の |
このプロシージャは、XDB構成に次のMIMEマッピングを追加します。
<mime-mapping> <extension>extension</extension> <mime-type>mimetype</mime-type> </mime-mapping>
構文
DBMS_XDB.ADDMIMEMAPPING(
extension IN VARCHAR2,
mimetype IN VARCHAR2);
パラメータ
このプロシージャは、XDB構成に次のスキーマ位置マッピングを追加します。
<schemaLocation-mapping>
<namespace>namespace</namespace>
<element>element</element>
<schemaURL>schemaURL</schemaURL>
</schemaLocation-mapping>
構文
DBMS_XDB.ADDSCHEMALOCMAPPING(
namespace IN VARCHAR2,
element IN VARCHAR2,
schemaURL IN VARCHAR2);
パラメータ
このプロシージャは、XDB構成に次のサーブレットを追加します。
<servlet>
<servlet-name>name</servlet-name> <servlet-language>language</servlet-language>
<display-name>dispname</display-name>
<description>descript</description>
<servlet-class>class</servlet-class>
<servlet-schema>schema</servlet-schema>
</servlet>
構文
DBMS_XDB.ADDSERVLET(
name IN VARCHAR2,
language IN VARCHAR2,
dispname IN VARCHAR2,
icon IN VARCHAR2 := NULL,
descript IN VARCHAR2 := NULL,
class IN VARCHAR2 := NULL,
jspfile IN VARCHAR2 := NULL,
plsql IN VARCHAR2 := NULL);
パラメータ
表148-6 ADDSERVLETプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
サーブレット名。 |
|
|
C、Java、PL/SQLのいずれかを指定する必要があります。 |
|
|
表示名。 |
|
|
アイコン。 |
|
|
説明。 |
|
|
このサーブレットに対応する |
|
|
このサーブレットに対応する |
|
|
このサーブレットに対応する |
|
|
スキーマ。 |
このプロシージャは、XDB構成に次のサーブレット・マッピングを追加します。
<servlet-mapping> <servlet-pattern>pattern</servlet-pattern> <servlet-name>name</servlet-name></servlet-mapping>
構文
DBMS_XDB.ADDSERVLETMAPPING(
pattern IN VARCHAR2, name IN VARCHAR2);
パラメータ
このプロシージャは、XDB構成内の指定したサーブレットに次のセキュリティ・ロールREFを追加します。
<security-role-ref>
<role-name>rolename</role-name>
<role-link>rolelink</role-link>
<description>descript</description>
</security-role-ref>
構文
DBMS_XDB.ADDSERVLETSECROLE(
servname IN VARCHAR2, rolename IN VARCHAR2, rolelink IN VARCHAR2, descript IN VARCHAR2 := NULL);
パラメータ
表148-8 ADDSERVLETSECROLEプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
サーブレット名。 |
|
|
ロール名。 |
|
|
ロール・リンク。 |
|
|
説明。 |
このプロシージャは、<xml-extensions>で、XDB構成に次のXML拡張子を追加します。
<extension>extension</extension>
構文
DBMS_XDB.ADDXMLEXTENSION(
extension IN VARCHAR2);
パラメータ
このプロシージャは、親のパスに子のパスを追加します。
構文
DBMS_XDB.APPENDPATH (
abspath OUT VARCHAR2, parentpath IN VARCHAR2, childpath IN VARCHAR2);
パラメータ
このプロシージャは、ユーザー定義のメタデータをXMLTYPEへのREFまたはXMLTYPEとして使用し、目的のリソースに追加します。
構文
DBMS_XDB.APPENDRESOURCEMETADATA ( abspath IN VARCHAR2, metadata IN XMLTYPE); DBMS_XDB.APPENDRESOURCEMETADATA ( abspath IN VARCHAR2, metadata IN REF SYS.XMLTYPE);
パラメータ
表148-11 APPENDRESOURCEMETADATAプロシージャ
| パラメータ | 説明 |
|---|---|
|
|
リソースの絶対パス。 |
|
|
メタデータには、スキーマ・ベースまたは非スキーマ・ベースのメタデータを使用できます。スキーマ・ベースのメタデータは、独自の表に格納されます。 |
使用上の注意
REFが渡された場合、このプロシージャは、REFをリソースに、メタデータは別の表に格納します。この場合は、メタデータ表のRESID列に移入する必要があります。渡されるREFは一意である必要があることに注意してください。つまり、リソース・メタデータ内に同じ値を持つREFを格納することはできません。プロパティの一意性に違反するためです。すでに存在するREFを追加しようとすると、エラーが発生します。
XMLTYPEが渡された場合、データを解析してスキーマ・ベースかどうかを判断し、その結果に応じてデータを格納します。
このファンクションは、セッションの構成情報をXMLTypeインスタンスとして取得します。
構文
DBMS_XDB.CFG_GET RETURN SYS.XMLType;
このプロシージャは、セッションの最新の構成情報を反映します。
構文
DBMS_XDB.CFG_REFRESH;
このプロシージャは、構成情報を更新して、変更をコミットします。
構文
DBMS_XDB.CFG_UPDATE( xdbconfig IN SYS.XMLTYPE);
パラメータ
このプロシージャは、リソースの所有者を指定した所有者に変更します。
構文
DBMS_XDB.CHANGEOWNER(
abspath IN VARCHAR2,
owner IN VARCHAR2,
recurse IN BOOLEAN := FALSE);
パラメータ
表148-13 CHANGEOWNERプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
リソースの絶対パス。 |
|
|
リソースの新しい所有者。 |
|
|
|
このファンクションは、指定したACEを指定したリソースのACLに追加します。
構文
DBMS_XDB.CHANGEPRIVILEGES( res_path IN VARCHAR2, ace IN xmltype) RETURN PLS_INTEGER;
パラメータ
表148-14 CHANGEPRIVILEGESファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
権限を変更する必要があるリソースのパス名。 |
|
|
|
戻り値
ACLが正常に変更された場合は、正の整数。
使用上の注意
同じprincipalおよび同じ操作(grant/deny)を持つACEがACLに存在しない場合、新規のACEがACLの最後に追加されます。
このファンクションは、指定したリソースに対して現行ユーザーに付与されているアクセス権限をチェックします。
構文
DBMS_XDB.CHECKPRIVILEGES( res_path IN VARCHAR2, privs IN xmltype) RETURN PLS_INTEGER;
パラメータ
表148-15 CHECKPRIVILEGESファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
リソースの階層内の絶対パス。 |
|
|
privilege要素の |
戻り値
要求された権限がすべて付与されている場合は、正の整数。
このファンクションは、ソース・パスのリソースを宛先パスの新規リソースにコピーします。recurseフラグがTRUEの場合は、再帰的(ディープ)コピーが行われます。
構文
DBMS_XDB.COPYRESOURCE (
srcpath IN VARCHAR2,
dstpath IN VARCHAR2,
recurse IN BOOLEAN := TRUE );
パラメータ
表148-16 COPYRESOURCEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ソースabspath。 |
|
|
宛先abspath。 |
|
|
|
戻り値
操作が成功した場合はTRUE。そうでない場合はFALSE。
このファンクションは階層内に新規フォルダ・リソースを作成します。
構文
DBMS_XDB.CREATEFOLDER( path IN VARCHAR2) RETURN BOOLEAN;
パラメータ
戻り値
操作が成功した場合はTRUE。そうでない場合はFALSE。
使用上の注意
指定したパス名の親フォルダは、階層内にすでに存在している必要があります。たとえば、pathパラメータに'/folder1/folder2'を指定する場合は、'/folder1'がすでに存在している必要があります。
このファンクションは、オブジェクトIDに基づいたリソースの仮想パスを作成します。
構文
DBMS_XDB.CREATEOIDPATH( oid IN RAW) RETURN VARCHAR2;
パラメータ
このファンクションは新しいリソースを作成します。オーバーロード・オプションの記述は各バージョンの構文の前に配置します。
構文
指定した文字列を内容として使用し、新規リソースを作成します。
DBMS_XDB.CREATERESOURCE(
abspath IN VARCHAR2,
data IN VARCHAR2,
createfolders IN BOOLEAN := FALSE)
RETURN BOOLEAN;
指定したXMLTypeデータを内容として使用し、新規リソースを作成します。
DBMS_XDB.CREATERESOURCE(
abspath IN VARCHAR2,
data IN SYS.XMLTYPE,
createfolders IN BOOLEAN := FALSE)
RETURN BOOLEAN;
既存のXMLType行にREFを指定し、その行を指す内容を持つリソースを作成します。この行は、別のリソース内に事前に存在させることはできません。
DBMS_XDB.CREATERESOURCE(
abspath IN VARCHAR2,
datarow IN REF SYS.XMLTYPE,
createfolders IN BOOLEAN := FALSE)
RETURN BOOLEAN;
内容として指定したBLOBを使用して、リソースを作成し、ソースBLOBのキャラクタ・セットを指定します。
DBMS_XDB.CREATERESOURCE(
abspath IN VARCHAR2,
data IN BLOB,
csid IN NUMBER :=0,
createfolders IN BOOLEAN := FALSE)
RETURN BOOLEAN;
内容として指定したBFILEを使用して、リソースを作成し、ソースBFILEのキャラクタ・セットを指定します。
DBMS_XDB.CREATERESOURCE(
abspath IN VARCHAR2,
data IN BFILE,
csid IN NUMBER :=0,
createfolders IN BOOLEAN := FALSE)
RETURN BOOLEAN;
指定したCLOBを内容として使用し、リソースを作成します。
DBMS_XDB.CREATERESOURCE(
abspath IN VARCHAR2,
data IN CLOB,
createfolders IN BOOLEAN := FALSE)
RETURN BOOLEAN;
パラメータ
表148-19 CREATERESOURCEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
作成するリソースの絶対パス。パス名の親フォルダは、階層内にすでに存在している必要があります。たとえば、 |
|
|
新規リソースの内容。データは解析され、スキーマに基づいたXML文書が含まれているかどうかがチェックされます。含まれている場合、内容はスキーマのデフォルト表にスキーマに基づいたものとして格納されます。含まれていない場合は、バイナリ・データとして格納されます。 |
|
|
内容として使用する |
|
|
ドキュメントのキャラクタ・セットID。有効なOracle IDでなければなりません。無効な場合、エラーが戻されます。 CSIDを指定しない場合またはCSIDに0(ゼロ)を指定した場合、ドキュメントのキャラクタ・セットIDは次のように判断されます。
|
|
|
|
戻り値
操作が成功した場合はTRUE。そうでない場合はFALSE。
このプロシージャは、指定した拡張子のMIMEマッピングをXDB構成から削除します。
構文
DBMS_XDB.DELETEMIMEMAPPING(
extension IN VARCHAR2,);
パラメータ
このプロシージャは、階層からリソースを削除します。
構文
DBMS_XDB.DELETERESOURCE( path IN VARCHAR2, delete_option IN PLS_INTEGER);
パラメータ
表148-21 DELETERESOURCEプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
削除するリソースのパス名。 |
|
|
表148-1で定義されたリソースの削除方法を制御するオプション。
|
このプロシージャは、絶対パスでリソースを使用し、REFで識別されるスキーマ・ベースのメタデータ、またはネームスペースと名前の組合せで識別されるメタデータ(スキーマ・ベースまたは非スキーマ・ベースのメタデータ)を削除します。また、メタデータの削除方法を指定する追加パラメータ(オプション)も使用します。このパラメータは、削除する必要があるスキーマ・ベースのリソース・メタデータにのみ使用されます。非スキーマ・ベースのメタデータの場合、このパラメータは無視されます。
構文
次の構文は、スキーマ・ベースのメタデータにのみ使用できます。
DBMS_XDB.DELETERESOURCEMETADATA ( abspath IN VARCHAR2, metadata IN REF SYS.XMLTYPE, delete_option IN pls_integer := dbms_xdb.DELETE_RESOURCE_METADATA_CASCADE);
次の構文は、スキーマ・ベースまたは非スキーマ・ベースのメタデータに使用できます。
DBMS_XDB.DELETERESOURCEMETADATA ( abspath IN VARCHAR2, metadatans IN VARCHAR2, metadataname IN VARCHAR2, delete_option IN pls_integer := dbms_xdb.DELETE_RESOURCE_METADATA_CASCADE);
パラメータ
表148-22 DELETERESOURCEMETADATAプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
リソースの絶対パス。 |
|
|
削除する(スキーマ・ベースの)メタデータの一部への |
|
|
削除するメタデータの断片のネームスペース。 |
|
|
削除するメタデータの断片のローカル名。 |
|
|
スキーマ・ベースのメタデータにのみ適用できます。このパラメータは次のいずれかになります。
|
このプロシージャは、指定したスキーマURLのスキーマ位置マッピングをXDB構成から削除します。
構文
DBMS_XDB.DELETESCHEMALOCMAPPING(
schemaURL IN VARCHAR2);
パラメータ
このプロシージャは、XDB構成からサーブレットを削除します。
構文
DBMS_XDB.DELETESERVLET(
name IN VARCHAR2);
パラメータ
このプロシージャは、指定したサーブレット名のサーブレット・マッピングをXDB構成から削除します。
構文
DBMS_XDB.DELETESERVLETMAPPING(
name IN VARCHAR2);
パラメータ
このプロシージャは、XDB構成内のサーブレットから指定したロールを削除します。
構文
DBMS_XDB.DELETESERVLETSECROLE(
servname IN VARCHAR2, rolename IN VARCHAR2);
パラメータ
このプロシージャは、指定したXML拡張子をXDB構成から削除します。
構文
DBMS_XDB.DELETEXMLEXTENSION(
extension IN VARCHAR2);
パラメータ
このファンクションは、リソースが階層内にあるかどうかを示します。絶対パスを表す文字列によってリソースを照合します。
構文
DBMS_XDB.EXISTSRESOURCE( abspath IN VARCHAR2) RETURN BOOLEAN;
パラメータ
戻り値
リソースが見つかった場合はTRUE。
このファンクションは、パス名を指定して、リソースを保護するACLドキュメントを取得します。
構文
DBMS_XDB.GETACLDOCUMENT( abspath IN VARCHAR2) RETURN sys.xmltype;
パラメータ
戻り値
ACLドキュメントのXMLType。
このファンクションは、すべての子リソースの絶対パス上にカーソルを戻します。
構文
DBMS_XDB.GETCHILDRESPATHS(
abspath IN VARCHAR2);
RETURN SYS_REFCURSOR;
パラメータ
戻り値
すべての子リソースの絶対パス上のカーソル。
このファンクションは、BLOBとして戻されたリソースの内容を取り出します。
構文
DBMS_XDB.GETCONTENTBLOB(
abspath IN VARCHAR2,
csid OUT PLS_INTEGER,
locksrc IN BOOLEAN := FALSE)
RETURN BLOB;
パラメータ
表148-31 GETCONTENTBLOBファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
リソースの絶対パス。 |
|
|
|
|
locksrc |
BLOBとしてのリソースの内容。 |
戻り値
BLOBとしてのリソースの内容。
このファンクションは、CLOBとして戻されたリソースの内容を取得します。
構文
DBMS_XDB.GETCONTENTCLOB(
abspath IN VARCHAR2,
RETURN CLOB;
パラメータ
戻り値
CLOBとしてのリソースの内容。
このファンクションは、文字列として戻されたリソースの内容を取得します。
構文
DBMS_XDB.GETCONTENTVARCHAR2(
abspath IN VARCHAR2,
RETURN BLOB;
パラメータ
戻り値
文字列としてのリソースの内容。
このファンクションは、XMLTYPEへのREFとして戻されたリソースの内容を取り出します。
構文
DBMS_XDB.GETCONTENTXMLREF(
abspath IN VARCHAR2,
RETURN SYS.XMLTYPE;
パラメータ
戻り値
XMLTYPEへのREFとしてのリソースの内容。
このファンクションは、XMLTYPEとして戻されたリソースの内容を取り出します。
構文
DBMS_XDB.GETCONTENTXMLTYPE(
abspath IN VARCHAR2,
RETURN SYS.XMLTYPE;
パラメータ
戻り値
XMLTYPEとしてのリソースの内容。
このプロシージャは、現在のFTPポートの値を取得します。
構文
DBMS_XDB.GETFTPPORT RETURN NUMBER;
このプロシージャは、現在のHTTPポートの値を取得します。
構文
DBMS_XDB.GETHTTPPORT RETURN NUMBER;
このプロシージャは、XML DB HTTPサーバーに対応するリスナーのエンド・ポイントのパラメータを取得します。このプロシージャでは、HTTPとHTTP2の両方のエンド・ポイントのパラメータを取得できます。
構文
DBMS_XDB.GETLISTENERENDPOINT ( endpoint IN NUMBER, host OUT VARCHAR2, port OUT NUMBER, protocol OUT NUMBER);
パラメータ
表148-36 GETLISTENERENDPOINTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
取得するエンド・ポイント。この値は、 |
|
|
リスナーのエンド・ポイントがリスニングするインタフェース。 |
|
|
リスナーのエンド・ポイントがリスニングするポート。 |
|
|
リスナーのエンド・ポイントによって受け入れられた転送プロトコル。 |
リソースへのパスを指定して、現行ユーザーのリソースのロック・トークンを戻します。
構文
DBMS_XDB.GETLOCKTOKEN( path IN VARCHAR2, locktoken OUT VARCHAR2);
パラメータ
使用上の注意
ユーザーには、リソースに対するREADPROPERTIES権限が必要です。
このファンクションは、指定したリソースに対して現行ユーザーに付与されている権限をすべて取得します。
構文
DBMS_XDB.GETPRIVILEGES( res_path IN VARCHAR2) RETURN sys.xmltype;
パラメータ
戻り値
<privilege>要素のXMLTypeインスタンス。これには、このリソースに対して現行のユーザーに付与されたすべてのリーフ権限のリストが含まれています。
リソースの絶対パスからオブジェクトIDを戻します。
構文
DBMS_XDB.GETRESOID( abspath IN VARCHAR2) RETURN RAW;
パラメータ
戻り値
リソースが存在しない場合はNULL。
このファンクションは、XDB(ユーザー)の現行の表領域を戻します。
構文
DBMS_XDB.GETXDB_TABLESPACE RETURN VARCHAR2;
このファンクションは、リソースにBLOBコンテンツがある場合はTRUEを戻します。
構文
DBMS_XDB.DBMS_XDB.HASBLOBCONTENT
abspath IN VARCHAR2)
RETURN BOOLEAN;
パラメータ
戻り値
リソースにBOBコンテンツがある場合はTRUE。
このファンクションは、リソースに文字コンテンツがある場合はTRUEを戻します。
構文
DBMS_XDB.DBMS_XDB.HASCHARCONTENT
abspath IN VARCHAR2)
RETURN BOOLEAN;
パラメータ
戻り値
リソースに文字コンテンツがある場合はTRUE。
このファンクションは、リソースにXMLコンテンツがある場合はTRUEを戻します。
構文
DBMS_XDB.DBMS_XDB.HASXMLCONTENT
abspath IN VARCHAR2)
RETURN BOOLEAN;
パラメータ
戻り値
リソースにXMLコンテンツがある場合はTRUE。
このファンクションは、リソースにXMLコンテンツへのREFがある場合はTRUEを戻します。
構文
DBMS_XDB.DBMS_XDB.HASXMLREFERENCE
abspath IN VARCHAR2)
RETURN BOOLEAN;
パラメータ
戻り値
リソースにXMLコンテンツへのREFがある場合はTRUE。
このファンクションは、リソースがフォルダまたはコンテナの場合はTRUEを戻します。
構文
DBMS_XDB.DBMS_XDB.ISFOLDER
abspath IN VARCHAR2)
RETURN BOOLEAN;
パラメータ
戻り値
リソースがフォルダまたはコンテナの場合はTRUE。
このプロシージャは、指定したフォルダから指定したリソースに作成します。
構文
DBMS_XDB.LINK( srcpath IN VARCHAR2, linkfolder IN VARCHAR2, linkname IN VARCHAR2);
DBMS_XDB.LINK( srcpath IN VARCHAR2, linkfolder IN VARCHAR2, linkname IN VARCHAR2, linktype IN PLS_INTEGER := DBMS_XDB.LINK_TYPE_HARD);
パラメータ
表148-45 LINKプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
リンクを作成するリソースのパス名。 |
|
|
新規リンクを格納するフォルダ。 |
|
|
新規リンクの名前。 |
|
|
作成するリンクのタイプ。
|
リソースへのパスを指定して、リソースに対するWebDAVスタイルのロックを取得します。
構文
DBMS_XDB.LOCKRESOURCE( path IN VARCHAR2, depthzero IN BOOLEAN, shared IN boolean) RETURN BOOLEAN;
パラメータ
表148-46 LOCKRESOURCEファンクションのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ロックするリソースのパス名。 |
|
|
現在サポートされていません。 |
|
|
|
戻り値
成功した場合はTRUE。
使用上の注意
ユーザーには、リソースに対するUPDATE権限が必要です。
このプロシージャは、指定した表領域にXDB(ユーザー)を移動します。
構文
DBMS_XDB.MOVEXDB_TABLESPACE( new_tablespace IN VARCHAR2);
パラメータ
使用上の注意
この処理は、すべての同時XDBセッションの終了を待機します。
このプロシージャは、指定したリソース内のドキュメント・リンクを処理します。
構文
DBMS_XDB.PURGERESOURCEMETADATA( abspath IN VARCHAR2, recurse IN BOOLEAN := FALSE);
パラメータ
表148-48 PROCESSLINKSプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
リソースの絶対パス。パスがフォルダの場合は、 |
|
|
|
このプロシージャは、リソースからすべてのユーザー・メタデータを削除します。スキーマ・ベースのメタデータはカスケード・モードで削除され、対応するメタデータ表から行が削除されます。
構文
DBMS_XDB.PURGERESOURCEMETADATA( abspath IN VARCHAR2);
パラメータ
このプロシージャは、インポートまたはエクスポート操作後に、階層の索引を再作成します。これは、データを索引表からエクスポートできないため必要です。
構文
DBMS_XDB.REBUILDHIERARCHICALINDEX;
このプロシージャは、XDBリソースの名前を変更します。
構文
DBMS_XDB.RENAMERESOURCE( srcpath IN VARCHAR2, destfolder IN CARCHAR2, newname IN VARCHAR2);
パラメータ
表148-50 RENAMERESOURCEプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ソース・リソース宛先フォルダの階層内の絶対パス。 |
|
|
宛先フォルダの階層内の絶対パス。 |
|
|
宛先フォルダ内の子の名前。 |
このプロシージャは、指定のリソースに対するACLを、パスで指定したACLに設定します。
構文
DBMS_XDB.SETACL( res_path IN VARCHAR2, acl_path IN VARCHAR2);
パラメータ
使用上の注意
ユーザーには、リソースに対する<write-acl>権限が必要です。
このプロシージャは、リソースの内容を指定したデータ型に置き換えます。
構文
リソースの内容を指定したCLOBに置き換えます。
DBMS_XDB.SETCONTENT(
abspath IN VARCHAR2,
data IN CLOB);
リソースの内容を指定したBLOBに置き換えます。
DBMS_XDB.SETCONTENT(
abspath IN VARCHAR2,
data IN BLOB,
csid IN PLS_INTEGER);
リソースの内容を指定したXMLTYPEに置き換えます。
DBMS_XDB.SETCONTENT(
abspath IN VARCHAR2,
data IN SYS.XMLTYPE);
リソースの内容を指定した文字列に置き換えます。
DBMS_XDB.SETCONTENT(
abspath IN VARCHAR2,
data IN VARCHAR2);
リソースの内容を指定したXMLTYPEへのREFに置き換えます。
DBMS_XDB.SETCONTENT(
abspath IN VARCHAR2,
data IN CLOB,
sticky IN BOOLEAN := TRUE);
リソースの内容を指定したBFILEに置き換えます。
DBMS_XDB.SETCONTENT(
abspath IN VARCHAR2,
data IN CLOB,
csid IN PLS_INTEGER);
パラメータ
表148-52 SETCONTENTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
リソースの階層内の絶対パス。 |
|
|
オーバーロードによって異なる次の入力。
|
|
|
BLOBまたはBFILEのキャラクタ・セットID。 |
|
|
|
このプロシージャは、FTPポートを新しい値に設定します。
構文
DBMS_XDB.SETFTPPORT( new_port IN NUMBER);
パラメータ
このプロシージャは、HTPポートを新しい値に設定します。
構文
DBMS_XDB.SETHTTPPORT( new_port IN NUMBER);
パラメータ
このプロシージャは、XML DB HTTPサーバーに対応するリスナーのエンド・ポイントのパラメータを設定します。このプロシージャでは、HTTPとHTTP2の両方のエンド・ポイントを設定できます。
構文
DBMS_XDB.SETLISTENERENDPOINT ( endpoint IN NUMBER, host IN VARCHAR2, port IN NUMBER, protocol IN NUMBER);
パラメータ
表148-55 SETLISTENERENDPOINTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
設定するエンド・ポイント。この値は、 |
|
|
リスナーのエンド・ポイントがリスニングするインタフェース。この値は、' |
|
|
リスナーのエンド・ポイントがリスニングするポート。 |
|
|
リスナーのエンド・ポイントが受け入れる転送プロトコル。 この値は、 |
このプロシージャは、XML DB HTTPサーバーのすべてのリスナーのエンド・ポイントを、ローカルホスト・インタフェースでのみリスニングするか(l_accessの設定がTRUEの場合)、またはローカルホスト・インタフェースと非ローカルホスト・インタフェースの両方でリスニングするか(l_accessの設定がFALSEの場合)のどちらかに制限します。
構文
DBMS_XDB.SETLISTENERLOCALACCESS ( l_access BOOLEAN);
パラメータ
このプロシージャは、パスを親のパスと子のパスに分割します。
構文
DBMS_XDB.SPLITPATH(
abspath IN VARCHAR2,
parentpath OUT VARCHAR2,
childpath OUT VARCHAR2);
パラメータ
このプロシージャは、リソースの変更時間を現在の時間に変更します。
構文
DBMS_XDB.DBMS_XDB.TOUCHRESOURCE
abspath IN VARCHAR2);
パラメータ
このプロシージャは、リソースのメタデータを更新します。このプロシージャは、絶対パスで識別されるリソース、およびREFで識別されて置き換えられる、そのリソース内のメタデータを使用します。メタデータの一部をユーザー定義のメタデータ(XMLTYPEへのREFまたはXMLTYPEのいずれかの形式)に置き換えます。
構文
次の構文は、スキーマ・ベースのメタデータの更新にのみ使用できます。新しいメタデータは、スキーマ・ベースである必要があります。
DBMS_XDB.UPDATERESOURCEMETADATA( abspath IN VARCHAR2, oldmetadata IN REF SYS.XMLTYPE, newmetadata IN REF SYS.XMLTYPE)
次の構文は、スキーマ・ベースのメタデータの更新にのみ使用できます。新しいメタデータは、スキーマ・ベースまたは非スキーマ・ベースである必要があります。
DBMS_XDB.UPDATERESOURCEMETADATA( abspath IN VARCHAR2, oldmetadata IN REF SYS.XMLTYPE, newmetadata IN XMLTYPE);
次の構文は、スキーマ・ベースおよび非スキーマ・ベースの両方のメタデータに使用できます。
DBMS_XDB.UPDATERESOURCEMETADATA( abspath IN VARCHAR2, oldns IN VARCHAR2, oldname IN VARCHAR, newmetadata IN XMLTYPE);
次の構文は、スキーマ・ベースおよび非スキーマ・ベースの両方のメタデータに使用できます。新しいメタデータは、スキーマ・ベースである必要があります。
DBMS_XDB.UPDATERESOURCEMETADATA( abspath IN VARCHAR2, oldns IN VARCHAR2, oldname IN VARCHAR, newmetadata IN REF SYS.XMLTYPE);
パラメータ
表148-59 UPDATERESOURCEMETADATAプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
リソースの絶対パス。 |
|
|
古いメタデータへの |
|
|
新しい置換メタデータへの |
|
|
古いメタデータを識別するネームスペース。 |
|
|
古いメタデータを識別するローカル名。 |
使用上の注意
REFの場合、このプロシージャは、REFをリソースに、メタデータは別の表に格納します。REFの一意性が維持されます。XMLTYPEが渡された場合、データを解析してスキーマ・ベースかどうかを判断し、その結果に応じてデータを格納します。
このファンクションは、ロック・トークンとリソースへのパスを指定して、リソースのロックを解除します。
構文
DBMS_XDB.UNLOCKRESOURCE( path IN VARCHAR2, deltoken IN VARCHAR2) RETURN BOOLEAN;
パラメータ
戻り値
操作が成功した場合はTRUE。
使用上の注意
ユーザーには、リソースに対するUPDATE権限が必要です。