Symfoware Active DB Guard 運用ガイド |
目次
索引
![]() ![]() |
第1章 バックアップセンタ運用の方法 | > 1.1 バックアップセンタ運用の概要 | > 1.1.3 複写先システムを活用する運用 |
参照系業務とは、複写先システムのデータベースを参照する利用者業務のことで、複写先システムのデータベースを有効に利用する運用方法です。複写元システム、複写先システムともにバックアップセンタ運用の操作はありません。複写先システムは参照系業務を実行します。
参照系業務の運用の流れを以下の図に示します。
複写先システムでは、参照系業務の実行中もRERUNログの抽出・反映処理を実行します。
前日までのデータなど過去のデータを参照する参照系業務の場合は常に実行できます。
最新の反映中のデータを参照する参照系業務の場合は以下の点を考慮してください。
反映処理中のトランザクションの整合性の考慮
複写元システムのトランザクションをDSI単位で多重処理しているため、反映処理中はトランザクションの整合性はありません。
ロググループのトランザクションの整合性の考慮
ロググループは、別のRLPでRERUNログを転送しているため、複写元システムでロググループにまたがるトランザクションが発生した場合、またがったトランザクションのRERUNログを反映するまではトランザクションの整合性がありません。
反映処理が排他エラーにならないための考慮
反映処理実行中に参照系業務を実行すると、デッドロック事情が発生する場合があります。
デッドロックを発生させないためには、Symfoware/RDBの以下の設定を行うことで回避できます。
独立性水準にREAD UNCOMMITTEDを指定
イルシデーションロックにNO LOCKを指定
排他制御の詳細については"Symfoware Server解説書"を参照してください。
RERUNログの反映は複写元システムでコミットされたトランザクションが対象です。そのため、複写元システムでロールバックされたデータは反映されません。
ロググループ間の参照整合性が必要な場合は、複写元システムで利用者業務を停止してすべてのRLCファイルを複写先システムへ転送し、すべてのRERUNログを反映した時点で反映処理を停止して参照業務を実施します。
また、複写元システムで完了した更新結果は、転送・抽出・反映処理にかかる時間の分だけ遅れて、複写先システムのデータベースにRERUNログとして反映されます。このため、最新のデータベースを参照系業務で利用する場合は、ロググループ間の参照整合性が必要な場合と同様に、複写元システムで利用者業務を停止し、複写先システムですべてのRERUNログを反映した時点で参照系業務を実施する必要があります。なお、前日までのデータなど参照するデータベースが最新である必要がない場合は、利用者業務と連動する必要がなく、有効に複写先システムのデータベースを利用することができます。
参照アプリの独立性水準には制約はありません。ただし、反映処理対象と同一資源に対して処理を行う際は排他待ちが発生する場合があります。
排他の属性と選択方法の詳細については“Symfoware Serverアプリケーション開発ガイド(埋込みSQL編)”を参照してください。
反映処理中の参照
高速な反映を実現するために反映処理はDSIごとに多重反映します。このため、複写先システムでの反映処理中は、複写元システムで発生したトランザクションは保証されません(DSI間でのトランザクション整合性なし)。
また、反映処理中は排他待ちが発生する場合があります。
複写元システムで発生したトランザクションの整合性が必要な参照系業務を実行する場合は、反映処理停止中に実行します。
複写先システム側のデータベースへのRERUNログの反映処理は、複写元システム側でのRLC交替を契機に最新化されます。このため、最新状態で参照系業務を行う場合は、RLCファイルの強制交替、RERUNログの抽出およびRERUNログの反映を実行後に業務を開始します。
目次
索引
![]() ![]() |