DBミラーリングシステムでは、正系ノードでのデータベースの更新結果を副系ノードのデータベースに反映するために、DBミラーリングシステムの対象とする以下のデータベースの資源に関して一致性を保証することが必要です。
ノード間のデータベース定義
ノード間のデータベースデータ
ノード間の順序番号
正系ノードでのデータベースの定義とデータの創成手順については、DBミラーリングシステムの運用を行っていない場合と同じです。
注意
DBミラーリングシステムでは、データベースのDSOの格納構造の種類など、サポートしていない資源があります。
参照
DBミラーリングシステムのサポート対象資源については、“B.3.1 サポート対象資源”を参照してください。
データベースの定義とデータの創成については、“RDB運用ガイド(データベース定義編)”を参照してください。
副系ノードでは、正系ノードに定義されているすべてのデータベースの定義をrdbddlexコマンドにより定義します。
以下では、副系ノードでのデータベースの定義の一致性を説明します。
ポイント
副系ノードのデータベース定義および変更文は、正系ノードでデータベースの定義および定義変更などを行った時に利用したものを指定して、同じ操作手順で行ってください。
注意
DBミラーリングシステムでは、両ノードで同じ資源名のデータベースの定義が必要です。また、これらの定義については、最終的な定義内容だけでなく、定義の変更履歴も含めて一致が必要です。たとえば、表の列定義については、最終的な列の定義順序だけでなく、列の追加や削除などの変更操作履歴も完全に一致している必要があります。
参照
rdbddlexコマンドの詳細は、“コマンドリファレンス”を参照してください。
正系ノードから副系ノードへの切替えに備えて、両ノードで同じデータベースの定義が行われていることが必要です。
参照
DBミラーリングシステムのサポート対象資源の詳細については、“B.3.1 サポート対象資源”を参照してください。
対象資源に関係する以下の資源に関して、データベース二重化が動作するために、副系ノードと正系ノードでデータベース定義の一致が必要です。
データベース定義
データベーススペース定義
スキーマ定義
表定義(DSO定義・DSI定義を含む)
インデックス定義(DSO定義・DSI定義を含む)
順序定義
注意
上記で説明した資源は、データベース二重化が動作するために一致が必要です。これ以外の資源(ビュー定義、トリガ定義、権限情報など)についても、ノード切替えまたは縮退運用を考慮し、ノード間で同じ定義をしてください。
このため、両ノードでのデータベース定義(RDBシステム名、監査ログを除く)は必ず一致させてください。なお、一致が必要な定義で説明した資源は、定義の変更履歴を含めてノード間で一致が必要です。
ポイント
データベーススペース定義およびDSI定義の割付け対象(ALLOCATE句)は、ノード間の物理構成を柔軟に運用する場合、ノードごとに異なる定義を行うことも可能ですが、セットアップでは、両ノードで一致させることを推奨します。
参照
データベース資源の一致の必要性については、“B.2 両ノードのデータベース環境”を参照してください。
DBミラーリングシステムの対象とするRDBシステムについて、以下の手順によりすべてのデータベースのデータを正系ノードから副系ノードへ複写します。
また、すべての順序番号もノード間で一致させます。
正系ノードでの操作
データベースの定義
“正系ノードにおけるデータベースの定義とデータの創成”で実施済みです。
表のDSIの退避データ取得
rdbunlコマンドを使用して、DSIの退避データを取得します。
本作業は、RDBシステムに定義されているすべての表のDSIに対して実施します。
順序番号の確認
順序番号を確認します。
本作業は、RDBシステムに定義されているすべての順序に対して実施します。
副系ノードでの操作
データベースの定義
rdbddlexコマンドを使用して、データベースの定義を行います。
rdbddlexコマンドに指定するデータベースの定義文は、正系ノードでデータベースの定義を行った場合に利用したものを指定してください。
本作業は、RDBシステムに定義されているすべてのデータベースに対して実施します。
表のDSIの退避データ適用
rdbsloaderコマンドを使用して、正系ノードで取得した退避データによりDSIを創成します。
本作業は、すべての表のDSIに対して実施します。
順序定義の再作成
順序定義を再作成します。
本作業は、RDBシステムに定義されているすべての順序に対して実施します。
注意
表定義のDEFAULT句に順序を指定している場合、順序定義の再作成を行うと、順序を参照する表の再作成が必要となります。このため、副系ノードでは以下の手順で操作を行ってください。
“1.データベースの定義”と同時に“3.順序定義の再作成”を併せて実施。
“2.表のDSIの退避データ適用”を実施。
格納データを暗号化している場合でも、rdbunlコマンドを使用して取得したDSIの退避データは暗号化されません。退避データを副系ノードに転送する場合には、セキュリティを考慮し、以下のような対策を実施してください。
ネットワークの独立性を確保する
OSが標準でサポートするIPsecを導入するなどして通信路の安全性を確保する
opensslコマンドなどのツールを使用して退避データを暗号化する
また、退避データが不要となった際にはファイルを削除してください。
参照
順序番号の確認方法については“10.6.2.3 順序番号の確認”を参照してください。
順序定義の再作成については“10.6.2.4 順序の再作成”を参照してください。
rdbddlexコマンド、rdbunlコマンドおよびrdbsloaderコマンドの詳細は、“コマンドリファレンス”を参照してください。
ファイルの削除方法については、“RDB運用ガイド”を参照してください。