132 DBMS_RESCONFIG

DBMS_RESCONFIGパッケージは、リソース構成リストを操作して、リソースのリスナー情報を取得するインタフェースを提供します。

この章のトピックは、次のとおりです:

参照:

リソース構成の詳細は、『Oracle XML DB開発者ガイド』を参照してください。

132.1 DBMS_RESCONFIGの概要

DBMS_RESCONFIGパッケージには、個々のリソースのリソース構成リストおよびリポジトリを管理するためのファンクションおよびプロシージャが含まれています。

132.2 DBMS_RESCONFIGサブプログラムの要約

この表では、DBMS_RESCONFIGパッケージのサブプログラムをリストし、簡単に説明します。

表132-1 DBMS_RESCONFIGパッケージのサブプログラム

サブプログラム 説明

ADDREPOSITORYRESCONFIGプロシージャ

リポジトリの構成リストの特定の場所に、絶対パスで指定されたリソース構成を挿入します。

ADDRESCONFIGプロシージャ

ターゲット・リソースの構成リストの特定の場所に、絶対パスで指定されたリソース構成を挿入します。

APPENDRESCONFIGプロシージャ

rcpathで指定されたリソース構成がターゲット・リソースの構成リストに含まれていない場合は、このリソース構成を追加します。

DELETEREPOSITORYRESCONFIGプロシージャ

リポジトリの構成リストの特定の場所にある構成を削除します。

DELETERESCONFIGプロシージャ

ターゲット・リソースの構成リストの特定の場所にある構成を削除します。I

GETLISTENERSファンクション

特定のリソースに適用できるリスナーのリストを戻します。

GETREPOSITORYRESCONFIGファンクション

リポジトリの構成リストの特定の場所にリソース構成を戻します。

GETREPOSITORYRESCONFIGPATHSファンクション

リポジトリに対して定義されたリソース構成パスのリストを戻します。

GETRESCONFIGファンクション

ターゲット・リソースの構成リストの特定の場所にリソース構成を戻します。

GETRESCONFIGPATHSファンクション

ターゲット・リソースの構成リストで定義されたリソース構成パスのリストを戻します。

PATCHREPOSITORYRESCONFIGLISTプロシージャ

無効な参照をリポジトリ・リソース構成リストから削除し、リポジトリを使用可能にします。

132.2.1 ADDREPOSITORYRESCONFIGプロシージャ

このプロシージャは、リポジトリの構成リストの特定の場所に、絶対パスで指定されたリソース構成を挿入します。現在その位置にある要素(ある場合)および後続の要素を、右に移動します。

構文

DBMS_RESCONFIG.ADDREPOSITORYRESCONFIG(
   rcpath     IN   VARCHAR2, 
   pos        IN   PLS_INTEGER := NULL); 

パラメータ

表132-2 ADDREPOSITORYRESCONFIGファンクションのパラメータ

パラメータ 説明

rcpath

挿入されるリソース構成の絶対パス。rcpathがターゲットの構成リストにすでに存在している場合は、例外が発生します。

pos

新しい構成が挿入される索引。このパラメータが指定されていない場合は、リストの最後に新しい構成が追加されます。索引が範囲外(posが0(ゼロ)より小さいか、posがターゲット・リソースの構成リストのサイズよりも大きい)の場合は、例外が発生します。

使用上のノート

  • rcpathで参照されるドキュメントがXDBResConfig.xsdスキーマに基づいていない場合は、例外が発生します。

  • ユーザーには、挿入されるリソース構成に対するXDBADMINロールおよびREAD権限が必要です。このロールおよび権限がない場合は、エラーが戻されます。

132.2.2 ADDRESCONFIGプロシージャ

このプロシージャは、ターゲット・リソースの構成リストの特定の場所に、絶対パスで指定されたリソース構成を挿入します。現在その位置にある要素(ある場合)および後続の要素を、右に移動します。

構文

DBMS_RESCONFIG.ADDRESCONFIG(
   respath    IN   VARCHAR2, 
   rcpath     IN   VARCHAR2, 
   pos        IN   PLS_INTEGER := NULL); 

パラメータ

表132-3 ADDRESCONFIGファンクションのパラメータ

パラメータ 説明

respath

ターゲット・リソースの絶対パス。

rcpath

挿入されるリソース構成の絶対パス。rcpathがターゲットの構成リストにすでに存在している場合は、例外が発生します。

pos

新しい構成が挿入される索引。このパラメータが指定されていない場合は、リストの最後に新しい構成が追加されます。索引が範囲外(posが0(ゼロ)より小さいか、posがターゲット・リソースの構成リストのサイズよりも大きい)の場合は、例外が発生します。

使用上のノート

  • rcpathで参照されるドキュメントがXDBResConfig.xsdスキーマに基づいていない場合は、例外が発生します。

  • ユーザーには、ターゲット・リソースに対するWRITE-CONFIG権限、および挿入されるリソース構成に対する読取り権限が必要です。この権限がない場合は、エラーが戻されます。

132.2.3 APPENDRESCONFIGプロシージャ

このプロシージャは、rcpathで指定されたリソース構成がターゲット・リソースの構成リストに含まれていない場合に、このリソース構成を追加します。

構文

DBMS_RESCONFIG.ADDRESCONFIG(
   respath       IN   VARCHAR2, 
   rcpath        IN   VARCHAR2, 
   appendOption  IN   PLS_INTEGER); 

パラメータ

表132-4 ADDRESCONFIGファンクションのパラメータ

パラメータ 説明

respath

ターゲット・リソースの絶対パス。

rcpath

ターゲットの構成リストの最後に追加されるリソース構成の絶対パス。rcpathがリストにすでに存在している場合は、何も追加されません。

appendOption

APPEND_RESOURCEまたはAPPEND_RECURSIVEAPPEND_RESOURCEを指定すると、ターゲット・リソースのみが影響を受けます。APPEND_RECURSIVEを指定すると、ターゲット・リソースおよびそのすべての子が影響を受けます。

使用上のノート

  • rcpathで参照されるドキュメントがXDBResConfig.xsdスキーマに基づいていない場合は、例外が発生します。

  • ユーザーには、影響を受けるすべてのリソースに対するWRITE-CONFIG権限、および挿入されるリソース構成に対する読取り権限が必要です。この権限がない場合は、エラーが戻されます。

132.2.4 DELETEREPOSITORYRESCONFIGプロシージャ

このプロシージャは、リポジトリの構成リストの特定の場所にある構成を削除します。後続の要素を左に移動します。

構文

DBMS_RESCONFIG.DELETEREPOSITORYRESCONFIG(
   pos           IN   PLS_INTEGER);

パラメータ

表132-5 DELETEREPOSITORYRESCONFIGファンクションのパラメータ

パラメータ 説明

pos

削除される構成の索引。索引が範囲外(posが0(ゼロ)より小さいか、posがターゲット・リソースの構成リストのサイズよりも大きい)の場合は、例外が発生します。

使用上のノート

  • ユーザーには、この操作を行うためのXDBADMINロールが必要です。

  • この文は、DDL文と同様に処理されます。つまり、この文の前後で暗黙的にコミットされます。

132.2.5 DELETERESCONFIGプロシージャ

このプロシージャは、ターゲット・リソースの構成リストの特定の場所にある構成を削除します。後続の要素を左に移動します。ユーザーは、再帰的な削除に対するオーバーロードを使用できます。

構文

DBMS_RESCONFIG.DELETERESCONFIG(
   respath       IN   VARCHAR2, 
   pos           IN   PLS_INTEGER);
DBMS_RESCONFIG.DELETERESCONFIG(
   respath        IN  VARCHAR2,
   rcpath         IN  VARCHAR2, 
   deleteOption   IN  PLS_INTEGER);

パラメータ

表132-6 DELETERESCONFIGプロシージャのパラメータ

パラメータ 説明

respath

ターゲット・リソースの絶対パス。

pos

削除される構成の索引。索引が範囲外(posが0(ゼロ)より小さいか、posがターゲット・リソースの構成リストのサイズよりも大きい)の場合は、例外が発生します。

rcpath

リストに存在する場合に削除されるリソース構成の絶対パス。

deleteOption

DELETE_RESOURCEまたはDELETE_RECURSIVEDELETE_RESOURCEを指定すると、ターゲット・リソースの構成リストのみが影響を受けます。DELETE_RECURSIVEを指定すると、ターゲット・リソースおよびそのすべての子の構成リストが影響を受けます。

使用上のノート

ユーザーには、この操作を行うためにターゲット・リソースに対するWRITE-CONFIG権限が必要です。

132.2.6 GETLISTENERSファンクション

このファンクションは、特定のリソースに適用できるリスナーのリストを戻します。

このファンクションによって戻される値は、XDBResconfig.xsdスキーマの、<event-listeners>要素を含むXML文書です。この文書には、リポジトリ・レベルのリスナーなど、ターゲット・リソースに適用できるすべてのリスナーが含まれています。ユーザーは、戻されるXML文書から、EXTRACT演算子を使用して固有のイベントに対して定義されたリスナーを取得できます。

構文

DBMS_RESCONFIG.GETLISTENERS(
   path    IN   VARCHAR2)
 RETURN XMLTYPE; 

パラメータ

表132-7 GETLISTENERSファンクションのパラメータ

パラメータ 説明

path

ターゲット・リソースの絶対パス。

使用上のノート

ユーザーには、リポジトリおよびターゲット・リソースによって参照されるすべてのリソース構成に対するアクセス権限が必要です。この権限がない場合は、エラーが戻されます。

132.2.7 GETREPOSITORYRESCONFIGファンクション

このファンクションは、リポジトリの構成リストの指定された場所にリソース構成を戻します。

構文

DBMS_RESCONFIG.GETREPOSITORYRESCONFIG(
   pos    IN   PLS_INTEGER)
 RETURN XMLTYPE; 

パラメータ

表132-8 GETREPOSITORYRESCONFIGファンクションのパラメータ

パラメータ 説明

pos

戻される要素の索引。索引が範囲外(posが0(ゼロ)より小さいか、posがリポジトリの構成リストのサイズ以上)の場合は、例外が発生します。

使用上のノート

ユーザーには、要求されたリソース構成に対する読取り権限が必要です。この権限がない場合は、エラーが戻されます。

132.2.8 GETREPOSITORYRESCONFIGPATHSファンクション

このファンクションは、リポジトリに対して定義されたリソース構成パスのリストを戻します。

構文

DBMS_RESCONFIG.GETREPOSITORYRESCONFIGPATHS
 RETURN XDB$STRING_LIST_T; 

使用上のノート

ユーザーは、参照されているすべてのリソース構成にアクセスできる必要があります。アクセスできない場合は、エラーが戻されます。

132.2.9 GETRESCONFIGファンクション

このファンクションは、ターゲット・リソースの構成リストの特定の場所にリソース構成を戻します。

構文

DBMS_RESCONFIG.GETRESCONFIG(
   respath IN VARCHAR2,  
   pos IN PLS_INTEGER)
 RETURN XMLTYPE; 

パラメータ

表132-9 GETRESCONFIGファンクションのパラメータ

パラメータ 説明

respath

ターゲット・リソースの絶対パス。

pos

戻される要素の索引。索引が範囲外(posが0(ゼロ)より小さいか、posがターゲット・リソースの構成リストのサイズよりも大きい)の場合は、例外が発生します。

使用上のノート

ユーザーには、要求されたリソース構成に対する読取り権限が必要です。この権限がない場合は、エラーが戻されます。

132.2.10 GETRESCONFIGPATHSファンクション

このファンクションは、ターゲット・リソースの構成リストで定義されたリソース構成パスのリストを戻します。

構文

DBMS_RESCONFIG.GETRESCONFIGPATHS(
   respath IN VARCHAR2)  
 RETURN XDB$STRING_LIST_T; 

パラメータ

表132-10 GETRESCONFIGPATHSファンクションのパラメータ

パラメータ 説明

respath

ターゲット・リソースの絶対パス。

使用上のノート

ユーザーは、参照されているすべてのリソース構成にアクセスできる必要があります。アクセスできない場合は、エラーが戻されます。

132.2.11 PATCHREPOSITORYRESCONFIGLISTプロシージャ

このプロシージャは、無効な参照をリポジトリ・リソース構成リストから削除し、リポジトリを使用可能にします。

通常の状況であれば、リポジトリ・リソース構成リストの一部である場合、リソース構成リソースの削除は実行できません。なんらかの理由で、リポジトリ・リソース構成リストの一部である、リソース構成リソースの削除に成功した場合、リポジトリ操作の結果は「参照先がない参照」エラーになります。このプロシージャは、これらの無効な参照を削除します。

このプロシージャは、SYSとして実行する必要があります。

構文

DBMS_RESCONFIG.PATCHREPOSITORYRESCONFIGLIST;