• /
  • EnglishEspañolFrançais日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

セルフホストCDBを使用したOracle監視のためのNRDOTのインストールと設定

|View as Markdown (English)

New Relic Distribution of OpenTelemetry(NRDOT)コレクターを使用し、データベース監視、クエリ分析、およびシステムヘルスメトリクスによって、Oracleコンテナ・データベース(CDB)のパフォーマンスに関する包括的なインサイトを取得します。構成されたCDB配下のすべてのプラガブル・データベース(PDB)がモニターされます。

ガイド付きインストレーション

代わりにNew Relic UIからインストールするには、one.newrelic.com > Integrations & Agents > Oracle (Database 360)に移動してください。このページでは、手動インストレーションについてのみ説明します。

前提条件

始める前に、次のものがあることを確認してください。

NRDOT Collectorをインストールする

Linux 環境に適したインストレーション配布方法を選択します。

データベースユーザーを構成する

マルチテナントOracleデータベースに必要な権限を持つ監視ユーザーを作成します。これには、C##プレフィックスを持つ共通ユーザーを作成する必要があります。

  1. 現在のアクティブなコンテナ・コンテキストをCDB$ROOTに設定するには、SYSユーザーとして次の文を実行します:

    ALTER SESSION SET CONTAINER = CDB$ROOT;
  2. マルチテナントデータベースの場合:

    1. ルートデータベースにアドミニストレーターとしてログインします。

    2. 新しいユーザーを作成するには、次のCREATE USERステートメントを実行します:

      CREATE USER c##<YOUR_DB_USERNAME> IDENTIFIED BY "<YOUR_DB_PASSWORD>" CONTAINER=ALL;
      GRANT CREATE SESSION TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;

      ヒント

      新しく作成されたユーザーは、C##プレフィックスを持つ共通ユーザーになります。Oracleでは、共通ユーザーにはC##プレフィックスが必須です。

  3. 監視ユーザーがコンテナ・データ・ビュー内のすべてのPDBの行を表示できるようにするには、CDBルートでSYSDBAとして次の文を実行します。これは、PDBごとのメトリクスとイベントに必要です。

    ALTER USER c##<YOUR_DB_USERNAME> SET CONTAINER_DATA=ALL CONTAINER=CURRENT;

    ヒント

    USER_PASSWORDがOracleの新しいユーザーパスワードの要件を満たしていることを確認します。

マルチテナントデータベースの監視権限を付与する

CDBルートで、SYSDBAとして次のGRANTステートメントを実行します。これらには、インスタンスの検出、メトリクスの収集、PDBごとの監視、およびイベントの収集が含まれます。これらを1つのスクリプトとしてまとめて実行することも、各ステートメントを個別に実行することもできます。

GRANT SELECT ON V_$INSTANCE TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$DATABASE TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$CONTAINERS TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$DATAFILE TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$SYSSTAT TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$CON_SYSSTAT TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$SYSMETRIC TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$CON_SYSMETRIC TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$SESSION TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$RESOURCE_LIMIT TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$OSSTAT TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$SGAINFO TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$ROWCACHE TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$PARAMETER TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON CDB_TABLESPACE_USAGE_METRICS TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON CDB_TABLESPACES TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON DBA_DATA_FILES TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON DBA_FREE_SPACE TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON DBA_RECYCLEBIN TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$SQL TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$SQL_PLAN_STATISTICS_ALL TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$LOCK TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$SESSION_EVENT TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON DBA_PROCEDURES TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON DBA_OBJECTS TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$PDBS TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON CDB_SERVICES TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON CDB_DATA_FILES TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON CDB_PROCEDURES TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON CDB_OBJECTS TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$ASM_DISKGROUP_STAT TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;
GRANT SELECT ON V_$ASM_DISK_STAT TO c##<YOUR_DB_USERNAME> CONTAINER=ALL;

ヒント

ASMディスクグループおよびディスクのメトリクスを収集する場合にのみ、V_$ASM_DISKGROUP_STATおよびV_$ASM_DISK_STATの権限が必要です。

NRDOT Collectorを構成する

CDB固有の設定でNRDOT Collectorを設定してください。

  1. 設定ファイルを作成します。ファイル名はoracle-config.yamlである必要があります。

    bash
    $
    sudo nano /etc/nrdot-collector/oracle-config.yaml
  2. 以下の設定内容を、前の手順で作成したoracle-config.yamlファイルに追加します。

    完全な設定

    この設定は、重要なベースラインメトリクスを取得します。完全なメトリクスカタログを確認するには、設定リファレンスを参照してください。

    oracle-config.yaml
    1
    receivers:
    2
    nroracledb:
    3
    endpoint: oracle.example.com:1521
    4
    username: C##newrelic
    5
    password: YOUR_PASSWORD
    6
    service: YOUR_CDB_SERVICE_NAME
    7
    collection_interval: 15s
    8
    events:
    9
    db.server.query_sample:
    10
    enabled: true
    11
    db.server.top_query:
    12
    enabled: true
    13
    db.server.session.wait_sample:
    14
    enabled: true
    15
    db.server.top_procedure:
    16
    enabled: true
    17
    db.server.query_plan:
    18
    enabled: true
    19
    20
    top_query_collection:
    21
    max_query_sample_count: 1000
    22
    top_query_count: 200
    23
    collection_interval: 60s
    24
    allowed_comment_keys:
    25
    - nr_service_guid
    26
    27
    query_sample_collection:
    28
    max_rows_per_query: 100
    29
    allowed_comment_keys:
    30
    - nr_service_guid
    31
    32
    session_wait_event_collection:
    33
    max_rows_per_query: 100
    34
    35
    top_procedure_collection:
    36
    max_procedure_sample_count: 1000
    37
    top_procedure_count: 250
    38
    collection_interval: 60s
    39
    40
    # Metrics configuration - This baseline configuration captures essential metrics. To enable advanced monitoring and extended telemetry, refer to the full configuration documentation
    41
    metrics:
    42
    oracledb.buffer_cache.utilization:
    43
    enabled: true
    44
    attributes:
    45
    - oracle.db.pdb
    46
    oracledb.consistent_gets:
    47
    enabled: true
    48
    attributes:
    49
    - oracle.db.pdb
    50
    oracledb.cpu_time:
    51
    enabled: true
    52
    attributes:
    53
    - oracle.db.pdb
    54
    oracledb.database.cpu.utilization:
    55
    enabled: true
    56
    attributes:
    57
    - oracle.db.pdb
    58
    oracledb.database.wait.utilization:
    59
    enabled: true
    60
    attributes:
    61
    - oracle.db.pdb
    62
    oracledb.db_block_gets:
    63
    enabled: true
    64
    attributes:
    65
    - oracle.db.pdb
    66
    oracledb.enqueue_deadlocks:
    67
    enabled: true
    68
    attributes:
    69
    - oracle.db.pdb
    70
    oracledb.execution.utilization:
    71
    enabled: true
    72
    attributes:
    73
    - oracledb.parse.type
    74
    - oracle.db.pdb
    75
    oracledb.executions:
    76
    enabled: true
    77
    attributes:
    78
    - oracle.db.pdb
    79
    oracledb.hard_parses:
    80
    enabled: true
    81
    attributes:
    82
    - oracle.db.pdb
    83
    oracledb.host.cpu.utilization:
    84
    enabled: true
    85
    attributes:
    86
    - oracle.db.pdb
    87
    oracledb.library_cache.utilization:
    88
    enabled: true
    89
    attributes:
    90
    - oracle.db.pdb
    91
    oracledb.logical_reads:
    92
    enabled: true
    93
    attributes:
    94
    - oracle.db.pdb
    95
    oracledb.logons:
    96
    enabled: true
    97
    attributes:
    98
    - oracle.db.pdb
    99
    oracledb.parse.rate:
    100
    enabled: true
    101
    attributes:
    102
    - oracledb.parse.result
    103
    - oracle.db.pdb
    104
    oracledb.parse_calls:
    105
    enabled: true
    106
    attributes:
    107
    - oracle.db.pdb
    108
    oracledb.pga_memory:
    109
    enabled: true
    110
    attributes:
    111
    - oracle.db.pdb
    112
    oracledb.physical_io.requests:
    113
    enabled: true
    114
    attributes:
    115
    - disk.io.direction
    116
    - disk.io.block_size
    117
    - oracle.db.pdb
    118
    oracledb.physical_reads:
    119
    enabled: true
    120
    attributes:
    121
    - oracle.db.pdb
    122
    oracledb.physical_writes:
    123
    enabled: true
    124
    attributes:
    125
    - oracle.db.pdb
    126
    oracledb.processes.usage:
    127
    enabled: true
    128
    oracledb.sessions.usage:
    129
    enabled: true
    130
    attributes:
    131
    - session_type
    132
    - session_status
    133
    - oracle.db.pdb
    134
    oracledb.sga.usage:
    135
    enabled: true
    136
    attributes:
    137
    - oracledb.sga.component.name
    138
    oracledb.shared_pool.utilization:
    139
    enabled: true
    140
    attributes:
    141
    - oracle.db.pdb
    142
    oracledb.sql_service.response.duration:
    143
    enabled: true
    144
    attributes:
    145
    - oracle.db.pdb
    146
    oracledb.sqlnet.io.transferred:
    147
    enabled: true
    148
    attributes:
    149
    - network.io.direction
    150
    - destination.type
    151
    - oracle.db.pdb
    152
    oracledb.tablespace_size.usage:
    153
    enabled: true
    154
    attributes:
    155
    - tablespace_name
    156
    - oracle.db.pdb
    157
    oracledb.transactions.usage:
    158
    enabled: true
    159
    oracledb.user_commits:
    160
    enabled: true
    161
    attributes:
    162
    - oracle.db.pdb
    163
    oracledb.user_rollbacks:
    164
    enabled: true
    165
    attributes:
    166
    - oracle.db.pdb
    167
    168
    # Resource attributes attached to all metrics/logs (all enabled by default)
    169
    resource_attributes:
    170
    oracle.db.edition:
    171
    enabled: true
    172
    exporters:
    173
    otlp/newrelic:
    174
    endpoint: https://otlp.nr-data.net:4318
    175
    headers:
    176
    api-key: YOUR_LICENSE_KEY
    177
    compression: gzip
    178
    retry_on_failure:
    179
    enabled: true
    180
    initial_interval: 5s
    181
    max_interval: 30s
    182
    max_elapsed_time: 300s
    183
    sending_queue:
    184
    enabled: true
    185
    sizer: bytes
    186
    queue_size: 100_000_000
    187
    num_consumers: 10
    188
    batch:
    189
    sizer: bytes
    190
    max_size: 1_000_000
    191
    min_size: 0
    192
    flush_timeout: 5s
    193
    service:
    194
    pipelines:
    195
    metrics/oracledb:
    196
    receivers: [nroracledb]
    197
    exporters: [otlp/newrelic]
    198
    logs/oracledb:
    199
    receivers: [nroracledb]
    200
    exporters: [otlp/newrelic]
  3. 「イベント」セクションで、これらのイベントタイプを有効にしてメトリクスを収集します:

    イベント

    説明

    db.server.query_sample

    現在のSQL、待機状態、およびブロックの詳細をキャプチャするセッションごとのアクティブなクエリのサンプル。

    db.server.top_query

    実行統計とクエリプランを含む、CPUまたは経過時間ごとの上位N個のSQLステートメント。

    db.server.session.wait_sample

    v$session_event

    からのセッションごとの累積待機回数と期間。

    db.server.top_procedure

    実行統計を含む、リソース使用量でランク付けされた上位N個のストアドプロシージャです。

    db.server.query_plan

    上位クエリおよびサンプリングされたクエリの実行計画の詳細。

  4. 各イベントタイプの収集設定を構成します:

    設定セクション

    パラメータ

    価値

    top_query_collection

    max_query_sample_count

    1000

    top_query_collection

    top_query_count

    200

    top_query_collection

    collection_interval

    60秒

    query_sample_collection

    max_rows_per_query

    100

    session_wait_event_collection

    max_rows_per_query

    100

    top_procedure_collection

    max_procedure_sample_count

    1000

    top_procedure_collection

    top_procedure_count

    250

    top_procedure_collection

    collection_interval

    60秒

    ヒント

    New Relic OTLP エンドポイント設定およびOpenTelemetryベストプラクティスの詳細については、 OpenTelemetry OTLP ドキュメントを参照してください。

NRDOT Collectorの設定を更新

oracle-config.yamlファイルを使用するようにNRDOT Collectorの設定を更新してください:

bash
$
sudo sed -i 's|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/config.yaml"|OTELCOL_OPTIONS="--config=/etc/nrdot-collector/oracle-config.yaml"|' /etc/nrdot-collector/nrdot-collector.conf

ヒント

もできます。

  • 複数のレシーバーを構成する:1つのコレクターから複数のOracle データベースインスタンスをモニターします。
  • SQLクエリレシーバーの構成:Oracleデータベースからカスタムメトリックを収集します。
  • OracleデータベースをAPMとリンクする:アプリケーションパフォーマンスをデータベース操作と関連付けます。これにより、どのアプリケーションが特定のデータベースワークロードを生成しているかを正確に確認できます。
  • シークレット管理のセットアップ:データベースの認証情報などの機密情報を安全に管理します。これにより、設定ファイルへの機密データのハードコーディングを回避し、監視セットアップのセキュリティを強化できます。

NRDOT Collectorを再起動します

設定を更新した後、NRDOT Collectorを再起動します:

bash
$
sudo systemctl restart nrdot-collector.service
$
sudo systemctl status nrdot-collector.service

ヒント

新しい設定を有効にするために、設定を変更した後は常にNRDOT Collectorを再起動してください。

データを探す、使う

データの収集が開始されると、New Relic UIから包括的なOracleデータベース監視にアクセスできます。

New RelicでOracleデータベースエンティティを見つけるには:

  1. https://one.newrelic.com > All Capabilities > Databasesに移動します。
  2. 検索条件をinstrumentation.provider = opentelemetryに設定します。
  3. エンティティのリストからOracleデータベースを選択します。

トラブルシューティング

New RelicでOracle CDB監視設定をトラブルシューティングする方法を学びます。

メトリクスリファレンス

NRDOT Collectorによって収集される利用可能なメトリクスについて説明します。

RDS計装

New RelicでRDS監視用にOracleデータベースを設定する方法を学びます。

Dockerのインストール

Dockerですでに実行されているOracleデータベースインスタンスのシブリングコンテナとして、NRDOT Collectorを実行する方法について説明します。

Copyright © 2026 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.