8.1.2 抽出側システムでエラーが発生した場合の対処(SQL Serverの場合)
抽出側システムがSQL Serverの場合,抽出側でエラーが発生した場合の障害対策について説明します。ここでは,次の場合について説明します。
-
抽出側DBのトリガ実行処理でエラーが発生した場合
-
抽出側DBがダウンした場合
-
抽出プロセスでエラーが発生した場合
-
ホストマシンがダウンした場合
-
抽出側DBと反映側DBに不整合が発生した場合
- 〈この項の構成〉
(1) 抽出側DBのトリガ実行処理でエラーが発生した場合
トリガ実行処理エラーによって更新APでエラーが発生した場合,SQL Serverでは最後にコミットした時点からトリガ実行処理エラーが発生した時点までのトランザクションがすべてロールバックされます。
抽出側Datareplicatorでは,コミットされたデータしか抽出されないため,未保存のトランザクションを再度入力する必要があります。
トリガ実行処理エラーが発生すると,SQL Serverからは更新APにエラーが返されます。ただし,エラーメッセージの表示と内容は更新APエラー処理に依存します。
このエラーへの対処には次の二つの方法があります。
-
データ連動を打ち切って本来の業務を優先させる方法
-
データ連動の継続を優先させる方法
(a) データ連動を打ち切って本来の業務を優先させる方法
データ連動を打ち切って本来の業務を優先させる場合の対処方法を,次に示します。
-
抽出側Datareplicator及び抽出側Datareplicator Extensionを停止します。
-
DROP TRIGGERを実行して,データ連動トリガを削除します。
-
更新APを再実行します。
(b) データ連動の継続を優先させる方法
SQL Serverから更新APに返されるエラーに基づいて問題を解決した後,更新APを再実行してください。
(2) 抽出側DBがダウンした場合
抽出側DBがSQL Serverの場合,抽出側DBがダウンしたときは抽出が終了します。ただし,抽出側Datareplicatorのほかの処理はそのまま実行します。
抽出側DBがダウンした場合の,対処方法を次に示します。
-
抽出対象SQL Serverがダウンした要因を取り除きます。
-
抽出対象SQL Serverを起動します。
-
抽出側Datareplicator及び抽出側Datareplicator Extensionを起動します。
抽出側Datareplicatorを起動すると,ダウン時に終了した抽出プロセスだけ起動されます。
(3) 抽出プロセスでエラーが発生した場合
抽出プロセスで発生するエラーは,次の二つに分けられます。
エラーの種類 |
エラーの内容 |
---|---|
データ連動を継続できるエラー |
|
データ連動を継続できないエラー |
不正なデータを検知したなど,ユーザがエラー要因を解消できないエラー |
データ連動を継続できるエラーに対しては,エラー要因を解消した後に抽出側Datareplicator及び抽出側Datareplicator Extensionを再起動することで,データ連動を再開できます。また,抽出処理の同期を制御することで,抽出処理の整合性を保証します。
データ連動を継続できないエラーに対しては,抽出側Datareplicator及び抽出側Datareplicator Extensionを初期起動する必要があります。
(4) ホストマシンがダウンした場合
抽出側システムのホストマシンがダウンした場合の対処方法を,次に示します。
-
抽出対象SQL Serverを起動します。
-
抽出側Datareplicator及び抽出側Datareplicator Extensionを起動します。
(5) 抽出側DBと反映側DBに不整合が発生した場合
抽出側システムでの障害や不正な運用などによって,抽出側DBと反映側DBに不整合が発生した場合の対処方法を次に示します。
-
HiRDB Dataextractorで,抽出側DBと反映側DBとの不整合を修正します。
-
抽出側システムのデータ連動の環境を初期化します。
-
抽出定義プリプロセスファイルを作成します。
-
反映側Datareplicator及び反映側Datareplicator Extensionを初期起動します。
-
抽出側Datareplicator及び抽出側Datareplicator Extensionを起動します。