0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oracle Database 3台のActive Data Gurad

0
Posted at

Data Guardとその目的

Oracle DatabaseにはプライマリDBからスタンバイDBへRedoを転送・適用してスタンバイDBを維持するData Guardという仕組みがあります。Active Data GuardではスタンバイDBを読み取り専用でオープンすることができます。
Data Guardは主に災害対策のためプライマリDBから地理的に離れた場所にスタンバイDBを用意しRedoを転送・適用することで事業継続性を高めることを目的として使用されます。
Data Guard構成においてプライマリDBとスタンバイDBのロールを切り替える操作をスイッチオーバー、プライマリDBを切り離しスタンバイDBをプライマリDBに昇格させる操作をフェイルオーバーといいます。
DB3台でData Guard構成となっている場合についてどのような挙動になるのか調査しました。

今回考える構成

プライマリリージョンに本番DB、検証DB、スタンバイリージョンに災対DBがあり、本番DBをプライマリDBとして検証DBと災対DBはスタンバイDBというActive Data Guard構成を考えます。検証に使うときはフィジカルスタンバイからスナップショットスタンバイDBに変換します。
ChatGPT Image 2026年4月24日 17_45_05.png

スイッチオーバー

スイッチオーバーをして災対DBをプライマリDBに昇格させることを考えます。この時、旧プライマリDBである本番DBはスタンバイDBとなります。また検証DBはスタンバイDBのままですがRedoの転送元が新プライマリDBである災対DBになります。
ChatGPT Image 2026年4月24日 17_59_01.png

フェイルオーバー

フェイルオーバーをして災対DBをプライマリに昇格し、旧プライマリDBを切り離すことを考えます。このとき本番DBはDisabled StandbyとなりActive Data Guard構成から切り離され、Redoの転送もされなくなります。検証DBは可能であれば災対DBからRedo転送を受けるような形になります。検証DBが新プライマリに対してviableであれば、災対DBからRedoを受けるスタンバイとして継続しますがviableでなければdisabledとなり、reinstateまたは再作成が必要になります。
Disabled StandbyとなったDBはreinstateコマンドでスタンバイDBとして復帰させることができます。ただし、常に成功するとは限らず障害内容によっては再作成が必要となります。
https://docs.oracle.com/en/cloud/paas/base-database/dg-reinstate/#articletitle
ChatGPT Image 2026年4月24日 18_14_08.png

まとめ

今回はActive Data Guard構成の3台のDBについてスイッチオーバーとフェイルオーバーの際の挙動を調査しました。
スイッチオーバー、フェイルオーバーのときの挙動を図示することで理解が深まりました。特にフェイルオーバーの際に旧プライマリDBはDisabled Standbyになること、そこから復帰させることができることを知ることができました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?