DBMS_XMLINDEXパッケージでは、非同期の索引付けを実装するインタフェースが提供されています。
|
関連項目: XMLIndexの詳細は、『Oracle XML DB開発者ガイド』を参照してください。 |
この章では、次の項目について説明します。
概要
セキュリティ・モデル
次の表に、このパッケージのサブプログラムをアルファベット順に示します。
表193-1 DBMS_XMLINDEXパッケージのサブプログラム
| サブプログラム | 説明 |
|---|---|
|
|
|
|
|
|
|
|
指定したパラメータ識別子に関連付けられている |
|
|
指定したパラメータ名に関連付けられている |
|
|
|
|
|
パラメータ文字列と |
|
|
索引を手動で同期化します。 |
このプロシージャは、XMLIndexの記憶表であるPATH TABLEのVALUE列に、日付値の2次索引を作成します。プロシージャの2番目の形式を使用すると、date_index_clauseを空の文字列に設定できます。
構文
DBMS_XMLINDEX.CREATEDATEINDEX ( xml_index_schema IN VARCHAR2, xml_index_name IN VARCHAR2, date_index_name IN VARCHAR2, xmltypename IN VARCHAR2, date_index_clause IN VARCHAR2); DBMS_XMLINDEX.CREATEDATEINDEX ( xml_index_schema IN VARCHAR2 xml_index_name IN VARCHAR2, date_index_name IN VARCHAR2, xmltypename IN VARCHAR2);
パラメータ
表193-2 CREATEDATEINDEXプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
パス表の |
|
|
作成時に日付索引に適用するSTORAGE句。日付索引を作成するために |
このプロシージャは、XMLIndexの記憶表であるPATH TABLEのVALUE列に、数値の2次索引を作成します。
構文
DBMS_XMLINDEX.CREATENUMBERINDEX ( xml_index_schema IN VARCHAR2, xml_index_name IN VARCHAR2, num_index_name IN VARCHAR2, num_index_clause IN VARCHAR2, xmltypename IN VARCHAR2);
パラメータ
表193-3 CREATENUMBERINDEXプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
作成時に数値索引に適用するSTORAGE句。数値索引を作成するために |
|
|
パス表の |
このプロシージャのプロセスは、XMLIndexでのNONBLOCKING ALTER INDEX ADD_GROUP/ADD_COLUMN操作の完了に必要なDMLを実行します。
構文
DBMS_XMLINDEX.PROCESS_PENDING ( xml_index_schema IN VARCHAR2, xml_index_name IN VARCHAR2, pending_row_count OUT BINARY_INTEGER, error_row_count OUT BINARY_INTEGER);
使用上の注意
このプロシージャは、ロックされた行とエラーのために索引メンテナンスが失敗した行をスキップしながら、必要なすべての行の索引付けを小さいバッチで繰り返し試行します。したがって、保留中の行がすべて処理されるまで、XMLIndexに対して複数回実行する必要がある場合があります。保留中の行がすべて処理されたら、NONBLOCKING ALTER INDEX OPERATIONを完了できます。
何度か試みた後でも保留中のすべての行が処理できない場合は、SYS_AIXSXI_######_PENDINGTABで未処理の行を調べた後、SYS_AIXSXI_#####_ERRORTABでエラーを確認して、ロックおよびエラーの問題を手動でトリアージする必要があります。行とエラーを追跡しておくと、問題のトリアージを行う場合に役立ちます。
このプロシージャは、パラメータ識別子とXMLIndexパラメータ文字列のペアをXDBに登録します。
例
DBMS_XMLINDEX.REGISTERPARAMETER (
'myIndexParam',
'PATH TABLE po_ptab
PATH ID INDEX po_pidx
ORDER KEY INDEX po_oidx
VALUE INDEX po_vidx
PATHS(NAMESPACE MAPPING(xmlns:p="http://www.example.com/IPO"))
GROUP MASTERGROUP XMLTABLE PO_TAB
(''/p:PurchaseOrder''
COLUMNS
REFERENCE VARCHAR2(30) PATH ''p:Reference'',
REQUESTOR VARCHAR2(30) PATH ''p:Requestor'' )
GROUP ITEMGROUP XMLTABLE ITEMGROUP_TAB
(''/p:PurchaseOrder/p:LineItems/p:LineItem''
COLUMNS
LINENUMBER NUMBER(38) PATH ''@p:ItemNumber'',
QUANTITY NUMBER(38) PATH ''@p:Quantity'',
DESCRIPTION VARCHAR2(256) PATH ''p:Description'''));