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
権限が必要です。