ここでは、レプリケーションの運用を保守する方法について説明します。
ログファイルの再作成
データベースの保守
入出力障害などで、トランザクションログデータベースおよび差分ログファイルが破壊された場合は、トランザクションログデータベースおよび差分ログファイルが使用不可能な状態になります。この場合、それぞれのログファイルの再作成を行ってください。また、トランザクションログデータベースおよび差分ログファイルの容量を拡張する場合にも、再作成が必要になります。
ここでは、各ログファイルの再作成の方法について説明します。
トランザクションログデータベースの再作成
差分ログファイルの再作成
トランザクションログデータベースの再作成の手順は、以下のとおりです。
複写元システムのすべての利用者プログラムが実行中でないことを確認してください。実行中の場合は、利用者プログラムの終了を待ってから操作を始めてください。
複写元システムのすべてのレプリケーション業務が処理中でないことを確認します。処理中の場合は、業務の完了を待ってから操作を始めてください。
複写元システムのすべての一括差分複写業務を中止します。
複写元システムのすべての抽出定義に対して、差分ログの取得を終了します。
複写元システムのすべての抽出定義に対して、差分ログの追出しを行います。
複写元システムのすべての抽出定義に対して、差分ログの破棄を行います。
Linkexpress Replication optionの停止操作を行います。
トランザクションログデータベースを削除します。削除の方法については、“付録B トランザクションログデータベースの作成”を参照してください。
トランザクションログデータベースを再作成します。トランザクションログデータベースの容量を増やす場合などは、このときに容量を大きく指定します。作成の方法については、“付録B トランザクションログデータベースの作成”を参照してください。
Linkexpress Replication optionの再起動を行います。
複写元システムのすべての抽出定義に対して全複写業務を行います。これにより、すべての複写元データベースと複写先データベースの同期をとることができます。
停止したすべての抽出定義に対して、差分ログの取得を開始します。
中止した一括差分複写業務を開始します。
利用者プログラムを開始します。
各操作の詳細については、以下の参照項目を参照してください。
差分ログファイルの再作成の手順は、以下のとおりです。
再作成の対象となる差分ログファイルを定義した抽出定義に対して以下の操作を行います。
複写元データベースを更新する利用者プログラムが実行中でないことを確認してください。実行中の場合は、利用者プログラムの終了を待ってから操作を始めてください。
対象の抽出定義を指定したレプリケーション業務が処理中でないことを確認します。処理中の場合は、業務の完了を待ってから操作を始めてください。
対象の抽出定義を指定した一括差分複写業務を中止します。
対象の抽出定義に対して、差分ログの取得を終了します。
対象の抽出定義に対して、差分ログの追出しを行います。(注)
対象の抽出定義に対して、差分ログの破棄を行います。(注)
対象の抽出定義を削除します。削除の方法については、“3.1.4 抽出定義”および“コマンドリファレンス”の“lxrpodroコマンド”を参照してください。
削除した抽出定義と同じ名前で、抽出定義を再定義します。差分ログファイルの容量を増やす場合などは、このときに容量を大きく指定します。定義の方法については、“3.1.4 抽出定義”および“コマンドリファレンス”の“lxrpocreコマンド”を参照してください。
再定義した抽出定義に対して全複写業務を行います。これにより、複写元データベースと複写先データベースの同期をとることができます。
停止したすべての抽出定義に対して、差分ログの取得を開始します。
中止した一括差分複写業務を開始します。
利用者プログラムを開始します。
注)上記の5.または6.処理でエラーになった場合には、7.処理での強制削除(-eオプション)を実行してください。
各操作の詳細については、以下の参照項目を参照してください。
複写元データベースおよび複写先データベースの保守の方法は、一般のデータベースの保守の方法と同じです。
データベースの保守の方法については、Oracleのマニュアル 、“Symfoware Server 運用ガイド”、“Enterprise Postgres 運用ガイド”または“Symfoware Server RDB運用ガイド”を参照してください。
ここでは、以下の操作について説明します。
マテリアライズド・ビューのリフレッシュ
マテリアライズド・ビューを完全リフレッシュまたは強制リフレッシュによって再作成する場合、マテリアライズド・ビューの実表に格納されている全レコードに対し、2倍のログが発生します。
マテリアライズド・ビューの実表に格納されているレコード件数が多い場合は、以下の手順によってレプリケーション運用を一旦停止し、完全リフレッシュまたは強制リフレッシュ後に、全複写機能によって複写先の表を再創成してください。マテリアライズド・ビューの操作に関する詳細はOracleのマニュアルを参照してください。
複写元システム | 複写先システム |
---|---|
1. 利用者プログラムの停止 | - |
2. 一括差分複写業務の停止 | - |
3. 差分ログの追い出し | - |
4. 差分ログの取得終了 | - |
5. 差分ログの破棄 | - |
6. マテリアライズド・ビューのリフレッシュ (完全/強制) | - |
7. 複写先データベースの再創成 | - |
8. 差分ログの取得開始 | - |
9. 一括差分複写業務の開始 | - |
10. 利用者プログラムの起動 | - |
マテリアライズド・ビューのマスターテーブルに対し、利用者プログラムによるデータベースの更新を停止します。
一括差分複写業務を停止します。(取込み型業務の場合は、複写先システムから実行します)
トランザクションデータベースから差分データを差分ログファイルに追い出します。(lxrpologコマンド(-F指定))
差分ログの取得を終了します。(lxrpodisコマンド)
差分ログファイル内の差分データを破棄します。(lxrpologコマンド(-I -r指定))
マテリアライズド・ビューを完全リフレッシュまたは強制リフレッシュします。
全複写業務を実行します。(取込み型業務の場合は、複写先システムから実行します)
差分ログの取得を開始します。(lxrpoenaコマンド)
一括差分複写業務を開始します。(取込み型業務の場合は、複写先システムから実行します)
マテリアライズド・ビューのマスターテーブルに対し、利用者プログラムによるデータベースの更新を再開します。