DB連携機能で異常が発生した場合のリカバリ方法について説明します。
システム管理者がDB連携機能のリカバリを行う方法を説明します。
データ変換エラー発生時のリカバリ手順
変更差分蓄積機能<データ基盤側>の変更差分データ登録または、変更差分抽出機能<変更差分データ抽出で、データ変換エラーが発生した場合は、以下の手順でリカバリを行ってください。
変更差分蓄積機能<データ基盤側>または、変更差分抽出機能<データ基盤側>のログに出力されるエラーメッセージを参照し、エラーの原因を確認してください。
エラーの原因ごとに以下の対処を行います。
システム管理者は、データ提供者に対して下記の手順実行を依頼してください。
データ提供者は、以下の手順でデータ提供側の機能を停止してください。
変更差分抽出機能<データ提供側>および、変更差分連携機能<データ提供側>を停止してください。
停止完了後にシステム管理者へ連絡してください。
データ提供者から停止完了の連絡を受けた後、システム管理者は、データ提供者が誤って登録したデータを破棄するため、キャンセルリトライコマンドで対象サービスID、全キャンセルを指定し、実行します。
キャンセルリトライコマンドの実行完了後、システム管理者は、データ提供者に対して下記の手順実行を依頼してください。
データ提供者は、以下の手順でデータ連携を復旧させてください。
手順1.で停止した変更差分抽出機能<データ提供側>および変更差分連携機能<データ提供側>を起動してください。
データ提供用の業務DBのテーブルレイアウトを訂正した後、データを再登録してください。
システム管理者は、データ提供者に対して下記の手順実行を依頼してください。
データ提供者は、以下の手順で正しい変換ルールに置き換えてください。
データ提供設定で、store_api_paramのconv_rule_idまたは、conv_rule_file_pathに指定した変換ルールの内容を確認し、変換ルール作成GUIを用いて正しい内容に修正してください。
修正した変換ルールを、元の変換ルールと置き換えてください。
変換ルールの置き換え完了後、システム管理者へ連絡してください。
データ提供者から変換ルールの置き換え完了の連絡を受けた後、変更差分データを再登録するため、システム管理者は、キャンセルリトライコマンドで対象サービスID、リトライを指定して、実行します。
システム管理者は、データ利用者に対して下記の手順実行を依頼してください。
データ利用者は、以下の手順で正しい変換ルールに置き換えてください。
データ利用設定で、store_api_paramのconv_rule_idまたは、conv_rule_file_pathに指定した変換ルールファイルの内容を確認し、変換ルール作成GUIを用いて正しい内容に修正してください。
修正した変換ルールファイルを、元の変換ルールファイルと置き換えてください。
変換ルールの置き換え完了後、システム管理者へ連絡してください。
データ利用者から変換ルールの置き換え完了の連絡を受けた後、変更差分データを再抽出するため、システム管理者は、キャンセルリトライコマンドで対象サービスID、リトライを指定して実行します。
参照
キャンセルリトライコマンドの詳細は、“付録D コマンドリファレンス”を参照してください。
DB連携制御機能のリカバリ手順
DB連携制御機能で障害が発生し、プロセスが停止した場合、システム管理者は以下の手順でDB連携制御機能を復旧させてください。
DB連携制御機能を再起動してください。
DB連携制御機能の復旧後にシステム管理者は、データ利用者に対して下記のリカバリ手順実行を依頼してください。
データ利用者は、以下の手順でデータ連携を復旧させてください。
連携設定変更機能のデータ利用設定削除機能APIを使用し、データ利用設定を削除してください。
連携対象テーブルの検索開始日時カラムのうち、最新の日時レコードのみを削除します。このとき、最新の検索開始日時は記録し、退避しておいてください。
連携設定変更機能のデータ利用設定変更機能APIを使用し、データ利用設定を再登録します。この時、パラメーターfrom_create_datetimeには手順2.で控えた最新の検索開始日時を指定してください。
ポイント
DB連携制御機能の復旧後、データ提供側は自動でデータ連携が復旧するため、リカバリ手順の実行依頼は不要です。
データ提供者がDB連携機能のリカバリを行う方法を説明します。
提供側環境の故障、提供側DBの破壊等の障害発生時は、以下の手順でリカバリを行ってください。リカバリ実行には前提条件があります。
リカバリ実行時の前提条件
データ提供側の業務DBの再構築前に、変更差分抽出機能<データ提供側>または変更差分連携機能<データ提供側>を停止すること
データ提供側の業務DBの再構築が完了し、連携対象のDB、テーブルが作成されていること
データ提供側の業務DBにバックアップデータが再投入されていないこと
業務DBのデータについては、定期バックアップを取得していること
リカバリ中に連携対象テーブルへ新たなデータが発生しないようにすること
データ提供側DB環境のリカバリ手順
障害発生時までデータが投入されていたかを格納抽出APIのデータ検索API、およびデータダウンロードAPIで確認してください。
システムログでエラーが発生した時刻を確認してください。
前の手順で確認した時刻付近で格納されたデータをデータ検索APIで検索します。
前の手順で取得したticket_idの配列の最後のデータをダウンロードAPIでダウンロードしてください。
前の手順でダウンロードしたファイルの中身を確認し、どこまでがデータ基盤側へ連携済かを判断します。
“利用ガイド”の“データ提供者の作業”にある“DB連携機能の設定ファイルのリストア”を参照して、設定ファイルのリストアを行ってください。
連携設定変更機能のデータ提供設定削除機能APIでデータ提供設定を削除してください。
バックアップを取得した時刻から障害発生時までのデータのうち、手順1.で確認が取れているデータをDBに投入してください。
連携設定変更機能のデータ提供設定変更機能APIでデータ提供設定を再登録してください。
バックアップを取得した時刻から障害発生時までのデータのうち、手順1.で確認が取れていないデータをDBに投入してください。
ポイント
上記手順の手順3.と手順4.は、定期バックアップから障害発生時までのデータを復旧するための手順です。データ提供側とデータ利用側の業務DBに差分が発生しても問題がない場合、実施は不要です。
データ利用者がDB連携機能のリカバリを行う方法を説明します。リカバリ実行には前提条件があります。
リカバリ実行時の前提条件
データ利用側の業務DBの再構築前に変更差分連携機能<データ利用側>を停止すること
データ利用側の業務DBの再構築が完了し、連携対象のDB、テーブルが作成されていること
データ利用側の業務DBにバックアップデータが再投入されていないこと
業務DBのデータについては、定期バックアップを取得していること
データ利用側DB環境のリカバリ手順
利用側環境の故障、利用側DBの破壊等の障害発生時は、以下の手順でリカバリを行ってください。
連携設定変更機能のデータ利用設定削除機能APIでデータ利用設定を削除してください。
“利用ガイド”の“データ利用者の作業”にある“DB連携機能の設定ファイルのリストア”を参照して、設定ファイルのリストアを行ってください。
データ基盤側に滞留しているデータがデータ利用側の連携対象テーブルへ連携完了(注)するのを待ちます。
(注)連携完了は、手順2.実施以降に変更差分連携機能<利用側>のログにメッセージ番号:cdl0401が出力されることを確認してください。
データ利用者用テーブルの検索開始日時カラムのうち、最新の日時のレコードのみを削除します。このとき、最新の検索開始日時は記録し、退避しておいてください。
連携設定変更機能のデータ利用設定変更機能APIでデータ利用設定を再設定します。このとき、from create datetimeには手順3.で記録した日時を指定してください。
SQLエラー発生時のリカバリ手順
変更差分連携機能<データ利用側>の変更差分データ登録で、SQLエラーが発生した場合は、以下の手順でリカバリを行ってください。
変更差分連携機能<データ利用側>のログに出力されるエラーメッセージを参照し、エラーの原因を確認してください。
エラーの原因ごとに以下の対処を行います。
変更差分連携機能<データ利用側>を停止してください。
データ利用者用の業務DBでテーブルレイアウトを訂正してください。
変更差分連携機能<データ利用側>を起動してください。
データ利用設定削除機能APIを使用して、データ利用設定を削除してください。
変更差分連携機能<データ利用側>を停止してください。
下記コマンドを実行し、空ファイルを作成してください。
情報識別子はデータ利用設定変更機能APIで設定した値を指定します。(注)
# touch /opt/FJSVbsb/db_adapter/plcdlreceive/tmp/cancel/<情報識別子>_1
注) 複数のデータベースを連携する場合は、DBアダプタモジュールの複製でコピーしたディレクトリに合わせてください。
変更差分連携機能<データ利用側>を起動してください。
データ利用設定変更機能APIを使用して、データ利用設定を再設定します。
設定内容については以下の点に注意してください。
手順1.で削除した情報識別子とは別の情報識別子を指定してください。
from_create_datetimeには最後連携できた日時を指定してください。