8.1.1 抽出側システムでエラーが発生した場合の対処(Oracleの場合)
抽出側システムがOracleの場合,抽出側でエラーが発生した場合の障害対策について説明します。ここでは,次の場合について説明します。
-
抽出定義プリプロセスファイルの作成時に,トリガ作成処理でエラーが発生した場合
-
抽出側DBのトリガ実行処理でエラーが発生した場合
-
抽出側DBがダウンした場合
-
抽出プロセスでエラーが発生した場合
-
抽出側DBと反映側DBに不整合が発生した場合
- 〈この項の構成〉
(1) 抽出定義プリプロセスファイルの作成時に,トリガ作成処理でエラーが発生した場合
hdeprepOコマンドで抽出定義プリプロセスファイルを作成するときに,トリガ作成処理でエラーが発生した場合の,対処方法を次に示します。
-
KFRB00060-Eメッセージの詳細情報に出力されている表名を確認します。
-
hderesstateOコマンドを実行して,1.で確認した表に該当するトリガ名を取得します。
-
データ連動リソース管理ユーザとしてOracleに接続し,SQL*Plusで次のSQLを実行します。
alter trigger トリガ名 compile;
このSQLを実行すると,コンパイルエラーが発生します。
-
SQL*Plusで次のSQLを実行します。
show errors;
このコマンドを実行すると,トリガ作成処理で発生したエラーの詳細要因メッセージが出力されるので,このメッセージに従って対処してください。
(2) 抽出側DBのトリガ実行処理でエラーが発生した場合
抽出側DBがOracleの場合は,更新APによる更新処理の延長で,トリガによる更新情報の取得及びアドバンストキューへの格納が実行されます。
このため,トリガ実行処理でエラーが発生した場合は,本来のDBに対する更新処理も無効となり,データ連動だけではなく本来の業務に対しても影響を及ぼします。
このエラーに対する対処として,次の二つの方法があります。
-
データ連動を打ち切って,本来の業務を優先させる方法
-
データ連動の継続を優先させる方法
(a) データ連動を打ち切って本来の業務を優先させる方法
データ連動を打ち切って本来の業務を優先させる場合の対処方法を,次に示します。
-
抽出側Datareplicator及び抽出側Datareplicator Extensionを停止します。
-
DROP USER…CASCADEを実行して,データ連動リソースを削除します。
-
更新APを再実行します。
なお,この方法で対処した場合は,データ連動が打ち切られて,抽出側DBと反映側DBに不整合が発生します。抽出側DBと反映側DBに不整合が発生した場合の対処については,「(5)抽出側DBと反映側DBに不整合が発生した場合」を参照してください。
(b) データ連動の継続を優先させる方法
アドバンストキューが満杯であるなど,回復の見込みがあるエラーであり,かつ回復まで業務を中断できる場合は,エラーを回復した後に更新APを再実行してください。
(3) 抽出側DBがダウンした場合
抽出側DBがOracleの場合,抽出側DBがダウンしたときは抽出側Datareplicator Extensionの抽出プロセスもDEQUEUEの実行時にエラー終了します。
抽出側DBがダウンした場合の,対処方法を次に示します。
-
抽出対象Oracleがダウンした要因を取り除きます。
-
抽出対象Oracleを起動します。
-
抽出側Datareplicator及び抽出側Datareplicator Extensionを起動します。
なお,抽出処理の同期を制御することで,抽出処理の整合性を保証します。
(4) 抽出プロセスでエラーが発生した場合
抽出プロセスで発生するエラーは,次の二つに分けられます。
エラーの種類 |
エラーの内容 |
---|---|
データ連動を継続できるエラー |
|
データ連動を継続できないエラー |
不正なデータを検知したなど,ユーザがエラー要因を解消できないエラー |
データ連動を継続できるエラーに対しては,エラー要因を解消した後に抽出側Datareplicator及び抽出側Datareplicator Extensionを再起動することで,データ連動を再開できます。また,抽出処理の同期を制御することで,抽出処理の整合性を保証します。
データ連動を継続できないエラーに対しては,抽出側DBと反映側DBに不整合が発生する場合があります。抽出側DBと反映側DBに不整合が発生した場合の対処については,「(5)抽出側DBと反映側DBに不整合が発生した場合」を参照してください。
(5) 抽出側DBと反映側DBに不整合が発生した場合
抽出側システムでの障害や不正な運用などによって,抽出側DBと反映側DBに不整合が発生した場合の対処方法を次に示します。
-
HiRDB Dataextractorで,抽出側DBと反映側DBとの不整合を修正します。
-
反映側システムのデータ連動の環境を初期化します。
-
抽出側システムのデータ連動の環境を初期化します。
-
抽出定義プリプロセスファイルを作成します。
-
反映側Datareplicator及び反映側Datareplicator Extensionを起動します。
-
抽出側Datareplicator及び抽出側Datareplicator Extensionを起動します。