以下の図に示す例で、既存の検索業務で新しく検索パスの追加が必要となった場合の運用手順を説明します。
新しく検索パスの追加が必要となるのは、以下の2つの場合が想定されます。
データベースの運用の停止
該当データベースに関連する業務アプリケーションを停止します。
定義済みのXMLグループに対して、新しい検索パスを追加するためにXMLグループの定義を変更します。XMLグループの定義は、ALTER XMLGROUP文で変更します。
図“a”の場合、以下の検索パスを新しく追加しています。
/受注伝票/日付情報/納入日
同様に図“b”の場合、以下の2つの検索パスを新しく追加しています。
/受注伝票/商品/属性/CPU
/受注伝票/商品/属性/DISK
以下に、それぞれの場合のXMLグループの定義変更の例を示します。
図“a”の場合
ALTER XMLGROUP 受注伝票GR ON 伝票IXDSO ADD PATH '/受注伝票/日付情報/納入日' DATE ;
図“b”の場合
ALTER XMLGROUP 受注伝票GR ON 伝票IXDSO ADD PATH '/受注伝票/商品*/属性/CPU' STRING (10); ALTER XMLGROUP 受注伝票GR ON 伝票IXDSO ADD PATH '/受注伝票/商品*/属性/DISK' STRING (10);
データベースの定義情報の保全のために、RDBディクショナリのデータをバックアップします。アーカイブログ運用を行っている場合、この契機のバックアップは必須ではありません。RDBディクショナリのバックアップは、RDBディクショナリの規模やリカバリに要する時間を考慮して、任意の契機で、計画的にバックアップを行ってください。
アーカイブログ運用を行っている場合のバックアップ手順例を以下に示します。
Solaris/Linuxの場合
rdbdmpdic -f dicback@/home/rdb1/backup -e -y
Windowsの場合
rdbdmpdic -f DICBACK@E:\HOME\RDB1\BACKUP -e -y
表に格納されているXMLデータから、追加した検索パスのインデックスを作成します。検索パスのインデックスは、rdbsloaderコマンドのxオプションおよびgオプションにより作成します。
以下にrdbsloaderコマンドの使用例を示します。
rdbsloader -x -i 伝票管理DB.伝票IXDSI1 -g 受注伝票GR
ここで、追加した検索パスをもつXMLデータが表には格納されていない場合があります。
図“a”の場合のように、既存のXMLデータに対して新しく検索パスを追加する場合、表に格納されているXMLデータには追加した検索パスが存在します。
一方、図“b”の場合のように、格納するXMLデータの構造変更に伴い検索パスを追加する場合、既存のXMLデータには検索パスが含まれていません。この場合、rdbsloaderコマンドのzオプションを使用することで、検索パスを作成することができます。
以下にrdbsloaderコマンドの使用例を示します。
rdbsloader -x -i 伝票管理DB.伝票IXDSI1 -g 受注伝票GR -z IGNORE_STORED_DATA
データベースの運用前に、データ破壊などの異常時のリカバリに備えて、データベースをバックアップします。
インデックスの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データの検索業務アプリケーションを起動します。