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;
使用上のノート
-
がGlobalPortEnabled
TRUE
に設定されている場合、このプロシージャは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ポートに設定される値。 |