ヘッダーをスキップ

Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド リリース6.0 B25769-01 |
| 目次 | 索引

前へ | 次へ |

## アクティブ・マスター・データ・ストアの障害からのリカバリ

この項の内容は次のとおりです。

- スタンバイ・マスター・データ・ストアが使用可能な場合のリカバリ
- スタンバイ・マスター・データ・ストアが使用可能でない場合のリカバリ
- 元のノードへのフェイルバック

## スタンバイ・マスター・データ・ストアが使用可能な場合のリカバリ

この項では、スタンバイ・マスター・データ・ストアが使用可能で、アクティブ・マスター・データ・ストアと同期されている場合にアクティブ・マスター・データ・ストアをリカバリする方法について説明します。内容は次のとおりです。

- レプリケーションがRETURN RECEIPTまたは非同期の場合
- レプリケーションがRETURN TWOSAFEの場合

### レプリケーションがRETURN RECEIPTまたは非同期の場合

次のタスクを実行します。

1. スタンバイ・マスター・データ・ストアで、ttRepStateSet('ACTIVE')を実行します。これによって、データ・ストアのロールがSTANDBYからACTIVEに変更されます。
2. 新しいアクティブ・マスター・データ・ストアで、ttRepStateSave('FAILED', failed_store, host_name)を実行します。ここで、failed_storeは、障害が発生した前のアクティブ・マスター・データ・ストアです。この手順は、新しいアクティブ・マスター・データ・ストアがサブスクライバ・データ・ストアに直接レプリケートされるようにするために必要です。
3. 障害が発生したデータ・ストアで、アプリケーション・エージェントがまだ停止されていない場合は停止します。
4. 障害が発生したデータ・ストアを破棄します。
5. 新しいアクティブ・マスター・データ・ストアを新しいスタンバイ・マスター・データ・ストアに複製します。データ・ストアを複製するには、ttRepAdmin -duplicateユーティリティまたはttRepDuplicateEx C関数のいずれかを使用できます。
6. スタンバイ・マスター・データ・ストアでレプリケーション・エージェント・ポリシーを設定し、レプリケーション・エージェントを起動します。詳細は「レプリケーション・エージェントの起動および停止」を参照してください。

スタンバイ・マスター・データ・ストアは、アクティブ・マスター・データ・ストアに通信します。アクティブ・マスター・データ・ストアは、サブスクライバへの更新の送信を停止します。スタンバイ・マスター・データ・ストアがアクティブ・マスター・データ・ストアと完全に同期している場合、スタンバイ・マスター・データ・ストアはSTANDBY状態になり、サブスクライバへの更新の送信を開始します。

注意: スタンバイ・マスター・データ・ストアがSTANDBY状態になったことは、ttRepStateGetプロシージャを使用して確認できます。

### レプリケーションがRETURN TWOSAFEの場合

次のタスクを実行します。

1. スタンバイ・マスター・データ・ストアで、ttRepStateSet('ACTIVE')を実行します。これによって、データ・ストアのロールがSTANDBYからACTIVEに変更されます。
2. 新しいアクティブ・マスター・データ・ストアで、ttRepStateSave('FAILED', failed_store, host_name)を実行します。ここで、failed_storeは、障害が発生した前のアクティブ・マスター・データ・ストアです。この手順は、新しいアクティブ・マスター・データ・ストアがサブスクライバ・データ・ストアに直接レプリケートされるようにするために必要です。
3. 障害が発生したデータ・ストアに接続します。これによって、ローカル・トランザクション・ログからのリカバリがトリガーされます。
4. レプリケーション・エージェントが再起動されたことを確認します。再起動されていない場合は起動します。詳細は、「レプリケーション・エージェントの起動および停止」を参照してください。

スタンバイ・マスター・データ・ストアと完全に同期されているとアクティブ・マスター・データ・ストアで判断された場合、スタンバイ・マスター・データ・ストアはSTANDBY状態になり、サブスクライバへの更新の送信を開始します。

注意: スタンバイ・マスター・データ・ストアがSTANDBY状態になったことは、ttRepStateGetプロシージャを使用して確認できます。

## スタンバイ・マスター・データ・ストアが使用可能でない場合のリカバリ

次の例を考えてみます。

- スタンバイ・マスター・データ・ストアで障害が発生しました。スタンバイが再起動する前、またはスタンバイがアクティブ・マスター・データ・ストアと同期される前に、アクティブ・マスター・データ・ストアで障害が発生しました。
- アクティブ・マスター・データ・ストアで障害が発生しました。スタンバイ・マスター・データ・ストアがACTIVEになり、リカバリ・プロセスの残りが開始されます（「アクティブ・マスター・データ・ストアの障害からのリカバリ」を参照）。新しいスタンバイ・マスター・データ・ストアが新しいアクティブ・マスター・データ・ストアと完全に同期される前に、そのアクティブ・マスター・データ・ストアで障害が発生しました。

両方の例で、スタンバイ・マスター・データ・ストアの場合より多くの変更がサブスクライバに適用されている可能性があります。

アクティブ・マスター・データ・ストアで障害が発生し、アクティブ・マスター・データ・ストアから最後に送信された変更の一部のみがスタンバイ・マスター・データ・ストアで適用された場合、リカバリの方法として次の2つの方法があります。

- ローカル・トランザクション・ログからアクティブ・マスター・データ・ストアをリカバリする方法
- ローカル・トランザクション・ログからスタンバイ・マスター・データ・ストアをリカバリする方法

いずれのデータ・ストアが使用可能かまたはいずれのデータ・ストアがより新しいかに応じて、使用する方法を選択します。

### アクティブ・マスター・データ・ストアのリカバリ

1. 障害が発生したアクティブ・データ・ストアに接続します。これによって、ローカル・トランザクション・ログからのリカバリがトリガーされます。
2. レプリケーション・エージェント・ポリシーを設定し、レプリケーション・エージェントを起動します。詳細は、「レプリケーション・エージェントの起動および停止」を参照してください。
3. 新しくリカバリされたストアで、ttRepStateSet('ACTIVE')を実行します。
4. 「アクティブ・スタンバイ・ペアの設定」の手順5を実行します。

### スタンバイ・マスター・データ・ストアのリカバリ

1. 障害が発生したスタンバイ・データ・ストアに接続します。これによって、ローカル・トランザクション・ログからのリカバリがトリガーされます。
2. DROP ACTIVE STANDBY PAIRおよびCREATE ACTIVE STANDBY PAIR文を使用して、レプリケーション設定を削除および再作成します。
3. レプリケーション・エージェント・ポリシーを設定し、レプリケーション・エージェントを起動します。詳細は、「レプリケーション・エージェントの起動および停止」を参照してください。
4. マスター・データ・ストアで、ttRepStateSet('ACTIVE')を実行して、それにACTIVEロールを付与します。
5. 「アクティブ・スタンバイ・ペアの設定」の手順5から実行します。

## 元のノードへのフェイルバック

フェイルオーバーに成功した後、アクティブ・マスター・データ・ストアおよびスタンバイ・マスター・データ・ストアが元のノードに存在するようにフェイルバックする必要がある場合があります。

フェイルバックを行うには、次のタスクを実行します。

1. アクティブ・マスター・データ・ストアでレプリケーション・エージェントを停止します。
2. スタンバイ・マスター・データ・ストアで、ttRepStateSet('ACTIVE')を実行します。これによって、データ・ストアのロールがSTANDBYからACTIVEに変更されます。
3. 新しいスタンバイ・マスター・データ・ストアでレプリケーション・エージェントを再起動します。

新しいスタンバイ・マスター・データ・ストアと完全に同期されていると新しいアクティブ・マスター・データ・ストアで判断された場合、スタンバイ・マスター・データ・ストアはSTANDBY状態になり、サブスクライバへの更新の送信を開始します。

注意: スタンバイ・マスター・データ・ストアがSTANDBY状態になったことは、ttRepStateGetプロシージャを使用して確認できます。