以下の図に示す例で、新しい検索業務の追加により、すでに格納しているXMLデータとは別の種類のXMLデータを格納し、検索対象とする場合の運用手順を示します。この場合、XMLグループを追加します。この図では、既存業務ではXMLグループとして「受注伝票GR」に属するXMLデータを扱っており、新規にXMLグループとして「発注伝票GR」に属するXMLデータも扱う場合を想定しています。なお、2つの種類のXMLデータは、同一表に格納されることとしています。
図3.11 XMLグループの追加
データベースの運用の停止
該当データベースに関連する業務アプリケーションを停止します。
追加するXMLグループを定義します。XMLグループは、CREATE XMLGROUP文で定義します。なお、ここでは、すでに別のXMLグループが定義済みであるため、XMLデータのインデックスのDSOおよびDSIはすでに定義されています。追加するXMLグループは定義されているDSOおよびDSIを使用します。
“図3.11 XMLグループの追加”の場合、「受注伝票GR」というXMLグループがすでに定義されており、新しく「発注伝票GR」というXMLグループを定義しています。
以下に、XMLグループの追加の例を示します。
CREATE XMLGROUP 発注伝票GR ON 伝票IXDSO ( '/発注伝票/伝票番号' NUMBER(10,0), '/発注伝票/発注元/コード' NUMBER(10,0), '/発注伝票/商品*/商品名' STRING(20) ) RULE (伝票種別) = ('2');
データベースの定義情報の保全のために、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グループに属する検索パスのインデックスを作成します。検索パスのインデックスは、rdbsloaderコマンドのxオプションおよびgオプションにより作成します。
以下にrdbsloaderコマンドの使用例を示します。
rdbsloader -x -i 伝票管理DB.伝票IXDSI1 -g 発注伝票GR
ここで、追加したXMLグループに対応するXMLデータが表には格納されていない場合があります。たとえば、“図3.11 XMLグループの追加”の場合、表には「受注伝票GR」に対応するXMLデータだけを格納されており、追加した「発注伝票GR」に対応する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データの検索業務アプリケーションを起動します。