こんにちは。k.otsukaです。
Oracle CloudのPaaSのデータベースことDBCS(Database Cloud Service)で、ついにOCI管理コンソール画面からメトリックが確認できるようになりました!
IaaSであるコンピュート・インスタンスでは、メトリック(モニタリング)の確認はできていたのですが、DBCSでは確認ができませんでした。(オンプレミス環境のOracleDBなら、登録すれば確認できるという謎の状況が続いていました。。w)
代わりにEnterprise Manager含む監視ソフトやSaaSの導入で何とか確認ができておりましたが、構築の手間や別途立てたサーバ管理の手間など、若干息苦しさを感じておりました。
※Enterprise Managerついてはこちらの記事を参考ください。
そんな中ついに、やっとDBCSも確認できるようになった(データベース管理がDBCSに対応した)ということなので、登録方法について紹介したいと思います!
※データベース管理がどんなものかについては、次回ブログで紹介予定です!
目次
登録のため準備
DBCSを登録するためには下記準備が必要です。順を追って手順を紹介します。
※DBCSによるOracleDBの構築が完了していることが前提となります。
1.「dbsnmp」ユーザのアンロックと権限付与
2. ボールトの作成とシークレットの作成
3. ポリシーの設定
4.プライベートエンドポイントの作成
「dbsnmp」ユーザのアンロックと権限付与
oracleデータベースの監視や管理用途で使われる「dbsnmp」ユーザを使用して登録を行います。DBCS構築時はデフォルトでロックされているので、アンロックとパスワード付与、必要に応じて権限を付与をしましょう。
●「opc」でログインし、「oracle」にスイッチします。
$ sudo su - oracle
●SYSDBA権限でoracleデータベースに接続します。
$ sqlplus / as sysdba
●「dbsnmp」ユーザのアンロックとパスワード付与をします。
※【パスワード】はボールトの設定でも使うので、控えておいてください。
SQL> alter user dbsnmp identified by 【パスワード】 account unlock;
●「dbsnmp」ユーザに対して権限を付与します。
※パフォーマンスハブを利用する場合は下記権限を付与してください。利用しない場合は不要です。
SQL> grant create procedure to dbsnmp
SQL> grant select any dictionary, select_catalog_role to dbsnmp;
SQL> grant alter system to dbsnmp;
SQL> grant advisor to dbsnmp;
SQL> grant execute on dbms_workload_repository to dbsnmp;
ボールトの作成とシークレットの作成
Oracle CloudからDBCSに接続するための認証設定を行います。
●「アイデンティティとセキュリティ」⇒「ボールト」から、「ボールトの作成」を選択しボールトを作る
※本記事では仮想プライベートをOFFに設定してます。
●「ボールト」作成後、「マスター暗号化キー」から「キーの作成」を選択し、暗号キーを1つ作成します。
※詳細は公式ドキュメントを確認ください。
●「シークレットの作成」で作成する認証情報に「dbsnmp」ユーザ作成時に登録したパスワードを入力します。
ポリシー設定
データベース管理を初めて使う方は新しくポリシーを追加する必要があります。
加えて、どのボールト情報を使用してデータベース管理を使用するのか、といったポリシーを明示的に追加する必要もあります。
下記ポリシー構文を参考に設定しましょう。
Allow group 【所属グループ】 to manage dbmgmt-family in tenancy
Allow group 【所属グループ】 to manage secret-family in tenancy
allow service dpd to manage objects in tenancy
Allow service dpd to read secret-family in compartment 【コンパートメント】 where target.vault.id='{【ボールトのOCID】}'
プライベート・エンドポイントの作成
最後の準備です…!
DBCSがデータベース管理に接続するためのエンドポイントを作成します。
「監視及び管理」⇒「データベース管理」⇒「管理」⇒「プライベート・エンドポイント」と移動し「プライベート・エンドポイントの作成」から作成しましょう。
エンドポイントは、DBCSを作成しているサブネットでもOKです。エンドポイントからDBCSには「TCP/1521」「UDP/1521」の通信が許可されていることを確認してください。
※2021年9月現在、NSGを付与して作成すると必ずエラーが起きて失敗するので注意してください。
DBCSを登録!
ここまで準備が終わったら後は登録するだけです!
「データベース管理」からでも登録できますが、登録したいDBCSのデータベース詳細画面まで移動し、「有効化」から登録作業を進めることで「データベースタイプ」「データベースホーム」「サービス名」といった、登録したいDBCSの固有値が書かれた状態で登録作業が始めるので少し楽になります。
無事登録が完了すると、下記メトリックが表示されるようになります!(メモリ使用率が表示されていないのが非常に残念…)
注意点として、表示されたメトリックは「CDB」のメトリックとなります。(「OS」や「PDB」のメトリックではないようです。後日実装されるとのうわさも…?【追記_2023/01/16】ついにPDBも対応しました!後日が過ぎますね!!)
・CPU使用率
・ストレージ使用状況
・実行数
・ブロック変更
・解析数
・現在のログオン
終わりに
待望のDBCSのメトリック表示ですが、メモリ使用率は表示されませんでした。またDBCSは「CDB」の登録のみが対応している状況で「PDB」の情報を見ることができません。NSG設定でエラーが起きたり、データベース管理画面には表示されたりされなかったりと、バグも多い印象を受けますので、まだ実用化には難しいかなぁといった印象です。
しかし、今後Enterprise Managerを構築しなくても良い可能性を秘めており、非常に期待しているサービスなので今後に期待です!次回はデータベース管理の内容について触れていきたいと思います!利用金額やどういったことができるのかについて触れていきますのでよろしくお願いします。
【追記_2023/01/16】ついにPDBも対応しました!!!登録方法は本記事と同じで、PDBの詳細画面から登録可能です。