199 DBMS_XDB_CONFIG
DBMS_XDB_CONFIGパッケージは、Oracle XML DBとそのリポジトリを構成するインタフェースを提供します。
この章のトピックは、次のとおりです:
199.1 DBMS_XDB_CONFIGの概要
PL/SQLパッケージDBMS_XDB_CONFIGは、DBAがシステムを構成するためのPL/SQL向けOracle XML DBリソースのアプリケーション・プログラム・インタフェース(API)です。このAPIは、PL/SQLを使用して、Oracle XML DBリポジトリ・リソースにアクセスして管理するためのファンクションとプロシージャを提供します。また、リソースのセキュリティおよびOracle XML DBの構成の管理方法も説明します。
Oracle XML DBリポジトリはXMLでモデル化されており、すべてのデータに対するデータベース・ファイル・システムを提供します。リポジトリは、XMLTypeのデータベース・オブジェクトにパス名(またはURL)をマップし、これらのオブジェクトの管理機能を提供します。
PL/SQLパッケージDBMS_XDB_CONFIGは、次のすべての管理に使用できるAPIです。
-
Oracle XML DBリソース
-
Oracle XML DBセキュリティは、アクセス制御リスト(ACL)に基づいています。ACLは、どのリソースへのアクセス権をどのプリンシパル(ユーザーまたはロール)が持つかを決定するアクセス制御エントリ(ACE)のリストです。
-
Oracle XML DBの構成
199.2 DBMS_XDB_CONFIGのセキュリティ・モデル
DBMS_XDB_CONFIGパッケージは、XDBが所有しているため、SYSまたはXDBで作成される必要があります。EXECUTE権限は、PUBLICに付与されます。このパッケージ内のサブプログラムは、現行のユーザーの権限を使用して実行されます。
199.3 DBMS_XDB_CONFIGの定数
DBMS_XDB_CONFIGパッケージは、パラメータ値の指定に使用するいくつかの列挙定数を定義します。
これらの定数を、次の表に示します。
表199-1 DBMS_XDB_CONFIGの定数
| 定数 | タイプ | 値 | 説明 |
|---|---|---|---|
|
|
|
1 |
最初のHTTPポートのリスナーの定義 |
|
|
|
2 |
2番目のHTTPポートのリスナーの定義 |
|
|
|
3 |
リモートHTTPポートのリスナーの定義 |
|
|
|
4 |
リモートHTTPSポートのリスナーの定義 |
|
|
|
1 |
HTTPプロトコルのリスナーの定義 |
|
|
|
2 |
HTTPSプロトコルのリスナーの定義 |
199.4 DBMS_XDB_CONFIGサブプログラムの要約
DBMS_XDB_CONFIGパッケージは、Oracle XML DBとそのリポジトリを構成するサブプログラムを使用します。
これらのサブプログラムを次の表に示します。
表199-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ポートの値を取得します。 |
|
|
|
|
|
Oracle Enterprise Manager Database Express (EM Express)クライアントがグローバル・ポートを使用できるようにします。 |
|
|
FTPポートを新しい値に設定します。 |
|
|
HTTPポートに新しい値を設定します。 |
|
|
レルムに新しい値を設定します。 |
|
|
HTTPSポートに新しい値を設定します。 |
|
|
XML DB HTTPサーバーに対応するリスナーのエンド・ポイントのパラメータを設定します。 |
|
|
XML DB HTTPサーバーのすべてのリスナーのエンド・ポイントを、ローカルホスト・インタフェースでのみリスニングするか( |
|
|
リモートHTTPポートを新しい値に設定します。 |
|
|
リモートHTTPSポートを新しい値に設定します。 |
|
|
同じ統合データベース内の他のプラガブル・データベースで使用されるポート番号を取得します。 |
199.4.1 ADDHTTPEXPIREMAPPINGプロシージャ
このプロシージャは、有効期限に対するURLパターンのマッピングをXDB$CONFIGに追加します。これによって、パターンに一致するURLのExpireヘッダーを制御します。
構文
DBMS_XDB_REPOS.ADDHTTPEXPIREMAPPING (
pattern IN VARCHAR2,
expire IN VARCHAR2);パラメータ
表199-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');199.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);パラメータ
表199-4 ADDMIMEMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
MIMEタイプが追加される拡張子。 |
|
|
MIMEタイプ |
199.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);パラメータ
表199-5 ADDSCHEMALOCMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
ネームスペース |
|
|
要素 |
|
|
スキーマURL |
199.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);パラメータ
表199-6 ADDSERVLETプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
サーブレット名 |
|
|
C、Java、PL/SQLのいずれかを指定する必要があります。 |
|
|
表示名 |
|
|
アイコン |
|
|
説明 |
|
|
このサーブレットに対応する |
|
|
このパラメータはサポートされていません。このパラメータには常に |
|
|
このサーブレットに対応する |
|
|
スキーマを使用して、 値を指定しない場合、デフォルトのリゾルバ仕様を使用してスキーマが検索されます。 |
199.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);パラメータ
表199-7 ADDSERVLETMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
サーブレットのパターン |
|
|
サーブレット名 |
199.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);パラメータ
表199-8 ADDSERVLETSECROLEプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
サーブレット名 |
|
|
ロール名 |
|
|
ロール・リンク |
|
|
説明 |
199.4.7 ADDXMLEXTENSIONプロシージャ
このプロシージャは、XDB構成の<xml-extensions>の下にXML拡張子を追加します。
XDB構成の<xml-extensions>の下に次のXML拡張子を追加します。
<extension>extension</extension>
構文
DBMS_XDB_CONFIG.ADDXMLEXTENSION(
extension IN VARCHAR2);パラメータ
表199-9 ADDXMLEXTENSIONプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
追加するXML拡張子。 |
199.4.8 CFG_GETファンクション
このファンクションは、セッションの構成情報をXMLTypeインスタンスとして取得します。
構文
DBMS_XDB_CONFIG.CFG_GET RETURN SYS.XMLType;
199.4.10 CFG_UPDATEプロシージャ
このプロシージャは、構成情報を更新して、変更をコミットします。
構文
DBMS_XDB_CONFIG.CFG_UPDATE( xdbconfig IN SYS.XMLTYPE);
パラメータ
表199-10 CFG_UPDATEプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
新規の構成データ。 |
199.4.11 DELETEHTTPEXPIREMAPPINGプロシージャ
このプロシージャは、有効期限に対するURLパターンのすべてのマッピングをXDB$CONFIGから削除します。
構文
DBMS_XDB_REPOS.DELETEHTTPEXPIREMAPPING(
pattern IN VARCHAR2);パラメータ
表199-11 DELETEHTTPEXPIREMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
URLパターン(ワイルドカードとして*のみ使用可能)。 |
199.4.12 DELETEMIMEMAPPINGプロシージャ
このプロシージャは、指定した拡張子のMIMEマッピングをXDB構成から削除します。
構文
DBMS_XDB_CONFIG.DELETEMIMEMAPPING(
extension IN VARCHAR2);パラメータ
表199-12 DELETEMIMEMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
MIMEタイプを削除する拡張子。 |
199.4.13 DELETESCHEMALOCMAPPINGプロシージャ
このプロシージャは、指定したスキーマURLのスキーマ位置マッピングをXDB構成から削除します。
構文
DBMS_XDB_CONFIG.DELETESCHEMALOCMAPPING(
schemaURL IN VARCHAR2);パラメータ
表199-13 DELETESCHEMALOCMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
スキーマURL |
199.4.14 DELETESERVLETプロシージャ
このプロシージャは、XDB構成からサーブレットを削除します。
構文
DBMS_XDB_CONFIG.DELETESERVLET(
name IN VARCHAR2);パラメータ
表199-14 DELETESERVLETプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
サーブレット名 |
199.4.15 DELETESERVLETMAPPINGプロシージャ
このプロシージャは、指定したサーブレット名のサーブレット・マッピングをXDB構成から削除します。
構文
DBMS_XDB_CONFIG.DELETESERVLETMAPPING(
name IN VARCHAR2);パラメータ
表199-15 DELETESERVLETMAPPINGプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
サーブレット名 |
199.4.16 DELETESERVLETSECROLEプロシージャ
このプロシージャは、XDB構成内のサーブレットから指定したロールを削除します。
構文
DBMS_XDB_CONFIG.DELETESERVLETSECROLE(
servname IN VARCHAR2, rolename IN VARCHAR2);パラメータ
表199-16 DELETESERVLETSECROLEプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
サーブレット名 |
|
|
削除するロールの名前。 |
199.4.17 DELETEXMLEXTENSIONプロシージャ
このプロシージャは、指定したXML拡張子をXDB構成から削除します。
構文
DBMS_XDB_CONFIG.DELETEXMLEXTENSION(
extension IN VARCHAR2);パラメータ
表199-17 DELETEXMLEXTENSIONプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
削除するXML拡張子。 |
199.4.18 ENABLEDIGESTAUTHENTICATIONプロシージャ
このプロシージャは、Digest認証を有効にします。DigestがXML DB HTTPサーバーで使用される最初の認証メカニズムとしてリストされます。
構文
DBMS_XDB_CONFIG.ENABLEDIGESTAUTHENTICATION;
199.4.20 GETHTTPCONFIGREALMファンクション
このファンクションは、レルム名を取得します。レルムの定義はIETFのRFC2617で参照されます。
構文
DBMS_XDB_CONFIG.GETHTTPCONFIGREALM RETURN VARCHAR2;
199.4.21 GETHTTPPORTファンクション
このファンクションは現在のHTTPポートの値を取得します。
構文
DBMS_XDB_CONFIG.GETHTTPPORT RETURN NUMBER;
199.4.22 GETHTTPSPORTファンクション
このプロシージャは、現在のHTTPSポートの値を取得します。
構文
DBMS_XDB_CONFIG.GETHTTPSPORT RETURN NUMBER;
使用上のノート
ポートが構成されなかった場合、NULLを返します。
199.4.23 GETLISTENERENDPOINTプロシージャ
このプロシージャは、XML DB HTTPサーバーに対応するリスナーのエンド・ポイントのパラメータを取得します。このプロシージャでは、HTTPとHTTP2の両方のエンド・ポイントのパラメータを取得できます。
構文
DBMS_XDB_CONFIG.GETLISTENERENDPOINT ( endpoint IN NUMBER, host OUT VARCHAR2, port OUT NUMBER, protocol OUT NUMBER);
パラメータ
表199-18 GETLISTENERENDPOINTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
取得するエンド・ポイント。この値は、 |
|
|
リスナーのエンド・ポイントがリスニングするインタフェース。 |
|
|
リスナーのエンド・ポイントがリスニングするポート。 |
|
|
リスナーのエンド・ポイントによって受け入れられた転送プロトコル。 |
199.4.24 GETREMOTEHTTPPORTファンクション
このファンクションは、リモートHTTPポートの値を取得します。
構文
DBMS_XDB_CONFIG.GETREMOTEHTTPPORT RETURN NUMBER;
199.4.25 GETREMOTEHTTPSPORTファンクション
このファンクションは、リモートHTTPSポートの値を取得します。
構文
DBMS_XDB_CONFIG.GETREMOTEHTTPSPORT RETURN NUMBER;
199.4.26 ISGLOBALPORTENABLEDファンクション
このプロシージャは、GlobalPortEnabled設定の値を戻します。
構文
DBMS_XDB_CONFIG.ISGLOBALPORTENABLED RETURN BOOLEAN;
使用上のノート
-
がGlobalPortEnabledTRUEに設定されている場合、このプロシージャはTRUEを戻します。そうでない場合はFALSEを戻します。 -
マルチテナント環境では、CDBルートおよびPDBの両方でこのファンクションを実行できます。
199.4.27 SETFTPPORTプロシージャ
このプロシージャは、FTPポートを新しい値に設定します。
構文
DBMS_XDB_CONFIG.SETFTPPORT( new_port IN NUMBER);
パラメータ
表199-19 SETFTPPORTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
FTPポートが設定される値。 |
199.4.28 SETGLOBALPORTENABLEDプロシージャ
このプロシージャは、Oracle Enterprise Manager Database Express (EM Express)クライアントが、PDB専用のポートを使用するのではなく、セッションに対して単一のポート(グローバル・ポートと呼ばれます)を使用できるようにします。
構文
DBMS_XDB_CONFIG.SETGLOBALPORTENABLED ( isenabled IN BOOLEAN);
パラメータ
表199-20 SETGLOBALPORTENABLEDプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
PDBのデフォルトは |
使用上のノート
-
マルチテナント環境でEM Expressを使用してデータベース・ポートを管理する場合は、
DBMS_XDB_CONFIG.SETGLOBALPORTENABLEDプロシージャを使用します。 -
グローバル・ポートを使用するには、CDBおよびPDBの両方でグローバル・ポートを有効にする必要があります。PDBではデフォルトで有効になっています。CDBでは、CDBルートで
DBMS_XDB_CONFIG.SETGLOBALPORTENABLEDプロシージャを実行する必要があります。 -
DBMS_XDB_CONFIG.SETGLOBALPORTENABLEDをTRUEに設定したら、グローバル・ポートに使用するPDBを指定する必要があります。これを行うには、EM Expressログイン・ページの「コンテナ名」フィールドでPDB名を指定します。たとえば、hr_pdbと入力した場合、EM ExpressのURLはhttp://server_name:5500/hr_pdb/emになります。この例では、CDBルートのポート5500を使用しており、このポートからPDBhr_pdbのEM Expressにメッセージがルーティングされます。ポートには、HTTPまたはHTTPSポートを使用できます。 -
DBMS_XDB_CONFIG.SETGLOBALPORTENABLEDを実行するには、EM Expressログイン・ページで指定したPDBが読取り/書込みモードでオープンしている必要があります。PDBの読取り/書込みモード・ステータスを確認するには、PDBに接続し、V$PDBS動的ビューのOPEN_MODE列を問い合せます。 -
DBMS_XDB_CONFIG.ISGLOBALPORTENABLEDファンクションは、DBMS_XDB_CONFIG.SETGLOBALPORTENABLED設定の値を戻します。 -
XDB_PROTOCOLSロックダウン・プロファイルを使用して、グローバル・ポートのセキュリティを制御できます。
参照:
-
DBMS_XDB_CONFIG.SETGLOBALPORTENABLEDを使用してPDB用のEM Expressを起動する方法の詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。 - ロックダウン・プロファイルの詳細
199.4.29 SETHTTPPORTプロシージャ
このプロシージャは、HTTPポートを新しい値に設定します。
構文
DBMS_XDB_CONFIG.SETHTTPPORT( new_port IN NUMBER);
パラメータ
表199-21 SETHTTPPORTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
HTTPポートが設定される値。 |
199.4.30 SETHTTPCONFIGREALMプロシージャ
このプロシージャはレルム値を変更します。
構文
DBMS_XDB_CONFIG.SETHTTPCONFIGREALM( realm IN VARCHAR2);
パラメータ
表199-22 SETHTTPPORTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
IETFのRFC2617で定義されたレルム。 |
199.4.31 SETHTTPSPORTプロシージャ
このプロシージャは、HTTPSポートを新しい値に設定します。
構文
DBMS_XDB_CONFIG.SETHTTPSPORT( new_port IN NUMBER);
パラメータ
表199-23 SETHTTPSPORTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
HTTPSポートに設定される値。 |
199.4.32 SETLISTENERENDPOINTプロシージャ
このプロシージャは、XML DB HTTPサーバーに対応するリスナーのエンド・ポイントのパラメータを設定します。
このプロシージャでは、HTTPとHTTP2の両方のエンド・ポイントを設定できます。
構文
DBMS_XDB_CONFIG.SETLISTENERENDPOINT ( endpoint IN NUMBER, host IN VARCHAR2, port IN NUMBER, protocol IN NUMBER);
パラメータ
表199-24 SETLISTENERENDPOINTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
設定するエンド・ポイント。この値は、 |
|
|
リスナーのエンド・ポイントがリスニングするインタフェース。この値は、' |
|
|
リスナーのエンド・ポイントがリスニングするポート。 |
|
|
リスナーのエンド・ポイントが受け入れる転送プロトコル。この値は、 |
199.4.33 SETLISTENERLOCALACCESSプロシージャ
このプロシージャは、XML DB HTTPサーバーのすべてのリスナーのエンド・ポイントを、ローカルホスト・インタフェースでのみリスニングするか(l_accessの設定がTRUEの場合)、またはローカルホスト・インタフェースと非ローカルホスト・インタフェースの両方でリスニングするか(l_accessの設定がFALSEの場合)のどちらかに制限します。
構文
DBMS_XDB_CONFIG.SETLISTENERLOCALACCESS ( l_access BOOLEAN);
パラメータ
表199-25 SETLISTENERLOCALACCESSプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
|
199.4.34 SETREMOTEHTTPPORTプロシージャ
このプロシージャは、リモートHTTPポートを新しい値に設定します。
構文
DBMS_XDB_CONFIG.SETREMOTEHTTPPORT( new_port IN NUMBER);
パラメータ
表199-26 SETREMOTEHTTPPORTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
リモートHTTPポートに設定される値。 |
199.4.35 SETREMOTEHTTPSPORTプロシージャ
このプロシージャは、リモートHTTPSポートを新しい値に設定します。
構文
DBMS_XDB_CONFIG.SETREMOTEHTTPSPORT ( new_port IN NUMBER);
パラメータ
表199-27 SETREMOTEHTTPSPORTプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
リモートHTTPSポートに設定される値。 |