DBMotoでの全件リフレッシュ・差分ミラーリングの再設定手順


【2014/1/14・3/31記事改訂】

●全件リフレッシュの再設定

リフレッシュは通常初回の1回のみ行われますが、何らかの理由でミラーリングが行えなくなって整合性が失われた場合(ログが流れてしまった等)などは、リフレッシュの再設定を行うことが可能です。

■バージョン8.1までの場合
1. レプリケーション名を右クリック「プロパティ」を開きます。
※グループ化されている場合はグループ名を右クリック「レプリケーションを編集」です。

2. 左ペインから「スケジュール」を選択し、「初期リフレッシュ実行」にチェックが入っていることを確認します。その後「現在」のボタンをクリックします。

3. 現在の時刻が取得されたことを確認し、設定は完了です。次回レプリケーション再開時にリフレッシュが実行されます。

■バージョン8.2以降の場合
1. レプリケーション名(あるいはグループ名)を右クリックすると「初期リフレッシュを実行」という項目があります。クリックします。
rerun_initial_refresh

2.クリックすると、次のような確認のためのアラートが出力されます。「はい」をクリックしますと、直ちにリフレッシュが開始されます。
rerun_initial_refresh_alert

※リフレッシュを行った際には、リフレッシュ開始前にミラーリング用のトランザクションIDを自動で再取得しますので、「初期リフレッシュ+ミラーリング」のレプリケーションの場合は、ミラーリングのトランザクションID再設定作業は不要です。

●差分ミラーリングの再設定

ミラーリングはDBのトランザクションログに保存されているトランザクションIDで管理されています。
何らかの理由で古いIDからのミラーリングを再度行われる場合には、IDを戻すことで実現可能となります。

1.  レプリケーション名を右クリック「プロパティ」を開きます。
※グループ化されている場合はグループ名を右クリック「レプリケーションを編集」です。

2.  左ペインから「優先」を選択し、「トランザクションID」の項目を確認します。これが今現在レプリケーションが完了済みのトランザクションIDとなります。このIDを直接任意の古いIDに変更することももちろん可能です。
任意のタイムスタンプの位置のIDを取得するためには、トランザクションIDの右側のボタンをクリックします。

3. 「日付または時刻」にチェックを入れ、戻したいIDの位置のタイムスタンプを設定します。

4. 元の画面に戻り、トランザクションIDが指定のタイムスタンプの位置のものに戻っていることを確認します。設定はこれで完了です。次回レプリケーション再開時にこのトランザクションIDからミラーリングが再開されます。

関連したトピックス