以下の図に示す例で、検索業務の変更により、XMLデータの検索が不要となった場合の運用手順を示します。この場合、対象とするXMLグループを削除します。この図は、既存業務ではXMLグループとしてそれぞれ「受注伝票GR」、「発注伝票GR」に属するXMLデータを扱っており、検索業務の変更によりXMLグループ「発注伝票GR」に属するXMLデータ検索が不要となった場合を想定しています。
図3.12 XMLグループの削除
データベース運用の停止
該当データベースに関連する業務アプリケーションを停止します。
定義済みのXMLグループに対して、業務の変更などの理由でXMLグループに属するすべての検索パスに対する検索が必要なくなった場合、XMLグループを削除します。XMLグループは、DROP XMLGROUP文で削除します。
この図の場合、XMLグループ「発注伝票GR」を削除しています。
以下にXMLグループの定義変更の例を示します。
DROP XMLGROUP 発注伝票GR ON 伝票IXDSO ;
データベースの定義情報の保全のため、RDBディクショナリのデータをバックアップします。アーカイブログ運用を行っている場合、この契機のバックアップは必須ではありません。RDBディクショナリのバックアップは、RDBディクショナリの規模やリカバリに要する時間を考慮して、任意の契機で、計画的にバックアップを行ってください。
アーカイブログ運用を行っている場合のバックアップ手順例を以下に示します。
Solaris/Linuxの場合
rdbdmpdic -f dicback@/home/rdb1/backup -e -y
Windowsの場合
rdbdmpdic -f DICBACK@E:\HOME\RDB1\BACKUP -e -y
XMLグループの削除により、削除した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データのインデックスのバックアップ」に関する手順は実施する必要はありません。
データベースの運用前に、データ破壊などの異常時のリカバリに備えて、データベースをバックアップします。
アーカイブログ運用を行っている場合は、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
インデックスのDSIは、ダンプレス機能および同期復元機能で表のDSIからリカバリする場合、バックアップ不要です。しかし、XMLデータのインデックスについては、表のDSIからインデックスを作成するのに、BTREE構造のインデックスと比べて時間がかかるため、インデックスのDSIの退避データを取得する運用を推奨しています。
データベースの運用
停止中の該当データベースに関連する業務アプリケーションと、新規に追加したXMLデータの検索業務アプリケーションを起動します。