ページの先頭行へ戻る
Symfoware Server V12.7.0 データベース二重化導入運用ガイド
FUJITSU Software

8.6.4 副系ノードでの利用者業務の留意点

Mirroring Controllerを利用している場合で、DBミラーリングサービスの運用中に、副系ノードでの参照系業務を実施するとき、以下に示すいくつかの留意点が必要です。留意点を守らなければ下記の問題が発生する可能性がありますので、十分注意してください。

排他待ち、デッドロック回避のための考慮

DBミラーリングシステムでは、副系ノードのDBミラーリングサービスの運用中にデータベース二重化処理として、副系ノードのデータベースに対して更新操作を行います。データベース二重化処理と、参照系業務が競合すると、排他待ち、あるいはデッドロックが発生する場合があります。また、データベース二重化処理が排他待ちになってしまうと、ノードの切替え時間にも影響を及ぼします。
排他待ち、デッドロック発生を防止するため、参照系業務で実行するアプリケーションに以下のいずれかの設定を行ってください。

副系ノードの負荷への考慮

参照系業務のアプリケーションが、データベース二重化処理に影響を及ぼすような負荷の高い処理を行うと、ノードの切替え時間にも影響を及ぼします。
参照系の業務アプリケーションは、データベース二重化処理性能を考慮の上実行してください。

縮退運用中の正系ノードの利用者業務への考慮

副系ノードでの参照系業務は、縮退運用を開始しても継続可能です。
しかし、以下の理由から縮退運用を開始した場合には、旧副系ノードの参照系業務をいったん停止して、ノード組込み後の新しい副系ノードで再開することを推奨します。

DBミラーリングサービス運用中のトランザクション整合性の考慮

RERUNログ反映のコミット順序の保証単位にDSIを選択した場合、データベース二重化処理では、正系ノードのトランザクションを副系ノードでDSI単位に分割して多重でデータベースを更新します。このため、DBミラーリングサービスの運用中にデータベースの参照を行うと、DSI間でトランザクション整合性がない場合があります。

副系ノードの参照系業務でDSI間のトランザクションのコミット順序が保証されたデータベースの参照を実施したい場合には、RERUNログ反映のコミット順序の保証単位にロググループを選択してください。

なお、データベース二重化処理では、正系ノードで確定していないトランザクションの更新結果を副系ノードで参照しないことが保証されています。

ポイント

RERUNログ反映のコミット順序の保証単位にロググループを選択した場合で、データベース二重化処理と参照系業務間で排他待ちが発生している資源については、rdblkinfコマンドによる資源の占有情報の出力により確認してください。

参照

  • Symfoware/RDBの排他制御の詳細については“解説書”を参照してください。

  • 排他の属性と選択方法の詳細については“アプリケーション開発ガイド(共通編)”を参照してください。

  • RERUNログ反映のコミット順序の保証単位は、RLP動作環境ファイルのREF_APPLY_MODEパラメタで指定します。RLP動作環境ファイルのREF_APPLY_MODEパラメタについては“5.2.8.4 RLP動作環境ファイルの編集”を参照してください。