Oracle Database@AzureでAutonomous Data Guardを構成して切り替えテストを実施する

# はじめに
前回までにOracle Database@Azureへの接続までを構築して実施しDB情報の確認までを行いました。今回は障害対策の可用性としてOracle Autonomous DatabaseのAutonomous Data Guard機能をAzure側で設定していきたいと思います。

# Autonomous Databaseの災害対策構成について
Autonomous Database ではReal Application Clusters(RAC)やAutomatic Storage Management(ASM)などの高可用性技術が事前構成済みです。そのため、単一のDBサーバー障害やストレージ障害については、RTO/RPOがほぼ0(SLO: サービスレベル目標)で復旧させることが可能です。

それらに加え、有償オプションとして、大きく2種類の災害対策ソリューションが提供されています。

それがAutonomous Data Guardとバックアップベースのディザスタ・リカバリです。Autonomous Data Guard は、本番環境用インスタンス(プライマリ・インスタンス)のスタンバイ・データベースを構成する事ができます。これによって、Autonomous Database インスタンスにデータ保護およびディザスタ・リカバリを実現可能です。
Autonomous Data Guard が有効になっている場合、全ノード障害やリージョン障害などの大規模障害の際に、フェイルオーバーやスイッチオーバーが可能なスタンバイ・データベースを提供します。なおAutonomous Data Guard のスタンバイ・データベースへはデータ操作や接続ができません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/96f12fcb-3463-4161-0644-a6a87740e365.png)

※現在2024年9月においてOracle Database@Azureでは全ノード障害への対応とスイッチオーバーはすでに実装されており、リージョン障害やフェイルオーバーについてはCloud Worldでの発表の通り今後実装される予定となっております。

[参照][Autonomous Database を災害対策構成にしてみよう](https://oracle-japan.github.io/ocitutorials/adb/adb212-audg/)
[参照][Autonomous Database Serverless 技術詳細](https://speakerdeck.com/oracle4engineer/adb-s-technical-detail-jp?slide=92)

# 今回の構成
リージョン間でのAutonomous Data Guardはまだ実装されていないためUS-East側に2台目のAutonomous Databaseを構築して全ノード障害に対応できるAutonomous Data Guardを構成します。
そこから切り替えのスイッチオーバーを実行し切り替わったかの確認テストを実施します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/745acb4a-bd33-f7a5-5755-2b9392ac9f65.png)

# Oracle Autonomous Data Guard 構築手順
### Autonomous Data Guardの設定
Azureのホーム画面で[Autonomoous Databaseのリソース名を入力]→[リソース]→[Autonomous Database]選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/544bdfab-3735-7009-1b7b-350abaae200a.png)

[設定]→[ディザスタ・リカバリ]にて設定を確認します。現在のピア・ロールがバックアップコピー、スタンバイ、East US、バックアップベースとなっています。こちらをAutonomous Data Guardへ設定変更するために[編集]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/0564c1a0-d279-1ce0-e208-0c0288c5cb64.png)
下記項目に入力して[送信]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/5bdc590b-29a3-5971-6bd0-fc373e867cc5.png)
※データ損失制限(秒)のある自動フェイルオーバーに関してはこちらをご覧ください。
[データ損失制限(秒)のある自動フェイルオーバーについて](https://oracle-japan.github.io/ocitutorials/adb/adb212-audg/#:~:text=%EF%BC%88%E8%A3%9C%E8%B6%B3%EF%BC%89%20%E3%83%87%E3%83%BC%E3%82%BF%E6%90%8D%E5%A4%B1%E5%88%B6%E9%99%90(%E7%A7%92)%E3%81%AE%E3%81%82%E3%82%8B%E8%87%AA%E5%8B%95%E3%83%95%E3%82%A7%E3%82%A4%E3%83%AB%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)

設定を確認するとスタンバイ、スタンバイ、East US、Autonomous Data Guard、自動フェイルオーバー0秒に切り替わりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/eb72295b-170b-404b-3e18-151b33070629.png)

### スタンバイデータベースに切り替えのテスト
実際に切り替わるかを確認するために切り替えを実施します。[スイッチオーバー]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/e72cabe6-b79e-04c0-45df-c1a3c638bd7c.png)

下記項目を入力して[送信]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/cf83dd88-4d62-f46c-bbb8-a2739b778987.png)

ARM要求が成功の通知が出たら切り替えの完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/b5218980-7f90-f919-395c-7f0545a46243.png)

ところで、前回の最後にDatabase Actionsの接続で確認したDBID、NAME、DB_UNIQUE_NAMEの固有情報はきろくしてありますか。こちらはその時のスクショを取ったものです。こちらの情報が同じSQLをたたいて変わっていればスタンバイDatabaseへの切り替えの成功が確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/9b10e929-d8b6-d323-ca15-3e3f29333aaf.png)

RDP接続で踏み台ServerにサインインしてURL接続からDatabase Actionsを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/0d71e7e7-ea0c-9ee7-c7eb-164ca5928dfe.png)

無事情報が変わっており,スタンバイとプライマリが切り替わったことを確認できました。これにて切り替えテスト終了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/8ec07b7f-c612-e7cb-37f4-88581a4d49f0.png)

### 切り戻しについて
[設定]→[ディザスタ・リカバリ]→[スイッチオーバー]をもう一度実施すればプライマリとスタンバイが再び入れ替わるため元の構成に戻ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/9ab5de53-917b-3af9-f523-576e76fb9237.png)
Autonomous Data Guardをバックアップベースに戻したい場合は[ディザスタ・リカバリ]→[編集]→[バックアップベース・ディザスタ・リカバリ]→[送信]を実行することで可能となります。今回の手順は以上となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2172788/258e55d6-3bb4-df34-e299-15ce2d2a236f.png)


# 前の手順
[101:Oracle Database@AzureをPAYGで作成してみた](https://qiita.com/ogacloud/items/1731b99448965c1b5aa4)
[102:Oracle Database@Azureに接続してみた](https://qiita.com/ogacloud/items/6b668fccf9f20b9610e4)

# 次の手順
[104:Oracle Database@Azureにデータをロードする](https://qiita.com/ogacloud/items/d0a53db5f094bd36117e)
# 運用時の手順
[201:Oracle Database@Azureのサブスクリプションとアカウントの仕組みについて](https://qiita.com/ogacloud/items/b0cd63d8746f2d3ca285)
[202:Oracle Database@Azureでポータル別設定項目をまとめてみた](https://qiita.com/ogacloud/items/ff16a43ee63f34b5c8d4)
[203:Oracle Database@Azureでこまったときにサポートリクエストを上げて自己解決する方法](https://qiita.com/ogacloud/items/2e791875d322eb484e78)
[204:Oracle Database@AzureでADB-Sのクローンを作成する](https://qiita.com/ogacloud/items/a937593e277f9410136a)