トランザクションログファイルの入出力障害(一時的なリソース不足による場合を含む)が発生すると、以下のような事象が発生し、お客様業務の継続が困難になる場合があります。
更新SQLがエラーとなる。
Symfoware/RDBの起動に失敗する(ホットスタンバイ運用における起動/切り替えを含む)。
また、差分ログファイルにおいても、入出力障害(一時的なリソース不足による場合を含む)が発生すると、Symfoware/RDBの起動(ホットスタンバイ運用における起動/切り替えを含む)に失敗する場合があります。
このため、トランザクションログファイルや差分ログファイルを配置するディスクの冗長化や容量監視などの対策が重要です。
サービス停止が許されないシステムでは、これらの対策を実施した上で、容量不足や入出力障害が発生した場合に備えて、リトライ対応や差分ログの取得停止によりお客様業務を継続させることを検討してください。
リトライ対応
トランザクションログファイルまたは差分ログファイルの一次的な入出力障害発生時のリトライ対応については、以下のオペランドで指定してください。
IOERR_RETRYオペランド
トランザクションログファイルまたは差分ログファイルへのアクセスにおいて、入出力障害が一時的に発生した場合に、以下のリトライ機能を使用するかどうかを指定します。
IOERR_RETRY_STARTUP_MODEオペランド
Symfoware/RDBの起動やクラスタシステム(ホットスタンバイ運用)におけるクラスタ切り替え中に、トランザクションログファイルまたは差分ログファイルへの一時的な入出力障害が発生し、これらのログファイルへのアクセスがリトライによって回復しなかった場合の振る舞いを指定します。
IOERR_RETRY_STARTUP_MODEオペランドの指定値による動作については“2.2.16.1 レプリケーション運用開始時に入出力障害が発生した場合の動作”を参照してください。
IOERR_RETRY_CLUSTER_MODEオペランド
クラスタシステム(ホットスタンバイ運用)でのレプリケーション運用中に、トランザクションログファイルまたは差分ログファイルへの一時的な入出力障害が発生し、これらのログファイルへのアクセスがリトライによって回復しなかった場合の振る舞いを指定します。
IOERR_RETRY_CLUSTER_MODEオペランドの指定値による動作については“2.2.16.2 レプリケーション運用中に入出力障害が発生した場合の動作”を参照してください。
注意
IOERR_RETRY_ STARTUP_MODEオペランドとIOERR_RETRY_CLUSTER_MODEオペランドは同時に指定できません。
差分ログの取得停止
トランザクションログの容量不足や入出力障害発生時に、差分ログの取得を停止する場合は、以下の動作環境ファイルのオペランドで指定してください。
REP_TRF_COFFオペランド
トランザクションログファイルの容量不足に備えて、本オペランドにトランザクションログファイルの使用率を指定することで、使用率に達した場合に差分ログの取得を停止して、お客様業務を継続することが可能となります。本オペランドの指定値は、通常の運用中に発生する使用率より大きい値を指定してください。
トランザクションログファイルの使用率が、本オペランドの指定値に到達した場合、その時点で実行中のトランザクションは差分ログ取得停止とはなりません。このため、トランザクションログファイルの使用率が本オペランドの指定値に到達した時点で実行中のトランザクションに関して、エラーを発生させないために以下を考慮してください。
実行中のトランザクションが出力するログ量により、トランザクションログファイルの使用率が100%に達しないように、トランザクションが出力するログ量を考慮して、本指定値を設定します。なお、指定値を超えた後に発生するトランザクションは、差分ログを取得しないため、エラーにはなりません。
REP_TRF_INH_CLOGオペランド
利用者プログラム実行中にトランザクションログファイルが入出力障害などの理由で閉塞した場合の振る舞いを指定します。
注意
本機能を使用して、トランザクションログファイルの容量不足または入出力障害などにより、エラーとなったトランザクションは、再実行することを推奨します。
本機能により差分ログが取得されないため、再実行後はエラーにはなりません。
本機能を使用して、差分ログの取得を停止した場合は、複写元と複写先のデータベースの一致性を保証できなくなるため、運休日などを利用して、トランザクションログファイル(管理部)の再作成および全複写機能による複写先データベースの再創成を実施してください。
再作成の詳細は、“導入運用ガイド”の“トランザクションログファイルへの差分ログ停止後の再開”を参照してください。
REP_TRF_INH_CLOGオペランドは、利用者プログラムの実行中にトランザクションログファイルが閉塞した場合の機能です。このため、Symfoware/RDBの起動時に、トランザクションログファイルに入出力障害が発生した場合は、Symfoware/RDBの起動が失敗します。
お客様業務を優先させる場合は、動作環境ファイルにREPLICATION=OFFを指定した後、Symfoware/RDBの起動を再実行することで、Linkexpress Replication optionを停止して業務を継続することが可能です。
レプリケーション運用開始時にトランザクションログファイルまたは差分ログファイルの一時的な入出力障害が発生し、これらのログファイルへのアクセスがリトライによって回復しなかった場合の動作を、IOERR_RETRY_STARTUP_MODEオペランドで指定します。
IOERR_RETRY_STARTUP_MODEオペランドの指定値による動作は以下の通りです。
お客様業務の開始を優先する場合
“STOPREP”を指定してください。
差分ログ取得を止めることにより業務からレプリケーションを離脱させて、Symfoware/RDBを起動します。
レプリケーション運用を優先する場合
“STOPRDB”を指定してください。
Symfoware/RDBの起動を中止します。一時的なIOエラーであれば、Symfoware/RDBを再起動することで、レプリケーション運用を継続することができます。
ポイント
IOERR_RETRY_STARTUP_MODEオペランドで“STOPRDB”を指定している場合で、トランザクションログファイルまたは差分ログファイルへのアクセスがリトライによって回復しないときは、以下の手順でログファイルを復旧してください。
“導入運用ガイド”の“差分ログファイルの再作成 (リトライオーバからのリカバリ)”
“導入運用ガイド”の“トランザクションログファイルの再作成 (リトライオーバからのリカバリ)”
IOERR_RETRY_STARTUP_MODEオペランドで“STOPREP”を指定している場合で、トランザクションログファイルまたは差分ログファイルへのアクセスがリトライによって回復しないときは、トランザクションログファイルへの差分ログの取得を停止し、Symfoware/RDBは起動します。そのため、レプリケーション運用を再開する前に、以下の手順で複写先データベースを再創成してください。
“導入運用ガイド”の“複写先データベースの再創成 (リトライオーバからのリカバリ)”
クラスタシステム(フェイルオーバ運用)でレプリケーション運用中に、トランザクションログファイルまたは差分ログファイルの一時的な入出力障害が発生し、これらのログファイルへのアクセスがリトライによって回復しなかった場合の動作を、 IOERR_RETRY_CLUSTER_MODEオペランドで指定します。
注意
ホットスタンバイ運用以外で、本オペランドで“RDBDWN”を指定した場合、レプリケーション運用中に入出力障害が発生した際にRDBシステムが強制停止されるため、お客様業務に影響を与えます。以下の場合のみ本オペランドで“RDBDWN”を指定してください。
ホットスタンバイ運用、かつ、
レプリケーション資源の一時的な入出力障害に対してリトライによって回復しない場合に、クラスタ切り替えをしてでもレプリケーション運用を継続する
IOERR_RETRY_CLUSTER_MODEオペランドの指定値による動作は以下の通りです。
お客様業務の継続を優先する場合
“REPINH”を指定してください。
入出力障害が発生したトランザクションログファイルまたは差分ログファイルをアクセス禁止にします。
レプリケーション運用の継続を優先する場合
“RDBDWN”を指定してください。
Symfoware/RDBを強制停止することでクラスタシステムを切り替え、レプリケーション運用を継続します。
ポイント
IOERR_RETRY_CLUSTER_MODEオペランドを指定している場合で、トランザクションログファイルまたは差分ログファイルへの一時的な入出力障害が発生し、これらのログファイルへのアクセスがリトライによって回復せず、レプリケーション運用が継続できなくなったときは、以下の手順でログファイルを復旧してください。
“導入運用ガイド”の“差分ログファイルの再作成 (容量不足、閉塞からのリカバリ)”
“導入運用ガイド”の“トランザクションログファイルの再作成 (閉塞からのリカバリ)”