このページは機械翻訳したものです。

Autonomous Databaseメトリックを使用したパフォーマンスのモニター

メトリック、アラームおよび通知を使用して、データベースのヘルス、容量およびパフォーマンスを監視できます。Oracle Cloud Infrastructure ConsoleまたはモニタリングAPIを使用して、メトリックを表示できます。

Autonomous Databaseインスタンスのメトリックの表示

Autonomous Databaseメトリックを表示するステップを示します。

ノート

メトリックを表示するには、(コンソール、REST APIまたは別のツールのいずれを使用しているかに関係なく) Oracle Cloud Infrastructureポリシーで指定された必要なアクセス権が必要です。詳細は、ポリシーの開始を参照してください。

必要に応じて、次のステップを実行します:

  • Oracle Cloudの横にあるナビゲーション・アイコンをクリックして、Oracle Cloud Infrastructureコンソールを開きます。

  • Oracle Cloud Infrastructureの左側のナビゲーション・メニューで「Oracle Database」をクリックし、ワークロードに応じて「Autonomous Data Warehouse」、「Autonomous JSON Database」または「Autonomous Transaction Processing」のいずれかをクリックします。
  • 「Autonomous Databases」ページで、「表示名」列の下のリンクからAutonomous Databaseを選択します。

Autonomous Databaseインスタンスのメトリックを表示するには:

  1. 「詳細」ページの「リソース」で、「メトリック」をクリックします。
  2. メトリックごとにチャートがあります。各チャートで、「間隔」および「統計」を選択するか、デフォルト値を使用できます。

次の表に、Oracle Cloud Infrastructure Consoleに表示されるデフォルト・メトリックを示します。

すべてのデータベース・メトリックおよびディメンションのリストは、使用可能なメトリック: oci_autonomous_databaseを参照してください。

メトリック名 説明

CPU使用率

すべてのコンシューマ・グループ間で集計された、パーセントで表されたCPU使用率。使用率は、データベースで使用可能なCPUの数(ECPUの数)を基準にしてレポートされます。

データベースでOCPUを使用する場合、許可されるCPUの数はOCPUの数の2倍になります。

ストレージの使用状況

プロビジョニングされたストレージ容量のうち、現在使用中の割合。すべての表領域の割当て済領域の合計を表します。

セッション

データベース内のセッション数。

実行数

選択した間隔中にSQL文を実行したユーザー・コールおよび再帰コールの数。

実行中の文

選択した間隔中に、すべてのコンシューマ・グループ間で集計した実行中のSQL文の数。

キュー済のステートメント

選択した間隔中に、すべてのコンシューマ・グループ間で集計したキュー済SQL文の数。

データベース可用性

データベースは、選択した時間間隔中に接続に使用できます(このメトリックのデータは5分遅れます)。このメトリックで可能な値:

  • 1 = データベースが使用可能
  • 0 = データベースは使用できません。

データベースが使用可能でない場合にトリガーされるアラーム(値0)を設定できます。

ノート

可用性は、Oracle PaaSおよびIaaS Public Cloud Servicesのピラー・ドキュメント配信ポリシー(Autonomous Database可用性サービス・レベル合意を参照)で説明されている月次稼働時間率に基づいて計算されます。

失敗した接続

選択した間隔中にデータベースへの接続に失敗した合計数が表示されます。

接続試行がデータベースに到達し、ORA-12514ORA-12519またはORA-12529のいずれかのエラーを記録すると、接続は失敗としてカウントされます。

メトリックにアラームを作成するには、メトリック・チャートまたは表で、「オプション」をクリックし、「この問合せにアラームを作成」を選択します。アラームの設定および使用の詳細は、アラームの管理を参照してください。

メトリックの詳細は、使用可能なメトリック: oci_autonomous_databaseを参照してください。

モニタリングAPIを使用して、メトリックを表示することもできます。詳細は、モニタリングAPIを参照してください。

ログおよび監査証跡の表示

Autonomous Databaseのログおよび監査証跡を表示するステップを示します。

ノート

ログおよび監査試行を表示するには、(コンソール、REST APIまたは別のツールを使用して) Oracle Cloud Infrastructureポリシーで指定された必要なアクセス権が必要です。詳細は、ポリシーの開始を参照してください。

Autonomous Databaseインスタンスの監査証跡およびログを表示するには:

  1. 「詳細」ページの「リソース」で、「メトリック」をクリックします。
  2. 「メトリック」領域で、「監査およびログの表示」をクリックします。
  3. 「ロギング」領域で、「ログ」をクリックしてログ情報を表示します。
  4. ログ領域で、「監査」をクリックして監査情報を表示します。

詳細は、Audit Autonomous DatabaseおよびAudit Logsを参照してください。

コンパートメント内のAutonomous Databasesのメトリックの表示

コンパートメント内のAutonomous Databaseのメトリックを表示するステップを示します。

メトリックを表示するには、(コンソール、REST APIまたはその他のツールのいずれを使用しているかにかかわらず) Oracle Cloud Infrastructureポリシーで指定された必要なアクセス権が必要です。詳細は、ポリシーの開始を参照してください。

  • Oracle Cloudの横にあるナビゲーション・アイコンをクリックして、Oracle Cloud Infrastructureコンソールを開きます。

  • 左側のナビゲーション・リストから、「監視および管理」をクリックします。「モニタリング」で、「サービス・メトリック」をクリックします。

メトリック・サービスを使用してAutonomous Databaseメトリックを表示するには:

  1. 「サービス・メトリック」ページの「コンパートメント」で、コンパートメントを選択します。
  2. 「サービス・メトリック」ページの「メトリック・ネームスペース」で、「oci_autonomous_database」を選択します。
  3. コンパートメント内に複数のAutonomous Databaseがある場合、「集計メトリック・ストリーム」を選択すると、Autonomous Database全体で集計されたメトリックを表示できます。
  4. 表示されるメトリックを制限する場合は、「ディメンション」の横にある「追加」をクリックします(ディメンションをすでに追加している場合は「編集」をクリックします)。
    1. 「ディメンション名」フィールドでディメンションを選択します。
    2. 「ディメンション値」フィールドで値を選択します。
    3. 「完了」をクリックします

    「ディメンションの編集」ダイアログで、 「+追加ディメンション」をクリックして別のディメンションを追加します。ディメンションを削除するには、「x」をクリックします。

特定のメトリックにアラームを作成するには、「オプション」をクリックし、「この問合せにアラームを作成」を選択します。アラームの設定および使用の詳細は、アラームの管理を参照してください。

Autonomous Databaseのメトリックとディメンション

メトリックとディメンションを表示するインスタンスを制限できます。使用可能なディメンションには、ワークロード・タイプ、インスタンス表示名、リージョンおよびインスタンスOCIDが含まれます。

ディメンションを使用するには、Oracle Cloud Infrastructureコンソールの「サービス・メトリック」ページで値を選択するか、APIを使用してディメンション値を設定します。メトリックの表示およびメトリック・ディメンションの選択は、コンパートメント内のAutonomous Databasesのメトリックの表示を参照してください。

Autonomous Databaseでのカスタム・メトリックの使用

Autonomous Databaseでカスタム・メトリックを作成および公開する方法について説明します。

Autonomous Databaseには、OCIモニタリング・サービスを通じて利用できる多くのデータベース関連メトリックが用意されています。また、カスタム・メトリックを作成して、独自のメトリックを収集、公開および分析できます。カスタム・メトリックは、Autonomous Databaseインスタンスから指定されたデータを収集し、OCI SDKによって提供されるREST APIを使用してOCIモニタリング・サービスにデータを公開します。

前提条件

  1. Oracle Cloud Free Tierまたは有料クラウド・アカウントを介してOracle Cloud Infrastructureのアクセスを取得します。

    詳細は、Oracle Cloudアカウントの取得を参照してください。

  2. Autonomous Databaseインスタンスを作成するか、既存のAutonomous Databaseインスタンスにアクセスできます。

    詳細は、Autonomous Databaseインスタンスのプロビジョニングを参照してください。

  3. Autonomous Databaseインスタンスの管理資格証明を取得します。

  4. データベース・アクションまたはSQL DeveloperやSQL*PlusなどのOracle Databaseクライアントを使用して、データベースに接続します。

    詳細は、Autonomous Databaseへの接続を参照してください。

  5. OCIモニタリング・サービスおよびOCI Identity and Access Managementにアクセスする必要があります。

    詳細は、APIを使用したカスタム・メトリックの公開を参照してください。

OCIモニタリング・サービスによるカスタム・メトリックの概要

次の図は、Autonomous Databaseでカスタム・メトリックを作成および公開するステップを示しています。これは、Autonomous Databaseインスタンスで実行されているスクリプトを使用してメトリック・データを収集し、このデータをOCIモニタリング・サービスに公開し、メトリック値のアラームおよび通知を作成する方法を示しています。



  • Autonomous DatabaseインスタンスにPL/SQLスクリプトを作成してデプロイします。このスクリプトは定期的に実行され、カスタム・メトリックを計算、収集およびOCIモニタリング・サービスに公開します。

  • Autonomous Databaseインスタンスは、パブリック・エンドポイントまたはプライベート・エンドポイントに配置できます。Autonomous DatabaseインスタンスとOCIモニタリング・サービス間の通信は、Oracle Cloudネットワーク上で行われます。つまり、OCIモニタリング・サービスでメトリックを公開するために、サービス・ゲートウェイを作成する必要はありません。

カスタム・メトリックの作成および公開

カスタム・メトリックを作成して公開するには:

  1. OCI Identity and Access Managementで、Autonomous Databaseインスタンスの動的グループを作成し、動的グループがOCIモニタリング・サービスにメトリックをポストすることを認可するポリシーを作成します。

    たとえば:

    1. Oracle Cloud Infrastructureコンソールで、「アイデンティティとセキュリティ」をクリックします。
    2. 「アイデンティティ」で、「ドメイン」をクリックし、アイデンティティ・ドメインを選択します(または、新しいアイデンティティ・ドメインを作成します)。
    3. 「アイデンティティ・ドメイン」で、「動的グループ」をクリックします。
    4. 「動的グループの作成」をクリックし、「名前」「説明」およびルールを入力します。

      たとえば、Autonomous Databaseインスタンスに対してadb_dgという名前の動的グループを作成し、ルールを作成します:

      ALL {resource.type = 'autonomousdatabase', resource.compartment.id = 'OCID_of_compartment'}

      または、コンパートメント内のすべてのインスタンスではなく、単一のAutonomous Databaseインスタンスを選択できます:

      ALL {resource.type = 'autonomousdatabase', resource.id = 'OCID_of_autonomousdatabase_instance'}


    5. 「作成」をクリックします。
    6. 動的グループを認可するOCI Identity and Access Management (IAM)ポリシーを作成します。

      たとえば、ポリシーadb_dg_policyを使用してOCIモニタリング・サービスにメトリックをポストすることを動的グループadb_dgに認可するポリシーを作成します:

      Allow dynamic-group adb_dg to use metrics in compartment OCID_of_compartment


    ポリシーを定義すると、定義adb_dgを持つ動的グループがコンパートメントにメトリックを投稿する権限を持ちます。

    この時点で、Autonomous Databaseで実行されているPL/SQLルーチンは、OCIモニタリング・サービスにメトリックを公開する権限のあるAutonomous Databaseユーザーがいないため、OCIモニタリング・サービスにメトリックを投稿できません。この機能は、次のステップ(ステップ2c)でリソース・プリンシパルを有効にするときに指定します。

  2. Autonomous Databaseインスタンスで必要な権限を持つ新しいデータベース・ユーザーまたはスキーマを作成するか、必要な権限で既存のデータベース・ユーザーまたはスキーマを更新します。

    たとえば:

    1. データベース・ユーザーを作成するか、既存のユーザーを使用してメトリックを公開します。

      たとえば、Autonomous Databaseインスタンスで新しいユーザーECOMMERCE_USERを作成します:

      CREATE USER ECOMMERCE_USER IDENTIFIED BY "password";

      これで、新しいユーザーECOMMERCE_USERになりました。次のステップは、このユーザーまたは指定したユーザーと同じです。ただし、別の名前でユーザーを作成する場合は、ECOMMERCE_USERを代替ユーザー名に置き換える必要があります。

    2. 必要なOracle Database関連の権限をユーザーに付与します。
      GRANT CREATE TABLE, ALTER ANY INDEX, CREATE PROCEDURE, 
             CREATE JOB, SELECT ANY TABLE, EXECUTE ANY PROCEDURE, UPDATE ANY TABLE, 
             CREATE SESSION, UNLIMITED TABLESPACE, CONNECT, RESOURCE 
             TO ECOMMERCE_USER;
      GRANT  SELECT ON "SYS"."V_$PDBS" TO ECOMMERCE_USER;
      GRANT  EXECUTE ON "C##CLOUD$SERVICE"."DBMS_CLOUD" to ECOMMERCE_USER;
      GRANT  SELECT ON SYS.DBA_JOBS_RUNNING TO ECOMMERCE_USER;
    3. Oracle Cloudリソース・プリンシパルのOracle Database資格証明を有効にし、ユーザーにアクセス権を付与します。

      このステップでは、ステップ1で作成した動的グループadb_dgをデータベース・ユーザーECOMMERCE_USERに接続し、メトリックをOCIモニタリング・サービスにポストする権限をユーザーに付与します。

      たとえば:

      EXEC DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(username => 'ECOMMERCE_USER');

      詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。

      リソース・プリンシパル認証の代替として、認証にOCIネイティブ資格証明を使用できます。詳細は、CREATE_CREDENTIALプロシージャに関する項を参照してください。

    4. (オプション)前のステップで完了した操作を確認します。

      たとえば:

      SELECT OWNER, CREDENTIAL_NAME FROM DBA_CREDENTIALS WHERE CREDENTIAL_NAME = 'OCI$RESOURCE_PRINCIPAL'  AND OWNER =  'ADMIN';

      ADMIN以外のユーザーがOCIリソース・プリンシパルにアクセスできるかどうかを確認するには、たとえば、ECOMMERCE_USERがデータベース資格証明にアクセスできるかどうかをチェックするには、DBA_TAB_PRIVSビューを使用します。

      SELECT * FROM DBA_TAB_PRIVS WHERE DBA_TAB_PRIVS.GRANTEE='ECOMMERCE_USER';
  3. メトリック・データを公開し、Autonomous Databaseインスタンスで実行するようにスクリプトをスケジュールするPL/SQLスクリプトを作成します。
    1. たとえば、スター・スキーマ・ベンチマーク・サンプル・データの行をカウントし、OCIモニタリング・サービスにパブリッシュするメトリックを含むPL/SQLスクリプトを作成します。
      CREATE OR REPLACE PROCEDURE publish_lineorder_metric (p_sql_statement IN VARCHAR2)
      IS
      l_result NUMBER;
      l_compartment_ocid VARCHAR2(255);
      l_db_name VARCHAR2(255);
      l_region VARCHAR2(255);
      l_json_payload CLOB;
      l_cloud_identity CLOB;
      BEGIN
      
      -- 1. Execute the SQL statement and get the result
      EXECUTE IMMEDIATE p_sql_statement INTO l_result;
       
       -- 2. Get compartment OCID, DB name, and region from cloud identity
       SELECT cloud_identity INTO l_cloud_identity FROM v$pdbs;
        
       l_compartment_ocid := JSON_VALUE(l_cloud_identity, '$.COMPARTMENT_OCID');
       l_db_name := JSON_VALUE(l_cloud_identity, '$.DATABASE_NAME');
       l_region := JSON_VALUE(l_cloud_identity, '$.REGION');
       
      DBMS_OUTPUT.PUT_LINE(l_cloud_identity);
       
       -- 3. Construct the JSON payload for the metric
      
       l_json_payload :=
       '{' ||
       ' "metricData": [' ||
       ' {' ||
       ' "namespace": "custom_metrics",' ||
       ' "compartmentId": "' || l_compartment_ocid || '",' ||
       ' "name": "lineorder_metric",' ||
       ' "dimensions": {' ||
       ' "dbName": "' || l_db_name || '"' ||
       ' },' ||
       ' "datapoints": [' ||
       ' {' ||
       ' "timestamp": "' || TO_CHAR(SYSTIMESTAMP AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"') || '",' ||
       ' "value": ' || l_result ||
       ' }' ||
       ' ]' ||
       ' }' ||
       ' ]' ||
       '}';
       
       -- 4. Publish the metric using DBMS_CLOUD.SEND_REQUEST
      
       DECLARE
       l_response DBMS_CLOUD_TYPES.resp;
       BEGIN
       l_response := DBMS_CLOUD.SEND_REQUEST(
       credential_name => 'OCI$RESOURCE_PRINCIPAL',
       uri => 'https://telemetry-ingestion.' || l_region || '.oraclecloud.com/20180401/metrics',
       method => 'POST',
       body => UTL_RAW.CAST_TO_RAW(l_json_payload)
       );
       
       –- 5. Check response status
      
       IF DBMS_CLOUD.GET_RESPONSE_STATUS_CODE(l_response) = 200 THEN
       DBMS_OUTPUT.PUT_LINE('Metric published successfully!');
       ELSE
       DBMS_OUTPUT.PUT_LINE('Error publishing metric: ' || DBMS_CLOUD.GET_RESPONSE_STATUS_CODE(l_response));
       DBMS_OUTPUT.PUT_LINE(DBMS_CLOUD.GET_RESPONSE_TEXT(l_response));
       END IF;
       
       EXCEPTION
       WHEN OTHERS THEN
       DBMS_OUTPUT.PUT_LINE('Error during SEND_REQUEST: ' || SQLERRM);
       END;
      EXCEPTION
       WHEN OTHERS THEN
       DBMS_OUTPUT.PUT_LINE('Error: ' || SQLERRM);
      END;
      /

      詳細は、PostMetricDataを参照してください。

    2. カスタム・メトリック・データ・ポイントをコールして公開するジョブを1分に1回スケジュールします。本番では、スケジュールはニーズに応じて実行するように構成されます。
      BEGIN
         DBMS_SCHEDULER.CREATE_JOB (
            job_name => 'publish_lineorder_count_job',
            job_type => 'STORED_PROCEDURE',
            job_action => 'ECOMMERCE_USER.publish_lineorder_metric',
            number_of_arguments => 1,
            start_date => SYSTIMESTAMP,
            repeat_interval => 'FREQ=MINUTELY;INTERVAL=1',
            enabled => FALSE,
            AUTO_DROP => FALSE,
            comments => 'Publishes the count of rows in SSB.LINEORDER every 1 minute'
      );
       
        DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE (
             job_name => 'publish_lineorder_count_job',
             argument_position => 1,
             argument_value => 'SELECT COUNT(*) FROM SSB.LINEORDER'
       );
       
         DBMS_SCHEDULER.ENABLE('ECOMMERCE_USER.PUBLISH_LINEORDER_COUNT_JOB');
      END;
  4. メトリック・エクスプローラで公開されたカスタム・メトリックを確認します。
    1. Oracle Cloud Infrastructure Consoleのナビゲーション・メニューから、「監視および管理」をクリックします。
    2. 「監視および管理」で、「メトリック・エクスプローラ」をクリックします。
    3. メトリック・エクスプローラで、ネームスペースとしてcustom_metrics_from_adbresourceGroupとしてecommerece_adb、メトリック名としてlineorder_metric (PL/SQLスクリプトで作成したメトリックの名前)を選択します。

      カスタム・メトリックに設定したすべてのメタデータおよびディメンションを使用できます。メトリック問合せ言語(MQL)問合せを作成して、ニーズおよびユース・ケースに応じてこれらのメトリックを分析できます。また、メトリック・ストリームにOracle Cloud Alarmsを設定して、業務チームにアラートを送信することもできます。これにより、選択したAutonomous Databaseメトリックの可観測性ループが自動化されます。メトリック・エクスプローラでは、デフォルトでメトリック画面にグラフ・ビューが表示され、リスト・ビューを有効にしてデータ・ポイントを強調表示できるオプションがあることに注意してください。

カスタム・メトリックを作成した後は、OCIモニタリング・サービスの事前定義済メトリックと同様にメトリックを使用できます。つまり、メトリック問合せ言語(MQL)を使用してカスタム・メトリックを分析し、対象イベントが発生するたびに通知するアラームおよび通知を設定できます。

詳細は、次を参照してください: