• 検索結果がありません。

抽出側 Datareplicator Extension の障害時の対処

ドキュメント内 HiRDB Datareplicator Ext V8 (ページ 144-148)

8   障害時の対処

8.1  抽出側 Datareplicator Extension の障害時の対処

他社DBMSとデータ連動する場合の,抽出側Datareplicator Extensionで障害が起こったときの対処方 法について説明します。

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

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

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

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

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

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

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

(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及び抽出側 Datareplicator Extensionを再起動することで,データ連動を再開できます。また,抽出処理の同期を制 御することで,抽出処理の整合性を保証します。

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

エラーの種類 エラーの内容

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

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

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

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

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

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

8.1.2 抽出側システムでエラーが発生した場合の対処(SQL Server の

場合)

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

ここでは,次の場合について説明します。

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

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

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

ホストマシンがダウンした場合

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

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

トリガ実行処理エラーによって更新APでエラーが発生した場合,SQL Serverでは最後にコミットした時 点からトリガ実行処理エラーが発生した時点までのトランザクションがすべてロールバックされます。

抽出側Datareplicatorでは,コミットされたデータしか抽出されないため,未保存のトランザクションを

再度入力する必要があります。

トリガ実行処理エラーが発生すると,SQL Serverからは更新APにエラーが返されます。ただし,エラー メッセージの表示と内容は更新APエラー処理に依存します。

このエラーへの対処には次の二つの方法があります。

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

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

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

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

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

2. DROP TRIGGERを実行して,データ連動トリガを削除します。

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

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

SQL Serverから更新APに返されるエラーに基づいて問題を解決した後,更新APを再実行してくださ

い。

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

抽出側DBがSQL Serverの場合,抽出側DBがダウンしたときは抽出が終了します。ただし,抽出側 Datareplicatorのほかの処理はそのまま実行します。

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

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

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

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

抽出側Datareplicatorを起動すると,ダウン時に終了した抽出プロセスだけ起動されます。

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

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

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

データ連動を継続できないエラーに対しては,抽出側Datareplicator及び抽出側Datareplicator Extensionを初期起動する必要があります。

(4) ホストマシンがダウンした場合

抽出側システムのホストマシンがダウンした場合の対処方法を,次に示します。

1. 抽出対象SQL Serverを起動します。

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

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

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

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

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

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

4. 反映側Datareplicator及び反映側Datareplicator Extensionを初期起動します。

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

エラーの種類 エラーの内容

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

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

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

ドキュメント内 HiRDB Datareplicator Ext V8 (ページ 144-148)