web-dev-qa-db-ja.com

Data Guard:プライマリでのデータベースのフラッシュバック後に論理スタンバイがトラックを失うのを防ぎます

2つのOracleデータベースがあります。 Dataguardで構成されたプライマリおよび論理スタンバイ。プライマリでアプリケーションをロールアウトするたびに、問題が発生した場合に備えて復元ポイントを作成します。

先週の火曜日に問題が発生し、プライマリデータベースを復元ポイントに復元する必要がありました。

これにより、ロジカル・スタンバイ・データベースはアーカイブ・ログの適用を停止しました(これは、プライマリ・データベースが基本的に時間内に戻され、ロジカル・スタンバイが未定義の状態のままになるためです)。

どうすればこの状況を防ぐことができたでしょうか。

私はこのシナリオを想像します:

  1. 論理スタンバイでSQL適用を停止する
  2. プライマリに復元ポイントを作成する
  3. プライマリで何かを行うと、エラーが発生します
  4. ポイントを復元するためのフラッシュバックプライマリデータベース
  5. プライマリデータベースを開く
  6. 論理スタンバイでSQL適用を開始します

これは機能しますか?プライマリデータベースから分岐することなく、ロジカルスタンバイが適用を継続できるようにしますか?

2

動作する最終的な状況は次のとおりです。

  1. 論理スタンバイでSQL適用を停止する
  2. スタンバイ時に復元ポイントを作成する
  3. プライマリに復元ポイントを作成する
  4. プライマリで何かを行うと、エラーが発生します
  5. ポイントを復元するためのフラッシュバックプライマリデータベース
  6. ポイントを復元するための論理的なフラッシュバック
  7. プライマリデータベースを開く
  8. 論理スタンバイでSQL適用を開始します

ご意見ありがとうございます。

1

展開のプロセス全体を変更します。

  1. SQL適用を停止します。
  2. スタンバイ時に復元ポイントを作成します。
  3. スタンバイにデプロイ
  4. テストが完了したら、フラッシュバックスタンバイ。
  5. SQL適用を開始します。
  6. プライマリに安全にデプロイできます。
2
Eli