Oracle Cloud Infrastrcture(OCI)の特徴的なサービスの1つであるAutonomous Databaseはオラクル社がメンテナンスをしてくれます。メンテナンスとは何をするの?どのくらい時間がかかる?メンテナンス中はサービスを使えるの?など疑問を調べてみました。
Autonomous Databaseとは?
Autonomous Databaseは、自律型データベースと呼ばれているデータベースのマネージド・サービスです。今まではDB管理者と呼ばれる人が担当していたデータベースのチューニングやパッチ適用、バックアップなどの作業が自動化されているサービスになります。
メンテナンス作業をOracleに任せるため、毎週末にメンテナンス時間が取られています。Autonomous DatabaseはExadata上のRACの上で稼働しているサービスなので、内部的にはメンテナンスされるノードから違うノードに移行されるため、基本的に瞬断が発生する程度です。アプリケーションにリトライ機能があれば比較的業務影響は少ないと思われますが、とはいえメンテナンス時間は意識しておきたいものです。
そのため、この記事ではAutonomous Databaseのメンテナンス時間の確認方法をまとめました。
Autonomous Databaseのメンテナンス時間の調べ方
メンテナンス時間を調べるには、ADWの詳細画面から「メンテナンス」の部分を確認します。次回のメンテナンスの予定が記載されています。ここでは次回土曜日のUTC6~8時でメンテナンスが実施される予定だと確認できます。
では実際にいつメンテナンスが行われていたのでしょうか?「履歴表示」のリンクをクリックすると、過去に実施されたメンテナンスの時間が確認できます。基本的に毎週実施されているようです。
Autonomous Databaseのメンテナンスでは何が行われているの?
マニュアルの「Oracle Autonomous Databaseの職責モデル」にある通り、パッチ適用などのメンテナンスはオラクル社にて実施されます。こちらの資料によるとFirmware/OS/HyperVisor/Clusterware/Databaseなど全てのコンポーネントに対するメンテナンスが行われます。
メンテナンスによってどんな影響があるの?
上記と同じ資料に、アプリケーション(既存セッション)に対する影響の記載があります。
・多くのパッチはオンラインで適用できるため影響なし
・オンライン適用不可のパッチはRACのローリングアップグレードで適用されるので影響なし(接続中セッションの瞬断の可能性があるが、すぐ再接続可能)
・どうしてもサービス停止が必要となるメンテナンスについては、事前に通知の上で実施
つまり、基本的にはメンテナンス中もサービスは利用可能ということですね。ただこちらのページに記載がある通り、「トランザクションがDBで完結しないジョブ」などは注意が必要そうです。
定期メンテナンスの通知は来るの?
定期メンテナンスについてはデフォルトで通知は来ないようです。メトリック監視機能を設定することで、指定したメールアドレスにメールの送付ができるようです。下記のイベントが発生すると通知ができますので、メンテナンス時間を意識する必要がある人は通知をうまく利用しましょう。
・ScheduledMaintenanceWarning:計画メンテナンスの開始時間の1時間前と24時間前に通知
・MaintenanceBegin:メンテナンスの開始(事前定義された時間ではなく、実際にメンテナンスが開始された時間)
・MaintenanceEnd:メンテナンスの終了(同じく実際にメンテナンスが終了した時間)
・NewMaintenanceSchedule:次回メンテナンスの予定(メンテナンス終了時に通知)
まとめ
Autonomous Databaseのメンテナンスについて調べました。通知などを上手く使いこなせば、Autonomous Databaseのメリットである「データベースのメンテナンスをオラクル社にお任せできること」を享受して楽にデータベース運用ができそうですね。