minamin's Blog

ゆるーく好きなモノ・興味あるコトについて書きます。技術系ネタは主にOracle DatabaseやCloudまわり。

Oracle Cloud InfrastructureのDatabase ManagementにExaCSを登録してみる

この記事はOracle Cloud Infrastructure Advent Calendar 2021 Day23の記事として書いています。

qiita.com

今年もAdvent Calendarの季節がやってきました。 年末だからと余裕をこいているとなぜか毎年急に忙しくなり、まさに師走というように駆け回る12月を過ごしております。この記事も期日(Advent Calendarの担当日)に間に合うか、冷や汗をかきながら書いています。

今回は、Oracle Cloud InfrastructureのOracle Cloud Observability and Management Platformで利用可能なデータベース管理機能のDatabase Management=データベース管理に、Exadata Cloud Service(ExaCS)のデータベースを登録してみたいと思います。

目次

Oracle Cloud Observability and Management Platformの概要

Database Managementの概要はSlide 28からです。

Exadata Cloud Service上のOracle Databaseを管理対象にしてみる

事前準備

事前準備の内容は、下記のドキュメントの"一般的な前提条件タスク"と"Oracle Cloudデータベース関連の前提条件タスク"を参考に。 docs.oracle.com やったことをざっとまとめると、

  1. [OCIコンソール作業] 管理対象のデータベースの用意
  2. [DB作業] 管理対象のデータベースのサービス名確認してメモ
  3. [DB作業] データベース管理に必要な権限をデータベース・ユーザーに付与(今回はDBSNMPユーザーを使用)
  4. [OCIコンソール作業] ユーザー・グループに権限を割り当てるポリシーの作成
  5. [OCIコンソール作業] Oracle Cloud Infrastrucutre ボールトサービスでボールトを作成
  6. [OCIコンソール作業] 作成したボールトのシークレットに、3で設定したデータベース・ユーザー・パスワードを保存
  7. [OCIコンソール作業] データベース管理のプライベート・エンドポイントを作成
  8. [OCIコンソール作業] データベース管理とデータベース間の通信の有効化

Exadata Cloud Service上のデータベースを登録

データベースをデータベース管理に登録する画面にいく方法としては、 1. データベース管理の画面から、管理対象データベースを登録 2. 管理対象のデータベースの詳細ページから、データベース管理機能を有効化 のいずれかで可能です。

1. データベース管理の画面から、管理対象データベースを登録する方法

f:id:minamin96:20211223235441p:plain
データーベース管理の画面でデータベースを登録
データベース管理のページに行き、左側のメニューから「管理」>「管理対象データベース」をクリックして、 「データベース管理の有効化」をクリック

2. 管理対象のデータベースの詳細ページから、データベース管理機能を有効

f:id:minamin96:20211223235536p:plain
管理対象のデータベースの詳細ページから有効化
管理対象のデータベースの詳細ページの上部の「データベース情報」>「関連付けられたサービス」>「データベース管理」の「有効化」をクリックするか、 下部の「リソース」>「メトリック」をクリックして、右側にでる「有効化」ボタンをクリック

データベース管理を有効化

f:id:minamin96:20211224000050p:plain
有効化画面1

  • データベースタイプ : 今回はExaCS上のデータベースを登録するので「ExaCS」
  • VMクラスタの場所 : 対象のデータベースが稼働するVMクラスタ
  • データベース・ホーム : 対象のデータベースが属するデータベース・ホーム
  • データベース : 対象のデータベース
  • サービス名 : 対象のデータベースに接続するためのサービス名

サービス名以外はプルダウンで選択できるのですが、サービス名だけは記述式なので、事前準備でメモしておいたものを記入します。

f:id:minamin96:20211224000108p:plain
有効化画面2

  • データベース・ユーザー名 : 事前準備で権限を付与したユーザー
  • データベース・ユーザー・パスワード・シークレットの場所 : 事前準備で作成したシークレット
  • プライベート・エンドポイントの場所 : 事前準備で作成したプライベート・エンドポイント
  • 管理オプション : 今回は完全管理を選択します。

管理オプションの「完全管理」と「基本管理」の違いは、ざっくりいうと

基本管理

  • 追加コストなし(無料)で利用可能
  • CPU使用率やストレージ利用状況など14個の基本的なメトリック
  • CDBのパフォーマンス・ハブのASH分析、SQL管理機能

完全管理

  • 有償(詳細は最初の概要資料のSlide 15あたり)
  • データベースの管理および管理
  • オプション機能に含まれる、ADDMやブロック・セッションなどもみれるパフォーマンス・ハブや、SQL監視や表領域監視など
  • データベースはどのエディションでも利用可能。Standard Editionに関してパフォーマンス・ハブは利用不可
  • Exadata管理

今回は新機能のExadata管理がみたかったので完全管理にしています。

さて、無事に有効化されました

f:id:minamin96:20211224002811p:plain

遭遇したエラー

「データベースの登録」をしようとした際に、下記エラーにて失敗しました

Operation failed because password secret is not accessible by Database Management

事前準備でポリシーに追加が必要な内容で不足があった模様。 下記の内容を追加

Allow group <group_name>  to manage secret-family in tenancy

Allow service dpd to read secret-family in tenancy 

Allow group <group_name>  to read secret-family in tenancy where target.vault.id = '{ボールトのocid}'

Database Managementの画面を確認

では、有効化されたのでデータベース管理の画面をいくつか見てみたいと思います

まずは、対象のデータベースの詳細ページでみれるメトリック。

f:id:minamin96:20211224002845p:plain
メトリック

つぎにパフォーマンス・ハブをみたいので、データベースの詳細ページ上部の「パフォーマンス・ハブ」ボタンをクリック f:id:minamin96:20211224002908p:plain

ASH分析、SQLモニタリング、ADDM、ブロックしているセッション、Exadataとタブが並びます f:id:minamin96:20211224003527p:plain

SQLモニタリングで特定のSQLをクリックすると、リアルタイムSQLモニタリングも楽々 f:id:minamin96:20211224002942p:plain

Exadata タブを見てみます f:id:minamin96:20211224002924p:plain Oracle管理レイヤーのフラッシュやディスク側も見れてますね。

今度は、データベース管理のページから。 複数データベースを管理していると便利なフリート・サマリーのページですが、時間がなくて今回は1つしかまだ登録していないので、「管理対象データベースの詳細」を。

f:id:minamin96:20211224002958p:plain

サマリー、表領域、ユーザー、データベース・パラメータ(ここから編集可能)、クラスタ・キャッシュ・ジョブ、関連付けられたデータベース・グループ、SQLチューニングアドバイザのページがあります。

最後に

今回は、Oracle Cloud のデータベース管理機能でExadata Cloud Service 上のデータベースの管理を有効化してみました。 まずは有効化をしてみる、という内容にしたので、複数データベース、複数サービス(DBCSやAutonomous Database)を一元管理した場合や、ちゃんと処理をかけた状態でのモニタリングをしてみたいとおもいます。