39 DBMS_CSX_ADMIN

DBMS_CSX_ADMINパッケージは、バイナリXMLデータを含む表領域を移動する場合に設定をカスタマイズするインタフェースを提供します。

この章の内容は次のとおりです。

39.1 DBMS_CSX_ADMINの概要

このパッケージをDBAで使用すると、バイナリXMLデータを含む表領域を移動する場合に設定をカスタマイズできます。トランスポータブル表領域のジョブを実行するには、このパッケージを使用する必要はありません。

デフォルトでは、すべてのバイナリXML表に、デフォルトのトークン表の設定が使用されますが、これは移動中にターゲット・データベースにレプリケートされます。トークン表の設定を大量に転送するコストを回避するため、DBAでは、特定の表領域にトークン表の設定を新しく登録することも選択できます。このパッケージでは、トークン表の設定を登録および参照するためのルーチンが提供されています。

39.2 DBMS_CSX_ADMINのセキュリティ・モデル

DBMS_CSX_ADMINパッケージは、XDBが所有しているため、SYSまたはXDBによって作成される必要があります。EXECUTE権限は、SYSXDBまたはDBAに付与されます。このパッケージ内のサブプログラムは、現行のユーザーの権限を使用して実行されます。

39.3 DBMS_CSX_ADMINの定数

DBMS_CSX_ADMINパッケージでは、複数の定数が使用されます。

これらについては次の表で説明します。

表39-1 DBMS_CSX_ADMINの定数

名前 タイプ 説明

DEFAULT_LEVEL

BINARY_INTEGER

0

デフォルトのトークン表。

TAB_LEVEL

BINARY_INTEGER

1

表(表領域ではなく)に関連付けられているトークン表の設定。

TBS_LEVEL

BINARY_INTEGER

2

表領域に関連付けられているトークン表の設定。

NO_CREATE

BINARY_INTEGER

0

特定の表/表領域に関連付けられたトークン表がすでに存在します。

NO_INDEXES

BINARY_INTEGER

1

トークン表の新しい設定には索引を作成しません。

WITH_INDEXES

BINARY_INTEGER

2

トークン表に索引を作成します。

DEFAULT_TOKS

BINARY_INTEGER

0

デフォルトのトークン・マッピングをトークン表に事前に移入します。

NO_DEFAULT_TOKS

BINARY_INTEGER

1

デフォルトのトークン・マッピングをトークン表に事前に移入しません。

39.4 DBMS_CSX_ADMINサブプログラムの要約

この表は、DBMS_CSX_ADMINパッケージのサブプログラムについて説明しています。

表39-2 DBMS_CSX_ADMINパッケージのサブプログラム

サブプログラム 説明

GETTOKENTABLEINFOプロシージャおよびファンクション

指定した表のトークン・マッピングが設定されたトークン表のGUIDを戻します。

GETTOKENTABLEINFOBYTABLESPACEプロシージャ

指定した表領域のGUIDおよびトークン表の名前を戻します。

NAMESPACEIDTABLEファンクション

デフォルトのnamespace-IDトークン表を戻します。

PATHIDTABLEファンクション

デフォルトのpath-IDトークン表を戻します。

QNAMEIDTABLEファンクション

デフォルトのqname-IDトークン表を戻します。

39.4.1 GETTOKENTABLEINFOプロシージャおよびファンクション

このプロシージャはオーバーロードされています。各バージョンの機能と構文宣言を次に示します。

表の名前および所有者を指定すると、プロシージャの1番目のオーバーロードで、この表のトークン・マッピングが存在するトークン表設定のグローバルな一意の識別子(GUID)が戻されます。また、このプロシージャでは、トークン表の名前、およびトークン表の設定がデフォルトであるかどうかも戻されます。

表のオブジェクト番号を指定すると、プロシージャの2番目のオーバーロードで、表に使用されるトークン表の設定のGUID、およびこれがデフォルトのトークン表の設定かどうかが戻されます。

構文

DBMS_CSX_ADMIN.GETTOKENTABLEINFO  (
   ownername      IN   VARCHAR2,
   tablename      IN   VARCHAR2,
   guid           OUT  RAW,
   qnametable     OUT  VARCHAR2,
   nmspctable     OUT  VARCHAR2,
   level          OUT  NUMBER,
   tabno          OUT  NUMBER);
DBMS_CSX_ADMIN.GETTOKENTABLEINFO  (
   tabno          IN   NUMBER,
   guid           OUT  RAW);
 RETURN BOOLEAN;

パラメータ

表39-3 GETTOKENTABLEINFOプロシージャおよびファンクションのパラメータ

パラメータ 説明

ownername

表の所有者

tablename

表の名前

guid

指定した表で使用されるトークン表の設定のGUID。

qnametable

新しい設定でのqname-IDテーブルの名前。

nmspctable

新しい設定でのnamespace-IDテーブルの名前。

level

デフォルトのトークン表の設定の場合はDEFAULT_LEVEL、指定した表と同じ表領域のすべての表で、同じトークン表の設定が使用される場合はTBS_LEVEL、その他の場合はTAB_LEVEL

tabno

表オブジェクト番号。

39.4.2 GETTOKENTABLEINFOBYTABLESPACEプロシージャ

このプロシージャでは、表領域番号を指定すると、この表領域のGUIDおよびトークン表の名前が戻されます。

構文

DBMS_CSX_ADMIN.GETTOKENTABLEINFOBYTABLESPACE  (
   tsname          IN   VARCHAR2,
   tablespaceno    IN   NUMBER,
   guid            OUT  RAW,
   qnametable      OUT  VARCHAR2,
   nmspctable      OUT  VARCHAR2,
   isdefault       OUT  BOOLEAN,
   containTokTab   OUT  BOOLEAN);

パラメータ

表39-4 GETTOKENTABLEINFOBYTABLESPACEプロシージャのパラメータ

パラメータ 説明

tsname

表領域名。

tablespaceno

表領域番号。

guid

指定した表領域(存在する場合)に対応するトークン表の設定のGUID。

qnametable

qname-ID表の名前。

nmspctable

namespace-ID表の名前。

isdefault

トークン表がデフォルトの場合はTRUE

containTokTab

表領域に独自のトークン表の設定が含まれている場合はTRUE

39.4.3 NAMESPACEIDTABLEファンクション

このプロシージャは、デフォルトのnamespace-IDトークン表を戻します。

構文

DBMS_CSX_ADMIN.NAMESPACEIDTABLE 
  RETURN VARCHAR2;

39.4.4 PATHIDTABLEファンクション

このプロシージャは、デフォルトのpath-IDトークン表を戻します。このプロシージャは、XML索引を持つXML表への問合せに対してEXPLAIN PLANを実行する前に、デフォルトのpath-IDトークン表への権限をユーザーに付与するために使用されます。

構文

DBMS_CSX_ADMIN.PATHIDTABLE 
  RETURN VARCHAR2;

39.4.5 QNAMEIDTABLEファンクション

このプロシージャは、デフォルトのqname-IDトークン表を戻します。

構文

DBMS_CSX_ADMIN.QNAMEIDTABLE 
  RETURN VARCHAR2;