検索業務の初期の設計で定義した検索パスが、不要となった場合の削除手順例を以下に示します。
図3.10 検索パスの削除
データベース運用の停止
該当データベースに関連する業務アプリケーションを停止します。
定義済みのXMLグループに対して、必要のなくなった検索パスを削除するためにXMLグループの定義を変更します。XMLグループの定義は、ALTER XMLGROUP文で変更します。
この図では、以下の検索パスを削除しています。
/受注伝票/受注先/社名
以下にXMLグループの定義変更の例を示します。
ALTER XMLGROUP 受注伝票GR ON 伝票IXDSO DROP PATH '/受注伝票/受注先/社名' ;
データベースの定義情報の保全のために、RDBディクショナリのデータをバックアップします。アーカイブログ運用を行っている場合、この契機のバックアップは必須ではありません。RDBディクショナリのバックアップは、RDBディクショナリの規模やリカバリに要する時間を考慮して、任意の契機で、計画的にバックアップを行ってください。
以下にバックアップ手順例を示します。
Solaris/Linuxの場合
rdbdmpdic -f dicback@/home/rdb1/backup -e -y
Windowsの場合
rdbdmpdic -f DICBACK@E:\HOME\RDB1\BACKUP -e -y
XMLグループの定義変更により、削除した検索パスに対して以降の検索はできなくなります。ただし、対象の検索パスのインデックスに対応するDSI内の物理的な領域は解放されていません。DSI内の物理的な領域は、rdbgcdsiコマンドにより任意に解放できます。解放された領域は、別の検索パスのインデックスのための領域として使用されます。
以下にrdbgcdsiコマンドの使用例を示します。
Solaris/Linuxの場合
rdbrtr -i 伝票管理DB.伝票IXDSI1 -rrw rdbrtr -i 伝票管理DB.伝票表DSI1 -rrw rdbgcdsi -G -i 伝票管理DB.伝票IXDSI1 -w /tmp -u /home/testdir rdbrls -i 伝票管理DB.伝票IXDSI1 -rrw rdbrls -i 伝票管理DB.伝票表DSI1 -rrw
Windowsの場合
rdbrtr -i 伝票管理DB.伝票IXDSI1 -rrw rdbrtr -i 伝票管理DB.伝票表DSI1 -rrw rdbgcdsi -G -i 伝票管理DB.伝票IXDSI1 -w E:\TMP -u E:\USERS\DEFAULT rdbrls -i 伝票管理DB.伝票IXDSI1 -rrw rdbrls -i 伝票管理DB.伝票表DSI1 -rrw
ここで、rdbgcdsiコマンドによりDSI内の物理的な領域を解放しない場合は、以降の運用手順に示す「データベースのデータ退避」および「XMLデータのインデックスのバックアップ」に関する手順は実施する必要はありません。
データベースの運用前に、データ破壊などの異常時のリカバリに備えて、データベースをバックアップします。
インデックスのDSIは、ダンプレス機能および同期復元機能で表のDSIからリカバリする場合、バックアップ不要ですが、XMLデータのインデックスについては、表のDSIからインデックスを作成するのに、BTREE構造のインデックスと比べて時間がかかるため、インデックスのDSIの退避データを取得する運用を推奨しています。
この場合は、XMLデータのインデックスのDSIだけをバックアップしてください。以下にバックアップ手順例を示します。
Solaris/Linuxの場合
rdbdmp -i 伝票管理DB.伝票IXDSI1 -f ixdsibak1@/home/rdb1/backup -e -y
Windowsの場合
rdbdmp -i 伝票管理DB.伝票IXDSI1 -f IXDSIBAK1@E:\HOME\RDB1\BACKUP -e -y
データベースの運用
停止中の該当データベースに関連する業務アプリケーションと、新規に追加したXMLデータの検索業務アプリケーションを起動します。