■ 概要
Database Management(データベース管理)を使用すると、コンテナ・データベース(CDB)、PDBおよび非コンテナ・データベース(非CDB)を含む単一インスタンスおよびRACデータベースを監視できます。データベース管理はOracle Databaseバージョン11.2.0.4以降をサポートしており、データベース管理を使用して実行できる重要なタスクは次のとおりです。
・メトリック監視
Oracleデータベースの主要なパフォーマンスおよび構成メトリックを監視します。
選択した期間のデータベース・メトリックを比較および分析することもできます。
・パフォーマンス・ハブ
データベース・パフォーマンスを単一画面で表示でき、パフォーマンスの問題を迅速に診断できます。
・AWRエクスプローラ
見やすいグラフでAWRスナップショットからの履歴パフォーマンス・データを視覚化します。
・グループ監視
Oracleデータベースをデータベース・グループにグループ化し、監視します。
・ジョブ・スケジュール
単一のOracle Databaseまたはデータベース・グループに対して管理操作を実行するためのSQLジョブを作成およびスケジュールします。
・Exadata詳細
Exadataシステムにデプロイされた複数のデータベースのパフォーマンス特性を分析するための統計を提供します。
- オペレーティング・システム統計
- ストレージ・サーバーのソフトウェア統計
- スマート・スキャン統計
- データベース、ディスクおよびセルの統計
- Exadata固有のADDM推奨事項
- Exadataシステム統計
ということで、データベース管理がつかえるように Exadata Cloud Service (ExaCS)へ設定してみてみます。
■ Exadata Cloud Service作成
次を参考に Exadata Cloud Serviceを作成
Oracle Cloud: Exadata Cloud Service X8M を作成してみてみた
■ Oracle Cloudデータベースのデータベース管理の有効化に必要な権限
データベース管理(dpd)に特定のボールト内のデータベース・パスワード・シークレットの読取り権限を付与するポリシーを作成
● ポリシーの作成
1) OCIコンソール画面
[アイデンティティとセキュリティ] > [ポリシー]をクリック
3) ポリシーの作成画面
[ポリシーの作成]をクリックし必要ポリシーを設定して[作成]をクリック
① データベース管理(dpd)に特定のボールト内のデータベース・パスワード・シークレットの読取り権限を付与するポリシーを作成
Allow service dpd to manage objects in compartment {コンパートメント名}
Allow service dpd to read secret-family in compartment {コンパートメント名}
② また有効データベース管理権限がない場合、有効にするには、次のデータベース管理リソース・タイプに対する必要な権限
Allow group {グループ名} to manage dbmgmt-private-endpoints in compartment {コンパートメント名}
Allow group {グループ名} to read dbmgmt-work-requests in compartment {コンパートメント名}
Allow group {グループ名} to manage dbmgmt-family in compartment {コンパートメント名}
Allow group {グループ名} to use database-family in compartment {コンパートメント名}
Allow group {グループ名} to manage vnics in compartment {コンパートメント名}
Allow group {グループ名} to use subnets in compartment {コンパートメント名}
Allow group {グループ名} to use network-security-groups in compartment {コンパートメント名}
Allow group {グループ名} to use security-lists in compartment {コンパートメント名}
Allow group {グループ名} to manage virtual-network-family in compartment {コンパートメント名}
Allow group {グループ名} to manage secret-family in compartment {コンパートメント名}
Allow group {グループ名} to inspect dbmgmt-managed-databases in compartment {コンパートメント名}
Allow group {グループ名} to manage dbmgmt-jobs in compartment {コンパートメント名}
Allow group {グループ名} to read buckets in compartment {コンパートメント名}
■ dbsnmp ユーザの有効化
Oracle Cloud Databaseをモニターおよび管理するために必要な権限(DBSNMPなど)をデータベース・ユーザーに付与
1) DBSNMPユーザーアカウント有効(OPEN)確認
SQL> select USERNAME, ACCOUNT_STATUS from dba_users where USERNAME='DBSNMP';
USERNAME ACCOUNT_STATUS
--------------------- --------------------------------
DBSNMP OPEN
2) DBSNMPユーザーアカウント有効化
EXPIRED & LOCKED 状態の場合、次のように OPEN状態へ変更
SQL> alter user dbsnmp identified by <password> account unlock;
User altered.
SQL> connect dbsnmp/<password>
Connected.
3) 権限付与
Oracle Cloud Databaseをモニターおよび管理するために必要な権限をデータベース・ユーザー(DBSNMP)に付与
SQL> grant create procedure to dbsnmp;
Grant succeeded.
SQL> grant select any dictionary,select_catalog_role to dbsnmp;
Grant succeeded.
SQL> grant alter system to dbsnmp;
Grant succeeded.
SQL> grant advisor to dbsnmp;
Grant succeeded.
SQL> grant execute on dbms_workload_repository to dbsnmp;
Grant succeeded.
■ ボールトの作成
データベース・モニタリング・ユーザー資格証明および DBSNMPデータベース・ユーザー・パスワードをシークレットとしてボールト・サービスに登録する設定
● ボールトの作成
1) OCIコンソール画面
[アイデンティティとセキュリティ] > [ボールト]をクリック
2) ボールト画面
ボールトの名前を設定して、[ボールトの作成]をクリック
3) ボールトの作成画面
名前を設定して[ボールトの作成]をクリック
● キーの作成
1) ボールト画面
作成したボールトをクリックし、キーの作成をクリック
2) キーの作成画面
次の項目を入力し、[キーの作成]をクリック
・保護モード: 次のいずれかの操作を行います。
- ハードウェア・セキュリティ・モジュール(HSM)に格納されて処理されるマスター暗号化キーを作成するには、HSMを選択します。
- サーバーに格納されて処理されるマスター暗号化キーを作成するには、「ソフトウェア」を選択します。
・名前: キーを識別するための名前を入力
・キーのシェイプ: アルゴリズム: 次のいずれかのアルゴリズムを選択します。
- AES: Advanced Encryption Standard (AES)キーは、保存データの暗号化に使用できる対称キーです。
- RSA: Rivest - Shamir - Adleman (RSA)キーは、公開キーと秘密キーで構成される非対称キーであり、転送中のデータの暗号化、データの署名および署名済データの整合性の検証に使用できます。
- ECDSA: 楕円曲線暗号化デジタル署名アルゴリズム(ECDSA)キーは、データの署名および署名付きデータの整合性の検証に使用できる非対称キーです。
・キーのシェイプ: 長さ: 前のステップで選択した内容に応じて、AESおよびRSAキーのキー長をビット単位で選択するか、ECDSAキーのカーブIDを指定
● シークレット作成
1) ボールト画面
作成したボールトをクリックし、[シークレット]セクションをクリックして、[シークレット作成]をクリック
2) シークレットの作成画面
次の項目を入力し、[シークレットの作成]をクリック
・名前: シークレットを識別する名前を入力
・説明: シークレットを識別しやすい簡単な説明を入力
・暗号化キー: 作成したマスター暗号化キーを選択
・シークレット・タイプ・テンプレート: リストからテンプレート・タイプを選択することにより、入力するシークレット・コンテンツのフォーマットを指定します。
・シークレット・コンテンツ: DBSNNPユーザーのパスワードをを入力します。(シークレット・バンドルに許容される最大サイズは25 KBです。)
■プライベート・エンドポイントの作成
● Private Endpoint 設定
データベース管理をOracle Cloudデータベースに接続するには、プライベート・エンドポイントを作成する必要があります。
プライベート・エンドポイントは、Oracle CloudデータベースにアクセスできるVCN内のデータベース管理の表現であり、選択したサブネット内でプライベートIPアドレスを持つVNICとして機能します。プライベート・エンドポイントは、Oracle Cloud Databaseと同じサブネット上にある必要はありませんが、Oracle Cloud Databaseと通信できるサブネット上にある必要があります。
1) OCIコンソール画面
[Observability & Management] > [データベース管理] セクションの[管理]をクリック
2) プライベート・エンドポイント画面
[データベース管理] > [管理]セクションの[プライベート・エンドポイント]画面で、[プライベート・エンドポイントの作成]をクリック
3) プライベート・エンドポイントの作成画面
次の情報を入力し、[プライベート・エンドポイントの作成]をクリック
・名前: プライベート・エンドポイントの名前を入力
・説明: オプションで、プライベート・エンドポイントの説明を入力
・コンパートメントの選択: プライベート・エンドポイントを配置するコンパートメントを選択
・RACデータベースでこのプライベート・エンドポイントを使用: RACのデータベース管理プライベート・エンドポイントを作成する場合は、このチェック・ボックスを選択
・仮想クラウド・ネットワーク: Oracle CloudデータベースにアクセスできるVCNを選択
・サブネット: 選択したVCN内のサブネットを選択
・ネットワーク・セキュリティ・グループ: オプションで、ベア・メタルまたは仮想マシンDBシステムまたはExadata VMクラスタに追加されたNSGを選択
「+別のセキュリティ・グループ」をクリックして、別のNSGを選択することもできます。
● 1521 Security Route 設定
Endpoint と Exadata が 1521 で通信できるように、Security Route を追加します。
■データベース管理の有効化
1) OCIコンソール画面
[監視および管理] > [データベース管理]の[管理] をクリック
2) 管理対象データベース画面
[データベース管理の有効化]をクリック
3) データベース管理の有効化画面
次の項目を設定し、[データベース管理の有効化]を
・データベース・タイプ: 管理するOracle Database Cloudソリューションを選択
・VMクラスタ(Exadata Cloudサービスの場合): ExaCSの VMクラスタを選択
・データベース: Oracle Cloud Databaseを選択
・サービス名: "DB_UNIQUE_NAME.Host_Domain_Name"を入力
サービス名は、次のSQLで確認できます。
SQL> show parameter service
NAME TYPE VALUE
------------------------ ------- ------------------------------
service_names string cdb_6z5_nrt.clientsubnet.vcn.oraclevcn.com
・データベース・ユーザー名: データベースユーザー名 DBSNMPを入力
・既存のシークレットの使用または新しいシークレットの作成: 既存のシークレットの使用を選択
・データベース・ユーザー・パスワード・シークレットの場所: 事前に作成したシークレットを設定
・プライベート・エンドポイントの場所: 事前に作成したプライベート・エンドポイントを選択
・管理オプション: 次の2つの管理オプションから選択
- フル・マネジメント:このオプションには、データベース管理のすべての機能が追加のサービス・コストで含まれます。
「完全管理」オプションにある パフォーマンス・ハブ機能は、Standard Editionでは、含まれません。
- 基本管理:このオプションは、追加コストなしでOracle Cloud Databaseで使用できます。
■ データベース画面:データベースの監視メトリック画面
データベース情報にあるデータベース管理項目で、データベース管理の設定が有効化されていることを確認できます。
メトリックの項目にCPU、メモリ、I/O、表領域などのデータベースの監視に必要な20種類を超えるメトリックデータが定義されて表示されます。
また、メトリック値にしきい値を設定し、Notificationsでメール通知、またはFunctionsで処理を自動実行できます。
■ パフォーマンス・ハブ画面
1) データベース画面
データベース画面にある[パフォーマンス・ハブ]をクリック
2) パフォーマンス・ハブ画面
[レポート]をクリックして、AWR、ASHレポート、パフォーマンス・ハブをダウンロードすることができます。
・Exadata詳細画面
・Active Session History(ASH)分析
Active Session History(ASH)は、データベースへのアクティブなセッション情報を毎秒サンプリング
特定のジョブまたはセッションが応答しないがインスタンスの他の部分は通常どおりに動作している場合など、発生期間が短い一時的なパフォーマンスの問題を解決するのに役立ちます。
AWRの上位には出てこない短期間で完了するSQLの検索が可能で時間、セッション、モジュール、アクション、SQL IDなど様々なディメンションで分析することが可能です。
・リアルタイムSQLモニタリング
データベースで実行されているSQLの詳細、パフォーマンスを可視化し、大量のリソースを消費する長時間実行SQLやパラレルSQLに起因する実行時のパフォーマンス問題などを効果的に特定するのに役立ちます。
・SQLチューニング・アドバイザ
パフォーマンスが最適ではないSQLを特定し、改善の方法を明確な根拠に基づいてアドバイスします。
・AWRエクスプローラ
DatabaseのAWRを直接参照しロード・プロファイルや待機イベントといったインスタンス全体の実行統計をビジュアライズされ、管理対象データベースのAWRデータを調査および分析し、中央リポジトリとして使用して他のデータベースからAWRデータをインポート、分析および比較できます。
・SQLジョブ
単一のデータベース、またはフリート上でグループとして登録しているデータベース全体に対してSQLジョブ実行を行います。
■ フリート・サマリー画面
フリート・サマリー・ページでは、単一インスタンスおよびRACデータベースを含む複数のOracleデータベースを監視できます。これにより、データベースのフリート全体でパフォーマンスの問題の根本原因を事前に検出して特定し、パフォーマンスおよび構成関連のアラートに対応できます。RACデータベースの場合、フリート・サマリー・ページにはRAC環境の概要が表示され、複数のRACデータベースおよびインスタンスを監視できます。
1) OCIコンソール画面
[監視および管理] > [データベース管理] セクションの[フリート・サマリー]をクリック
2) フリート・サマリー画面
フリート・サマリーは、 オンプレミス、クラウド上で管理しているデータベース全体の稼働状況や、アラート等の問題を表示し、個々のデータベースのCPU,メモリ,I/O等のリソース、表領域使用率など状態を表示します。
■ 参考
・Database Managementの詳細
- Oracle Cloud Infrastructure(OCI)Database Management
・Oracle Cloud Infrastructure Documents
- データベース管理の有効化
- Oracle Cloudデータベースのデータベース管理の有効化に必要な権限