226 DBMS_XDB_CONFIG
DBMS_XDB_CONFIGパッケージは、Oracle XML DBとそのリポジトリを構成するインタフェースを提供します。
この章のトピックは、次のとおりです:
226.1 DBMS_XDB_CONFIGの概要
DBMS_XDB_CONFIGは、DBAがシステムを構成するためのPL/SQL向けOracle XML DBリソースのアプリケーション・プログラム・インタフェース(API)です。
このAPIは、PL/SQLを使用して、Oracle XML DBリポジトリ・リソースにアクセスして管理するためのファンクションとプロシージャを提供します。 また、リソースのセキュリティおよびOracle XML DBの構成の管理方法も説明します。
ノート:
Oracle XML DBリポジトリは、Oracle Database 23aiでは非推奨です。
Oracleでは、XML DBリポジトリで使用される機能を代替テクノロジに置き換えることをお薦めします。 この非推奨の結果、すべてのXML DBリポジトリ・インタフェース(たとえば、リポジトリ固有のJavaクラスoracle.xdb.servlet、 oracle.xdb.eventおよびoracle.xdb.spi)も同様に非推奨になりました。
Oracle XML DBリポジトリはXMLでモデル化されており、すべてのデータに対するデータベース・ファイル・システムを提供します。 リポジトリは、XMLTypeのデータベース・オブジェクトにパス名(またはURL)をマップし、これらのオブジェクトの管理機能を提供します。
PL/SQLパッケージDBMS_XDB_CONFIGは、次のすべての管理に使用できるAPIです。
-
Oracle XML DBリソース
-
Oracle XML DBセキュリティは、アクセス制御リスト(ACL)に基づいています。 ACLは、どのリソースへのアクセス権をどのプリンシパル(ユーザーまたはロール)が持つかを決定するアクセス制御エントリ(ACE)のリストです。
-
Oracle XML DBの構成
226.2 DBMS_XDB_CONFIGのセキュリティ・モデル
DBMS_XDB_CONFIGパッケージは、XDBが所有しているため、SYSまたはXDBで作成される必要があります。 EXECUTE権限は、PUBLICに付与されます。 このパッケージ内のサブプログラムは、現行のユーザーの権限を使用して実行されます。
226.3 DBMS_XDB_CONFIGの定数
DBMS_XDB_CONFIGパッケージは、パラメータ値の指定に使用するいくつかの列挙定数を定義します。
これらの定数を、次の表に示します。
表226-1 DBMS_XDB_CONFIG定数
| 定数 | タイプ | 値 | 説明 |
|---|---|---|---|
|
|
|
1 |
最初のHTTPポートのリスナーの定義 |
|
|
|
2 |
2番目のHTTPポートのリスナーの定義 |
|
|
|
3 |
リモートHTTPポートのリスナーの定義 |
|
|
|
4 |
リモートHTTPSポートのリスナーの定義 |
|
|
|
1 |
HTTPプロトコルのリスナーの定義 |
|
|
|
2 |
HTTPSプロトコルのリスナーの定義 |
226.4 DBMS_XDB_CONFIGサブプログラムの要約
DBMS_XDB_CONFIGパッケージは、Oracle XML DBとそのリポジトリを構成するサブプログラムを使用します。
これらのサブプログラムを次の表に示します。
表226-2 DBMS_XDB_CONFIGパッケージ・サブプログラム
| サブプログラム | 説明 |
|---|---|
|
有効期限に対するURLパターンのマッピングを |
|
|
XDB構成にMIMEマッピングを追加します。 |
|
|
XDB構成にスキーマ位置マッピングを追加します。 |
|
|
XDB構成にサーブレットを追加します。 |
|
|
XDB構成にサーブレット・マッピングを追加します。 |
|
|
XDB構成内の指定したサーブレットにセキュリティ・ロール |
|
|
次のXML拡張子を |
|
|
セッションの構成情報を |
|
|
セッションの最新の構成情報をデータベースに反映します。 |
|
|
構成情報を更新し、変更をコミットします。 |
|
|
有効期限に対するURLパターンのすべてのマッピングを |
|
|
指定した拡張子のMIMEマッピングをXDB構成から削除します。 |
|
|
指定したスキーマURLのスキーマ位置マッピングをXDB構成から削除します。 |
|
|
サーブレットをXDB構成から削除します。 |
|
|
指定したサーブレット名のサーブレット・マッピングをXDB構成から削除します。 |
|
|
XDB構成内のサーブレットから指定したロールを削除します。 |
|
|
指定したXML拡張子をXDB構成から削除します。 |
|
|
Digest認証を有効にします。 |
|
|
現在のFTPポートの値を取得します。 |
|
|
現在のHTTPポートの値を取得します。 |
|
|
レルム名を取得します。 |
|
|
現在のHTTPSポートの値を取得します。 |
|
|
XML DB HTTPサーバーに対応するリスナーのエンド・ポイントのパラメータを取得します。 |
|
|
リモートHTTPポートの値を取得します。 |
|
|
リモートHTTPSポートの値を取得します。 |
|
|
|
|
|
FTPポートを新しい値に設定します。 |
|
|
HTTPポートに新しい値を設定します。 |
|
|
レルムに新しい値を設定します。 |
|
|
HTTPSポートに新しい値を設定します。 |
|
|
XML DB HTTPサーバーに対応するリスナーのエンド・ポイントのパラメータを設定します。 |
|
|
XML DB HTTPサーバーのすべてのリスナーのエンド・ポイントを、ローカルホスト・インタフェースでのみリスニングするか( |
|
|
リモートHTTPポートを新しい値に設定します。 |
|
|
リモートHTTPSポートを新しい値に設定します。 |
|
|
同じ統合データベース内の他のプラガブル・データベースで使用されるポート番号を取得します。 |
226.4.1 ADDHTTPEXPIREMAPPINGプロシージャ
このプロシージャは、有効期限に対するURLパターンのマッピングをXDB$CONFIGに追加します。 これによって、パターンに一致するURLのExpireヘッダーを制御します。
構文
DBMS_XDB_REPOS.ADDHTTPEXPIREMAPPING (
pattern IN VARCHAR2,
expire IN VARCHAR2);パラメータ
表226-3 ADDHTTPEXPIREMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
URLパターン(ワイルドカードとして*のみ使用可能)。 |
|
|
Apacheの base [plus] (num type)* -- base: now | modification -- type: year|years|month|months|week|weeks|day|days| minute|minutess|second|seconds |
例
DBMS_XDB_REPOS.ADDHTTPEXPIREMAPPING ('/public/test1/*', 'now plus 4 weeks');
DBMS_XDB_REPOS.ADDHTTPEXPIREMAPPING (
'/public/test2/*', 'modification plus 1 day 30 seconds');226.4.2 ADDMIMEMAPPINGプロシージャ
このプロシージャは、XDB構成に次のMIMEマッピングを追加します。
<mime-mapping> <extension>extension</extension> <mime-type>mimetype</mime-type> </mime-mapping>
構文
DBMS_XDB_CONFIG.ADDMIMEMAPPING(
extension IN VARCHAR2,
mimetype IN VARCHAR2);パラメータ
表226-4 ADDMIMEMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
MIMEタイプが追加される拡張子。 |
|
|
MIMEタイプ |
226.4.3 ADDSCHEMALOCMAPPINGプロシージャ
このプロシージャは、XDB構成に次のスキーマ位置マッピングを追加します。
<schemaLocation-mapping>
<namespace>namespace</namespace>
<element>element</element>
<schemaURL>schemaURL</schemaURL>
</schemaLocation-mapping>構文
DBMS_XDB_CONFIG.ADDSCHEMALOCMAPPING(
namespace IN VARCHAR2,
element IN VARCHAR2,
schemaURL IN VARCHAR2);パラメータ
表226-5 ADDSCHEMALOCMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ネームスペース |
|
|
要素 |
|
|
スキーマURL |
226.4.4 ADDSERVLETプロシージャ
このプロシージャは、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_CONFIG.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,
schema IN VARCHAR2 := NULL);パラメータ
表226-6 ADDSERVLETプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
サーブレット名 |
|
|
C、Java、PL/SQLのいずれかを指定する必要があります。 |
|
|
表示名 |
|
|
アイコン |
|
|
説明 |
|
|
このサーブレットに対応する |
|
|
このパラメータはサポートされていません。 このパラメータには常に |
|
|
このサーブレットに対応する |
|
|
スキーマを使用して、 値を指定しない場合、デフォルトのリゾルバ仕様を使用してスキーマが検索されます。 |
226.4.5 ADDSERVLETMAPPINGプロシージャ
このプロシージャは、XDB構成にサーブレット・マッピングを追加します。
次のサーブレット・マッピングを追加します。
<servlet-mapping>
<servlet-pattern>pattern</servlet-pattern>
<servlet-name>name</servlet-name>
</servlet-mapping>構文
DBMS_XDB_CONFIG.ADDSERVLETMAPPING(
pattern IN VARCHAR2, name IN VARCHAR2);パラメータ
表226-7 ADDSERVLETMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
サーブレットのパターン |
|
|
サーブレット名 |
226.4.6 ADDSERVLETSECROLEプロシージャ
このプロシージャは、XDB構成内の指定したサーブレットにセキュリティ・ロールREFを追加します。
次に示すようなセキュリティ・ロールを追加します。
<security-role-ref>
<role-name>rolename</role-name>
<role-link>rolelink</role-link>
<description>descript</description>
</security-role-ref>構文
DBMS_XDB_CONFIG.ADDSERVLETSECROLE(
servname IN VARCHAR2, rolename IN VARCHAR2, rolelink IN VARCHAR2, descript IN VARCHAR2 := NULL);パラメータ
表226-8 ADDSERVLETSECROLEプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
サーブレット名 |
|
|
ロール名 |
|
|
ロール・リンク |
|
|
説明 |
226.4.7 ADDXMLEXTENSIONプロシージャ
このプロシージャは、XDB構成の<xml-extensions>の下にXML拡張子を追加します。
XDB構成の<xml-extensions>の下に次のXML拡張子を追加します。
<extension>extension</extension>
構文
DBMS_XDB_CONFIG.ADDXMLEXTENSION(
extension IN VARCHAR2);パラメータ
表226-9 ADDXMLEXTENSIONプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
追加するXML拡張子。 |
226.4.8 CFG_GETファンクション
このファンクションは、セッションの構成情報をXMLTypeインスタンスとして取得します。
構文
DBMS_XDB_CONFIG.CFG_GET RETURN SYS.XMLType;
226.4.10 CFG_UPDATEプロシージャ
このプロシージャは、構成情報を更新して、変更をコミットします。
構文
DBMS_XDB_CONFIG.CFG_UPDATE( xdbconfig IN SYS.XMLTYPE);
パラメータ
表226-10 CFG_UPDATEプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
新規の構成データ。 |
226.4.11 DELETEHTTPEXPIREMAPPINGプロシージャ
このプロシージャは、有効期限に対するURLパターンのすべてのマッピングをXDB$CONFIGから削除します。
構文
DBMS_XDB_REPOS.DELETEHTTPEXPIREMAPPING(
pattern IN VARCHAR2);パラメータ
表226-11 DELETEHTTPEXPIREMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
URLパターン(ワイルドカードとして*のみ使用可能)。 |
226.4.12 DELETEMIMEMAPPINGプロシージャ
このプロシージャは、指定した拡張子のMIMEマッピングをXDB構成から削除します。
構文
DBMS_XDB_CONFIG.DELETEMIMEMAPPING(
extension IN VARCHAR2);パラメータ
表226-12 DELETEMIMEMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
MIMEタイプを削除する拡張子。 |
226.4.13 DELETESCHEMALOCMAPPINGプロシージャ
このプロシージャは、指定したスキーマURLのスキーマ位置マッピングをXDB構成から削除します。
構文
DBMS_XDB_CONFIG.DELETESCHEMALOCMAPPING(
schemaURL IN VARCHAR2);パラメータ
表226-13 DELETESCHEMALOCMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
スキーマURL |
226.4.14 DELETESERVLETプロシージャ
このプロシージャは、XDB構成からサーブレットを削除します。
構文
DBMS_XDB_CONFIG.DELETESERVLET(
name IN VARCHAR2);パラメータ
表226-14 DELETESERVLETプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
サーブレット名 |
226.4.15 DELETESERVLETMAPPINGプロシージャ
このプロシージャは、指定したサーブレット名のサーブレット・マッピングをXDB構成から削除します。
構文
DBMS_XDB_CONFIG.DELETESERVLETMAPPING(
name IN VARCHAR2);パラメータ
表226-15 DELETESERVLETMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
サーブレット名 |
226.4.16 DELETESERVLETSECROLEプロシージャ
このプロシージャは、XDB構成内のサーブレットから指定したロールを削除します。
構文
DBMS_XDB_CONFIG.DELETESERVLETSECROLE(
servname IN VARCHAR2, rolename IN VARCHAR2);パラメータ
表226-16 DELETESERVLETSECROLEプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
サーブレット名 |
|
|
削除するロールの名前。 |
226.4.17 DELETEXMLEXTENSIONプロシージャ
このプロシージャは、指定したXML拡張子をXDB構成から削除します。
構文
DBMS_XDB_CONFIG.DELETEXMLEXTENSION(
extension IN VARCHAR2);パラメータ
表226-17 DELETEXMLEXTENSIONプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
削除するXML拡張子。 |
226.4.18 ENABLEDIGESTAUTHENTICATIONプロシージャ
このプロシージャは、Digest認証を有効にします。 DigestがXML DB HTTPサーバーで使用される最初の認証メカニズムとしてリストされます。
構文
DBMS_XDB_CONFIG.ENABLEDIGESTAUTHENTICATION;
226.4.20 GETHTTPCONFIGREALMファンクション
このファンクションは、レルム名を取得します。 レルムの定義はIETFのRFC2617で参照されます。
構文
DBMS_XDB_CONFIG.GETHTTPCONFIGREALM RETURN VARCHAR2;
226.4.21 GETHTTPPORTファンクション
このファンクションは現在のHTTPポートの値を取得します。
構文
DBMS_XDB_CONFIG.GETHTTPPORT RETURN NUMBER;
226.4.22 GETHTTPSPORTファンクション
このプロシージャは、現在のHTTPSポートの値を取得します。
構文
DBMS_XDB_CONFIG.GETHTTPSPORT RETURN NUMBER;
使用上のノート
ポートが構成されなかった場合、NULLを返します。
226.4.23 GETLISTENERENDPOINTプロシージャ
このプロシージャは、XML DB HTTPサーバーに対応するリスナーのエンド・ポイントのパラメータを取得します。 このプロシージャでは、HTTPとHTTP2の両方のエンド・ポイントのパラメータを取得できます。
構文
DBMS_XDB_CONFIG.GETLISTENERENDPOINT ( endpoint IN NUMBER, host OUT VARCHAR2, port OUT NUMBER, protocol OUT NUMBER);
パラメータ
表226-18 GETLISTENERENDPOINTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
取得するエンド・ポイント。 この値は、 |
|
|
リスナーのエンド・ポイントがリスニングするインタフェース。 |
|
|
リスナーのエンド・ポイントがリスニングするポート。 |
|
|
リスナーのエンド・ポイントによって受け入れられた転送プロトコル。 |
226.4.24 GETREMOTEHTTPPORTファンクション
このファンクションは、リモートHTTPポートの値を取得します。
構文
DBMS_XDB_CONFIG.GETREMOTEHTTPPORT RETURN NUMBER;
226.4.25 GETREMOTEHTTPSPORTファンクション
このファンクションは、リモートHTTPSポートの値を取得します。
構文
DBMS_XDB_CONFIG.GETREMOTEHTTPSPORT RETURN NUMBER;
226.4.26 ISGLOBALPORTENABLEDファンクション
このプロシージャは、GlobalPortEnabled設定の値を戻します。
構文
DBMS_XDB_CONFIG.ISGLOBALPORTENABLED RETURN BOOLEAN;
使用上のノート
-
がGlobalPortEnabledTRUEに設定されている場合、このプロシージャはTRUEを戻します。そうでない場合はFALSEを戻します。 -
マルチテナント環境では、CDBルートおよびPDBの両方でこのファンクションを実行できます。
226.4.27 SETFTPPORTプロシージャ
このプロシージャは、FTPポートを新しい値に設定します。
構文
DBMS_XDB_CONFIG.SETFTPPORT( new_port IN NUMBER);
パラメータ
表226-19 SETFTPPORTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
FTPポートが設定される値。 |
226.4.28 SETHTTPPORTプロシージャ
このプロシージャは、HTTPポートを新しい値に設定します。
構文
DBMS_XDB_CONFIG.SETHTTPPORT( new_port IN NUMBER);
パラメータ
表226-20 SETHTTPPORTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
HTTPポートが設定される値。 |
226.4.29 SETHTTPCONFIGREALMプロシージャ
このプロシージャはレルム値を変更します。
構文
DBMS_XDB_CONFIG.SETHTTPCONFIGREALM( realm IN VARCHAR2);
パラメータ
表226-21 SETHTTPPORTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
IETFのRFC2617で定義されたレルム。 |
226.4.30 SETHTTPSPORTプロシージャ
このプロシージャは、HTTPSポートを新しい値に設定します。
構文
DBMS_XDB_CONFIG.SETHTTPSPORT( new_port IN NUMBER);
パラメータ
表226-22 SETHTTPSPORTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
HTTPSポートに設定される値。 |
226.4.31 SETLISTENERENDPOINTプロシージャ
このプロシージャは、XML DB HTTPサーバーに対応するリスナーのエンド・ポイントのパラメータを設定します。
このプロシージャでは、HTTPとHTTP2の両方のエンド・ポイントを設定できます。
構文
DBMS_XDB_CONFIG.SETLISTENERENDPOINT ( endpoint IN NUMBER, host IN VARCHAR2, port IN NUMBER, protocol IN NUMBER);
パラメータ
表226-23 SETLISTENERENDPOINTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
設定するエンド・ポイント。 この値は、 |
|
|
リスナーのエンド・ポイントがリスニングするインタフェース。 この値は、' |
|
|
リスナーのエンド・ポイントがリスニングするポート。 |
|
|
リスナーのエンド・ポイントが受け入れる転送プロトコル。 この値は、 |
226.4.32 SETLISTENERLOCALACCESSプロシージャ
このプロシージャは、XML DB HTTPサーバーのすべてのリスナーのエンド・ポイントを、ローカルホスト・インタフェースでのみリスニングするか(l_accessの設定がTRUEの場合)、またはローカルホスト・インタフェースと非ローカルホスト・インタフェースの両方でリスニングするか(l_accessの設定がFALSEの場合)のどちらかに制限します。
構文
DBMS_XDB_CONFIG.SETLISTENERLOCALACCESS ( l_access BOOLEAN);
パラメータ
表226-24 SETLISTENERLOCALACCESSプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
|
226.4.33 SETREMOTEHTTPPORTプロシージャ
このプロシージャは、リモートHTTPポートを新しい値に設定します。
構文
DBMS_XDB_CONFIG.SETREMOTEHTTPPORT( new_port IN NUMBER);
パラメータ
表226-25 SETREMOTEHTTPPORTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
リモートHTTPポートに設定される値。 |
226.4.34 SETREMOTEHTTPSPORTプロシージャ
このプロシージャは、リモートHTTPSポートを新しい値に設定します。
構文
DBMS_XDB_CONFIG.SETREMOTEHTTPSPORT ( new_port IN NUMBER);
パラメータ
表226-26 SETREMOTEHTTPSPORTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
リモートHTTPSポートに設定される値。 |