Hitachi

HiRDB データ連動拡張機能 HiRDB Datareplicator Extension Version 10


8.1.1 抽出側システムでエラーが発生した場合の対処(Oracleの場合)

抽出側システムがOracleの場合,抽出側でエラーが発生した場合の障害対策について説明します。ここでは,次の場合について説明します。

〈この項の構成〉

(1) 抽出定義プリプロセスファイルの作成時に,トリガ作成処理でエラーが発生した場合

hdeprepOコマンドで抽出定義プリプロセスファイルを作成するときに,トリガ作成処理でエラーが発生した場合の,対処方法を次に示します。

  1. KFRB00060-Eメッセージの詳細情報に出力されている表名を確認します。

  2. hderesstateOコマンドを実行して,1.で確認した表に該当するトリガ名を取得します。

  3. データ連動リソース管理ユーザとしてOracleに接続し,SQL*Plusで次のSQLを実行します。

    alter trigger トリガ名 compile;

    このSQLを実行すると,コンパイルエラーが発生します。

  4. SQL*Plusで次のSQLを実行します。

    show errors;

    このコマンドを実行すると,トリガ作成処理で発生したエラーの詳細要因メッセージが出力されるので,このメッセージに従って対処してください。

(2) 抽出側DBのトリガ実行処理でエラーが発生した場合

抽出側DBがOracleの場合は,更新APによる更新処理の延長で,トリガによる更新情報の取得及びアドバンストキューへの格納が実行されます。

このため,トリガ実行処理でエラーが発生した場合は,本来のDBに対する更新処理も無効となり,データ連動だけではなく本来の業務に対しても影響を及ぼします。

このエラーに対する対処として,次の二つの方法があります。

(a) データ連動を打ち切って本来の業務を優先させる方法

データ連動を打ち切って本来の業務を優先させる場合の対処方法を,次に示します。

  1. 抽出側Datareplicator及び抽出側Datareplicator Extensionを停止します。

  2. DROP USER…CASCADEを実行して,データ連動リソースを削除します。

  3. 更新APを再実行します。

なお,この方法で対処した場合は,データ連動が打ち切られて,抽出側DBと反映側DBに不整合が発生します。抽出側DBと反映側DBに不整合が発生した場合の対処については,「(5)抽出側DBと反映側DBに不整合が発生した場合」を参照してください。

(b) データ連動の継続を優先させる方法

アドバンストキューが満杯であるなど,回復の見込みがあるエラーであり,かつ回復まで業務を中断できる場合は,エラーを回復した後に更新APを再実行してください。

(3) 抽出側DBがダウンした場合

抽出側DBがOracleの場合,抽出側DBがダウンしたときは抽出側Datareplicator Extensionの抽出プロセスもDEQUEUEの実行時にエラー終了します。

抽出側DBがダウンした場合の,対処方法を次に示します。

  1. 抽出対象Oracleがダウンした要因を取り除きます。

  2. 抽出対象Oracleを起動します。

  3. 抽出側Datareplicator及び抽出側Datareplicator Extensionを起動します。

なお,抽出処理の同期を制御することで,抽出処理の整合性を保証します。

(4) 抽出プロセスでエラーが発生した場合

抽出プロセスで発生するエラーは,次の二つに分けられます。

エラーの種類

エラーの内容

データ連動を継続できるエラー

  • メモリ不足や抽出側システムが起動していないなど,ユーザがエラー要因を解消できるエラー

  • 例外データを検知したなど,エラーが発生してもDatareplicator Extensionにデータ連動を継続するのための機能があるエラー

データ連動を継続できないエラー

不正なデータを検知したなど,ユーザがエラー要因を解消できないエラー

データ連動を継続できるエラーに対しては,エラー要因を解消した後に抽出側Datareplicator及び抽出側Datareplicator Extensionを再起動することで,データ連動を再開できます。また,抽出処理の同期を制御することで,抽出処理の整合性を保証します。

データ連動を継続できないエラーに対しては,抽出側DBと反映側DBに不整合が発生する場合があります。抽出側DBと反映側DBに不整合が発生した場合の対処については,「(5)抽出側DBと反映側DBに不整合が発生した場合」を参照してください。

(5) 抽出側DBと反映側DBに不整合が発生した場合

抽出側システムでの障害や不正な運用などによって,抽出側DBと反映側DBに不整合が発生した場合の対処方法を次に示します。

  1. HiRDB Dataextractorで,抽出側DBと反映側DBとの不整合を修正します。

  2. 反映側システムのデータ連動の環境を初期化します。

  3. 抽出側システムのデータ連動の環境を初期化します。

  4. 抽出定義プリプロセスファイルを作成します。

  5. 反映側Datareplicator及び反映側Datareplicator Extensionを起動します。

  6. 抽出側Datareplicator及び抽出側Datareplicator Extensionを起動します。