LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

サービス・製品 | 

OCI Database Managementで始める、クラウド時代のデータベース監視【活用編】

前回の記事(設定編)では、OCI Database Management(以下、Database Management)サービスの概要と設定方法を紹介しました。

後編となる本記事では、Database Managementの様々な監視・管理機能の使用方法を紹介します。

フリート・サマリーと管理対象データベース

フリート・サマリーは、リソースの使用状況やメトリック・アラーム、各クライアント・プロセスのCPU処理時間と待機時間の合計であるDB時間などのパフォーマンス情報について、管理対象データベース全体を俯瞰できる専用のコンソールです。

フリート・サマリーのコンソール画面

フリート・サマリーでCDB(コンテナ・データベース)を表示させたい場合、左下の「データベース・タイプ」は「すべて」ではなく、「VM CDB」を選択します。中央の「パフォーマンス」タブでは、データベースのパフォーマンス情報が下図のように表示されます。長方形の大きさがパフォーマンスメトリックの値の大きさを表し、長方形の色は指定した期間でのメトリックの変化率を表しています。

「パフォーマンス」タブの表示

管理対象データベース詳細

フリート・サマリーに表示されるデータベースの名前をクリックすると、各データベースの詳細情報を表示できます。このページから、以下のようなデータベース・パフォーマンスのモニタリングや管理操作を行えます。

パフォーマンスモニタリング

  • パフォーマンス・ハブでのASHやSQLモニタリングの確認、SQLチューニング・アドバイザの実行
  • AWRエクスプローラでのパフォーマンス情報の可視化、AWRレポートの発行
  • ダッシュボードによる様々なメトリックの監視

データベース管理操作

  • アラート・ログの確認
  • データベースユーザーの確認
  • 表領域の管理
  • 初期化パラメータの管理
  • SQLジョブの定義と実行
管理対象データベース詳細の画面

では、これらの機能のいくつかを実際に使ってみたいと思います。

パフォーマンス・ハブ

「管理対象データベースの詳細」画面で、「パフォーマンス・ハブ」をクリックすると表示されます。権限が不足している旨のエラーメッセージが表示された場合は、メッセージに記載された権限をDatabase Management有効化時に指定したモニタリング・ユーザーに付与してください。

本検証ではDBSNMPユーザーに以下のシステム権限を付与しました。

grant alter system to dbsnmp container = all;
grant select_catalog_role to dbsnmp container = all;
grant advisor to dbsnmp container = all;
grant execute on dbms_workload_repository to dbsnmp container = all;

パフォーマンス・ハブではASH分析、SQLモニタリング、ADDM、ブロックしているセッションをそれぞれ確認できます。

パフォーマンス・ハブの画面

「SQLモニタリング」では、詳しく確認したいSQLのSQL IDをクリックすると、実行計画や統計情報などのより詳細な情報を確認できます。

パフォーマンス・ハブで表示されるSQL IDをクリックするとSQLモニタリングが表示される

また、トップページからはAWRスナップショットの取得間隔および保持期間の変更や、AWRレポート、ASHレポート、パフォーマンス・ハブレポートをそれぞれダウンロードできます。

SQLチューニング・アドバイザの実行

パフォーマンス・ハブでは、SQLチューニング・アドバイザを実行できます。対象SQLが実行された時間帯を指定し、「ASH分析」タブからチューニングを実施したいSQLを選択して、「SQLのチューニング」をクリックします。今回はSQLを1つ選択していますが、複数のSQLを同時に選択してチューニングすることも可能です。

パフォーマンス・ハブ画面にて、対象SQLが実行された時間帯を指定し、「ASH分析」タブからチューニングを実施したいSQLを選択して、「SQLのチューニング」をクリックすると、SQLチューニング・アドバイザを実行できる

「SQLチューニング・アドバイザの実行」画面で、チューニングのソースやパラメータを指定して「実行」をクリックすると、チューニング・アドバイザが実行されます。

「SQLチューニング・アドバイザの実行」画面

チューニング結果は、「管理対象データベースの詳細」画面の「SQLチューニング・アドバイザのタスク」から確認できます。

チューニング結果は、「管理対象データベースの詳細」画面の「SQLチューニング・アドバイザのタスク」から確認

今回のSQLでは、チューニング・アドバイザによって索引の作成が推奨されました。

「SQLチューニング・アドバイザのタスク」に索引の作成が推奨事項として表示される

右側の「︙」から実行計画の比較や、推奨事項の実装もできます。

推奨事項の右側にある縦の三点リーダーから実行計画の比較や、推奨事項の実装が可能
実行計画の比較画面。元の実行計画
実行計画の比較画面。推奨事項を実施した実行計画

なお、SQLチューニング・アドバイザを実行するには、「資格証明」を設定する必要があります。設定方法については、各種管理機能の章に記載していますのでご確認ください。

AWRエクスプローラ

「管理対象データベースの詳細」画面の「AWRエクスプローラ」から、データベース内のAWRの様々なパフォーマンスデータを可視化できます。また、このページの「レポート」からも各種レポートをダウンロードできます。

AWRエクスプローラ
AWRエクスプローラの右上に表示される「レポート」から各種レポートをダウンロードできる

ダッシュボード

「管理対象データベースの詳細」の「ダッシュボード」から、「データベース・パフォーマンス」と「DBインフラストラクチャのパフォーマンス」ダッシュボードを表示できます。これらは共に事前定義済みのダッシュボードです。

「データベース・パフォーマンス」では平均アクティブ・セッションやメモリー使用量などのウィジェットを確認でき、「DBインフラストラクチャのパフォーマンス」ではノード・ステータスやCPU使用率などのウィジェットを確認できます。

データベース・パフォーマンス・ダッシュボードの画面

ダッシュボードには「データベース管理」の「ダッシュボード」からもアクセスでき、事前定義済みのダッシュボードの複製および編集、新規ダッシュボードの作成ができます。

「データベース管理」から「ダッシュボード」にアクセスした場合に表示される画面

各種管理機能

「管理対象データベースの詳細」画面では、様々な管理機能を使用できます。

優先資格証明の設定

Database Managementで管理操作をするには、必要な権限を付与したデータベースユーザーの資格証明を設定します。資格証明はデータベースへの接続情報を保存したリソースです。

「名前付き資格証明」では、管理操作を実行する時にあらかじめ作成しておいた資格証明を選択すると、設定されたユーザーがデータベースにアクセスして管理ができます。「優先資格証明」ではデフォルトの接続情報を設定でき、操作実行時に優先資格証明がデフォルトで選択されるようになります。

本検証では優先資格証明のみを使用することとし、管理操作実行時に使用するデータベースユーザーはSYSTEMとします。

それではまず、「管理対象データベースの詳細」画面の「リソース」から「資格証明」を選択し、「優先資格証明」の「管理」の右端にある「︙」から「編集」をクリックします。

資格証明の画面。「管理」の右端にある縦三点リーダーから「編集」をクリック

「優先資格証明の編集」で以下の項目を入力し、「保存」をクリックすると優先資格証明を設定できます。

資格証明
タイプ
「新規資格証明」を選択
ユーザー名 SYSTEM
ユーザー・パスワード・シークレット 既存のシークレットを選択するか、「新規シークレットの作成」を選択し、その場で作成
ロール 「通常」か「SYSDBA」から選択
新規名前付き資格証明として保存 ここでの設定を名前付き資格証明として保存する場合はチェックする
「優先資格証明の編集」画面
「パスワード・シークレットの作成」画面

以上の設定で、各種管理操作を実行する際に優先資格証明が自動的に選択され、データベースへの書き込み(変更)操作を実行できるようになります。

初期化パラメータの変更

初期化パラメータを変更してみます。今回はAWRスナップショットの取得設定に関わるAWR_PDB_AUTOFLUSH_ENABLEDパラメータとAWR_SNAPSHOT_TIME_OFFSETパラメータを変更します。

「管理対象データベースの詳細」画面の「リソース」から「データベース・パラメータ」を選択し、「パラメータの編集」をクリックします。

「管理対象データベースの詳細」画面の「リソース」から「データベース・パラメータ」を選択し、「パラメータの編集」をクリック

「パラメータの編集」画面で対象のパラメータを選択し、値を入力します。「SQLの表示」をクリックすると実行されるSQLを表示できます。「変更の保存」をクリックすることで初期化パラメータが変更されます。

「パラメータの編集」画面
「SQLの表示」画面

「データベース・パラメータ」画面で、変更後の値を確認できます。

「データベース・パラメータ」画面で、変更後の値を確認

SQLジョブ実行

SQLジョブを定義して実行してみます。SQLジョブは問合せ(SELECT)、DML、DDL、PL/SQLを実行可能なOCIリソースです。問合せを実行する場合は、結果を格納するオブジェクト・ストレージのバケットを用意しておく必要があります。

今回は簡単な問合せを実行するので、以下のポリシーを追加で設定しました。

Allow group 'DBMgmt-Group' to manage object-family in compartment DB_MGMT_TEST
Allow service dpd to manage objects in compartment DB_MGMT_TEST

「管理対象データベースの詳細」画面の「リソース」から「ジョブ」を選択し、「定義」タブの「ジョブの作成」をクリックします。

「管理対象データベースの詳細」画面の「リソース」から「ジョブ」を選択し、「定義」タブの「ジョブの作成」をクリック

表示される「ジョブの作成」画面で必要事項を入力します。「SQLタイプ」で「問合せ」を選択する場合は、結果を格納するバケットもあわせて指定します。最後に実行するSQL文を入力して、「ジョブの作成」をクリックするとジョブが定義されます。

今回はスケジュールタイプを「1回(即時)」としたので、ジョブ定義が完了すると即座に指定したSQL文が実行されます。

「ジョブの作成」画面

問合せ結果は、実行後のジョブ詳細画面からダウンロードできます。また、取得行数が少ない場合はコンソール画面で直接確認できます。

ジョブにある「実行」タブの表示
ジョブ実行の詳細画面

本検証で試した限りでは、問合せ結果の行数が8行以上の場合はコンソール画面では結果を確認できないようでした。

ジョブ実行出力。8行以上の場合はコンソール画面では結果を確認できない

ジョブ定義時に指定したバケットを確認すると、結果が格納されていることがわかります。

ジョブ定義時に指定したバケットを確認すると、結果が格納されている

さいごに

前後編にわたってOCI Database Managementの概要や、一部機能を紹介しました。MonitoringサービスやLogging Analyticsサービスと組み合わせることで、さらにメトリック・アラームの設定やログ監視を行えます。コンソールから簡単に設定でき、様々な監視・管理操作を実施できるので、OCIでのデータベース監視を考えている場合はぜひ候補の1つとして検討してみてください。

ラックではOCI、AWS、Azure、Google Cloudを取り扱っています。お客様のシステム環境の課題に合わせて、適切なソリューション・サービスを提案しますので、マルチクラウドやハイブリッドクラウドも含めたシステム構成に関するお悩みがございましたら、ぜひお問い合わせください。

「マルチクラウドやハイブリッドクラウド
を含むシステム構成」に関するお問い合わせ

この記事は役に立ちましたか?

はい いいえ

関連記事

LAC WATCH

関連記事をご紹介します

  • OCI Database Managementで始める、クラウド時代のデータベース監視【設定編】

  • DBSATを使ってOCI Oracle ベース・データベースのセキュリティを診断してみよう!

  • オンプレミスからクラウドまで、Oracle Data Safeでデータベースセキュリティ対策の可視化と自動化を実現