当社のOracleデータベースインテグレーションはデフォルトでデータベース、テーブルスペース、メモリに関する主要なパフォーマンスメトリクスを収集します。設定をカスタマイズすることで、さらに多くのメトリクスを収集し、データベースのパフォーマンスを詳細に把握することができます。
インテグレーションのインストールと、当社がどのようなデータを収集するかについてお読みください。
互換性および要件
New Relicのインテグレーションは、バージョン11.2から23までのOracleデータベースと互換性があります。
インテグレーションをインストールする前に、以下の要件を満たしていることを確認してください。
New Relic InfrastructureエージェントによってサポートされるLinuxディストリビューション。
重要
RHEL、CentOS、およびOELのバージョン7より前のバージョンはサポートされていません。
infrastructureエージェントがホストにまだインストールされていない場合は、インストールします。
infrastructureエージェントが実行されているのと同じホストにOracle Instant Clientをインストールします。
rootユーザーの環境変数
ORACLE_HOMEを構成して、正しいOracleデータベースディレクトリを参照するようにします。必要なグローバルビューに対するCONNECT権限とSELECT権限の両方を持つOracleデータベースユーザー。
Oracleデータベースリスナー
listener.oraは、リモート接続を受け入れるように設定する必要があります。デフォルトでは、Oracleデータベースはローカルホスト上の接続のみをリッスンします。
重要
ARM64アーキテクチャはサポートされていません。
インストールと有効化
Oracleデータベースインテグレーションのインストール方法:
Infrastructureエージェントをインストールし、
INTEGRATION_FILE_NAME変数をnri-oracledbに置き換えます。ディレクトリをインテグレーションフォルダーに変更します。
bash$cd /etc/newrelic-infra/integrations.dサンプルの設定ファイルのコピー:
bash$sudo cp oracledb-config.yml.sample oracledb-config.yml環境設定で説明したとおり、
oracledb-config.ymlファイルを編集します。
追加の注:
- Advanced: tarballファイルからインテグレーションをインストールすることもできます。これにより、インストールと設定のプロセスを完全に制御できるようになります。
- On-host integrations do not automatically update. 最善の結果を得るため、インテグレーションパッケージの更新とInfrastructureエージェントの更新を定期的に実施してください。
このドキュメントはインストールの役に立ちましたか?
設定
Oracle DBサーバーを有効にする
Oracleデータベースで次のステートメントを実行して、新しいユーザーを作成し、ユーザー権限を割り当てます。USERNAMEおよび同様のユーザー固有の値は置き換える必要があります。
使用しているデータベースの種類を選択します。ユーザーメンテナンスについて不明点がある場合は、Oracleドキュメントを参照するか、システムまたはデータベースアドミニストレーターにお問い合わせください。
ユーザーに
CONNECT権限を付与します。GRANT CONNECT TO USERNAME;以下のグローバルビューに対して、ユーザーに
SELECT権限を付与します。cdb_data_filescdb_pdbscdb_usersdba_usersgv_$sysmetricgv_$pgastatgv_$instancegv_$filestatgv_$parametersys.dba_data_filesgv_$sessiongv_$sesstatgv_$statnamegv_$rowcachegv_$sgagv_$sysstatv_$databasegv_$librarycachegv_$sqlareagv_$system_eventdba_tablespacesgv_$session_waitgv_$rollstatv_$instance以下のSQL文を1つのスクリプトにまとめて実行するか、個別に実行してください。
GRANT SELECT ON cdb_data_files TO USERNAME;GRANT SELECT ON cdb_pdbs TO USERNAME;GRANT SELECT ON cdb_users TO USERNAME;GRANT SELECT ON dba_users TO USERNAME;GRANT SELECT ON gv_$sysmetric TO USERNAME;GRANT SELECT ON gv_$pgastat TO USERNAME;GRANT SELECT ON gv_$instance TO USERNAME;GRANT SELECT ON gv_$filestat TO USERNAME;GRANT SELECT ON gv_$parameter TO USERNAME;GRANT SELECT ON sys.dba_data_files TO USERNAME;GRANT SELECT ON DBA_TABLESPACES TO USERNAME;GRANT SELECT ON DBA_TABLESPACE_USAGE_METRICS TO USERNAME;GRANT SELECT ON gv_$session TO USERNAME;GRANT SELECT ON gv_$sesstat TO USERNAME;GRANT SELECT ON gv_$statname TO USERNAME;GRANT SELECT ON gv_$rowcache TO USERNAME;GRANT SELECT ON gv_$sga TO USERNAME;GRANT SELECT ON gv_$sysstat TO USERNAME;GRANT SELECT ON v_$database TO USERNAME;GRANT SELECT ON gv_$librarycache TO USERNAME;GRANT SELECT ON gv_$sqlarea TO USERNAME;GRANT SELECT ON gv_$system_event TO USERNAME;GRANT SELECT ON dba_tablespaces TO USERNAME;GRANT SELECT ON gv_$session_wait TO USERNAME;GRANT SELECT ON gv_$rollstat TO USERNAME;GRANT SELECT ON v_$instance TO USERNAME;
PDBメトリクスを収集するには、以下を実行して
gv$con_sysmetric権限を付与します。GRANT SELECT ON gv_$con_sysmetric TO USERNAME;
インテグレーションの設定
インストールの方法により、インテグレーションの設定方法はいくつかあります。
- Amazon ECSで有効化した場合:ECS上で実行中のサービスの監視を参照してください。
- オンホストにインストールする場合:インテグレーションのYAML設定ファイル
oracledb-config.ymlで設定を編集します。
インテグレーションのYAML形式設定では、必要なログインクレデンシャルやデータの収集方法を設定できます。どのオプションを変更するかは、設定とプリファレンスにより異なります。
設定ファイルには、interval、timeout、inventory_sourceなど、すべてのインテグレーションに適用される共通設定があります。これらの共通設定の詳細については、設定形式ドキュメントを参照してください。
重要
レガシー設定/定義ファイルを引き続き使用する場合は、このドキュメントを参照してください。
Oracle DBに関連する具体的な設定は、設定ファイルのenvセクションを使用して定義されます。これらの設定は、Oracle DBインスタンスへの接続、その他のセキュリティ設定および機能を制御します。有効な設定のリストについては、このドキュメントの次のセクションで説明します。
Oracle DBインスタンスの設定
Oracle DBインテグレーションは、メトリクス(M)とインベントリ(I)の両方の情報を収集します。このテーブルでは、各収集で利用可能な設定については、Applies To列を使用してください。
{ ' ' } { ' ' } { ' ' } { ' ' } { ' ' } { ' ' } { ' ' } { ' ' } { ' ' } { ' ' } { ' ' } { ' ' } { ' ' } { ' ' } { ' ' } { ' ' } { ' ' } { ' ' }
設定 | 説明 | デフォルト | 適用先 |
|---|---|---|---|
SERVICE_NAME | Oracleインスタンスのサービス名。 | 該当なし | M/I |
HOSTNAME | Oracleデータベースが稼働しているホスト名またはIPアドレス。 | 127.0.0.1 | M/I |
PORT | Oracle DBがリッスンしているポート。 | 1521 | M/I |
USERNAME | Oracle DBサーバーにアクセスするためのユーザー名。 | 該当なし | M/I |
PASSWORD | 指定ユーザーのパスワード。 | 該当なし | M/I |
CONNECTION_STRING |
| 該当なし | M/I |
ORACLE_HOME |
| 該当なし | M/I |
TABLESPACES | 収集するテーブルスペースのJSON配列。省略した場合、すべてのテーブルスペースが収集されます。空欄の場合、テーブルスペースのメトリクス収集をスキップします。 | [] | M |
IS_SYS_DBA | 認証を行うユーザーがSysDBA権限を持っているかどうかを示します。 | false | M |
IS_SYS_OPER | 認証を行うユーザーがSysOpera権限を持っているかどうかを示します。 | false | M |
EXTENDED_METRICS | 拡張メトリクスを収集するかどうかを示します。以下の表でどれが拡張メトリクスであるかを確認してください | false | M |
SKIP_METRICS_GROUPS | 収集されたメトリクスは、データの取得に使用されたクエリに応じてグループ化されます。そのメトリクスグループはここにリストされており、グループの名前をJSON配列形式で | [] | M |
DISABLE_CONNECTION_POOL | 接続プーリングを無効にします。Oracle DBへの新しい接続を確立しようとしたときにインテグレーションでエラーが発生した場合にのみ使用します。 | false | M |
MAX_OPEN_CONNECTIONS | インテグレーションによって開かれる同時接続の最大数。 | 5 | M |
SYS_METRICS_SOURCE | アプリケーションコンテナのメトリクスを収集するには、これを | ' ' | M |
CUSTOM_METRICS_QUERY | カスタムメトリックを収集するためのSQLクエリ。以下の例をご覧ください。 | 該当なし | M |
CUSTOM_METRICS_CONFIG | カスタムメトリックを収集するための1つ以上のSQLクエリを使用したYAML設定。以下の例をご覧ください。 | false | M |
METRICS |
| false | |
INVENTORY |
| false |
これらの設定値は、いくつかの方法で定義できます。
- 設定ファイルに直接値を追加します。これは最も一般的な方法です。
{{}}表記を使用して、環境変数の値を置き換えます。これには、インフラストラクチャエージェント1.14.0以降が必要です。詳細については、インフラストラクチャエージェントのパススルー環境変数を参照してください。- 設定ファイルのプレーンテキストで公開されないように、シークレット管理を使用して、パスワードなどの賢明な情報を保護してください。詳細については、シークレット管理を参照してください。
ラベルとカスタム属性
また、メトリクスをラベルで装飾することもできます。ラベルを使用すると、キー/値のペア属性をメトリクスに追加して、メトリクスをクエリ、フィルター、グループ化できます。
デフォルトのサンプル設定ファイルにはラベルの例が含まれていますが、これらはオプションです。削除、変更、または新しいものを追加することができます。
labels: env: production role: load_balancer設定の例
データの検索と使用
New Relicでインテグレーションデータを見つけるには、one.newrelic.com > All capabilities > Infrastructure > Third-party servicesに移動し、Oracleデータベースインテグレーションリンクの1つを選択します。
Oracleデータベースのデータは、次のイベントタイプにアタッチされます。
OracleDatabaseSampleOracleTablespaceSample
データの検索・使用方法の詳細については、 インテグレーションデータを理解するを参照してください。
メトリックデータ
Oracleデータベースインテグレーションは、次のメトリクスデータ属性を収集します。各メトリック名には、disk.またはmemory.のようにカテゴリの指標とピリオドで接頭辞が付けられます。
データベースメトリクス
これらの属性は、OracleDatabaseSampleイベントタイプをクエリすることで見つけることができます。
メトリック | 説明 | 延長可 |
|---|---|---|
| アクティブなパラレルセッション。 | |
| アクティブなシリアルセッション。 | |
| 平均アクティブセッション数。 | |
| 1秒あたりのチェックポイント数。 | |
| 1秒あたりのバックグラウンドCPU使用率。 | |
| 1秒あたりバックグラウンド処理時間。 | |
| 1秒あたりのDBブロック変更数。 | |
| トランザクションあたりのDBブロック変更回数。 | |
| ユーザー呼び出しあたりのDBブロック変更回数。 | |
| 1秒あたりのDBブロック取得数。 | |
| トランザクションあたりのDBブロック取得数。 | |
| ユーザー呼び出しあたりのDBブロック取得数。 | |
| 1秒あたりのブランチノード分割数。 | |
| トランザクションあたりのブランチノード分割数。 | |
| 1秒あたりの一定の読み取り変更回数。 | |
| トランザクションあたりの一定の読み取り変更回数。 | |
| 1秒あたりの一定の読み取り取得数。 | |
| トランザクションあたりの一定の読み取り取得数。 | |
| CPU時間比率。 | |
| 1秒あたりのCPU使用率。 | |
| トランザクションあたりのCPU使用率。 | |
| 1秒あたりの作成されるCRブロック数。 | |
| トランザクションあたりの作成されるCRブロック。 | |
| 1秒あたりの適用されるCR取り消しレコード数。 | |
| トランザクションあたりの適用されるCR取り消しレコード数。 | |
| 現在のログイン数。 | |
| 現在開いているカーソルの数。 | |
| カーソルキャッシュのヒット率。 | |
| 1秒あたりのデータベース処理時間。 | |
| 1秒あたりのDBWRのチェックポイント数。 | |
| 1秒あたりのデッドロックキューイング数。 | |
| トランザクションあたりのデッドロックキューイング数。 | |
| 1秒あたりのリクエストキューイング数。 | |
| トランザクションあたりのリクエストキューイング数。 | |
| 1秒あたりのタイムアウトキューイング数。 | |
| トランザクションあたりのタイムアウトキューイング数。 | |
| 1秒あたりの待機キューイング数。 | |
| トランザクションあたりの待機キューイング数。 | |
| 1秒あたりの実行回数。 | |
| トランザクションあたりの実行回数。 | |
| ユーザー呼び出しあたりの実行回数。 | |
| 1秒あたりのフルインデックススキャン回数。 | |
| トランザクションあたりのフルインデックススキャン回数。 | |
| 1秒あたりの受信したGC CRブロック数。 | |
| トランザクションあたりの受信したGC CRブロック数。 | |
| 1秒あたりの受信したGCブロック数。 | |
| トランザクションあたりの受信したGCブロック数。 | |
| グローバルキャッシュの平均CR取得時間。 | |
| グローバルキャッシュの平均取得時間。 | |
| 1秒あたりのハードパース回数。 | |
| トランザクションあたりのハードパース回数。 | |
| 1秒あたりのホストCPU使用率。 | |
| ホストCPU使用率(%)。 | |
| 1秒あたりのリーフノード分割数。 | |
| トランザクションあたりのリーフノード分割数。 | |
| ライブラリのキャッシュのヒット率。 | |
| ライブラリのキャッシュミス率。 | |
| 1秒あたりの論理読み取り回数。 | |
| トランザクションあたりの論理読み取り回数。 | |
| 1秒あたりのログイン数。 | |
| トランザクションあたりのログイン回数。 | |
| 1秒あたりの長いテーブルスキャン回数。 | |
| トランザクションあたりの長いテーブルスキャン回数。 | |
| 1秒あたりのオープンカーソル数。 | |
| トランザクションあたりのオープンカーソル数。 | |
| 現在のOS負荷状況。 | |
| 1秒あたりの解析失敗回数。 | |
| トランザクションあたりの解析失敗回数。 | |
| PGAキャッシュのヒット率。 | |
| プロセス制限率。 | |
| 1秒あたりの再帰呼び出し回数。 | |
| トランザクションあたりの再帰呼び出し回数。 | |
| 1秒あたりのリドゥ書き込み回数。 | |
| トランザクションあたりのリドゥ書き込み回数。 | |
| トランザクションごとのレスポンスタイム。 | |
| 行キャッシュのヒット率。 | |
| 行キャッシュミス率。 | |
| ソートあたりの行数。 | |
| セッション数。 | |
| セッション制限率。 | |
| 共用プール解放率。 | |
| ソフトパース率。 | |
| ユーザー呼び出しあたりのソート総数。 | |
| SQLサービスのレスポンスタイム。 | |
| ストリームプールの使用率。 | |
| ユーザー呼び出しあたりのテーブルスキャン総数。 | |
| 1秒あたりのインデックススキャン総数。 | |
| トランザクションあたりのインデックススキャン総数。 | |
| 1秒あたりの解析総数。 | |
| トランザクションあたりの解析総数。 | |
| 1秒あたりのテーブルスキャン総数。 | |
| トランザクションあたりのテーブルスキャン総数。 | |
| ログインあたりのトランザクション数。 | |
| 1秒あたりのユーザー呼び出し回数。 | |
| トランザクションあたりのユーザー呼び出し回数。 | |
| ユーザー呼び出し率。 | |
| ユーザーコミット率。 | |
| 1秒あたりのユーザーコミット数。 | |
| ユーザー制限率。 | |
| トランザクションあたりのユーザーロールバック数。 | |
| 1秒あたりのユーザーロールバック数。 | |
| 1秒あたりの適用されるユーザーロールバック取り消しレコード。 | |
| トランザクションあたりの適用されるユーザーロールバック取り消しレコード。 | |
| データベース待機時間比率。 | |
| 記録されたユーザー呼び出し | |
| パース比率なしで実行 | |
| 1秒あたりのログオン数 | |
| 1秒あたりの物理読み取りバイト | |
| 1秒あたりの物理読み取りIOリクエスト数 | |
| 1秒あたりの物理読み取り回数 | |
| 1秒あたりの物理書き込みバイト数 | |
| 1秒あたりの物理書き込み回数 | |
| ブロック読み取り回数。 | |
| ブロック書き込み回数。 | |
| ユーザー呼び出しあたりの論理読み取り回数。 | |
| 1秒あたりのLOBのダイレクト物理読み取り回数。 | |
| 1秒あたりのLOBのダイレクト物理書き込み回数 | |
| 1秒あたりの物理読み取りの合計バイト数。 | |
| 1秒あたりの物理読み取りI/Oリクエスト総数。 | |
| 1秒あたりのダイレクト物理読み取り回数。 | |
| 1秒あたりの物理書き込みの合計バイト数。 | |
| 1秒あたりの物理書き込みI/Oリクエスト数。 | |
| 1秒あたりのダイレクト物理書き込み回数。 | |
| 1秒あたりの物理書き込みI/Oリクエスト総数。 | |
| 物理的読み取りの総数。 | |
| ファイル読み込み時間。 | |
| 1秒あたりのディスクソート。 | |
| トランザクションあたりのディスクソート。 | |
| 使用される一時スペース。 | |
| 物理書き込みの総数。 | |
| ファイル書き込み時間。 | |
|
| |
| 実行時間が長い(60秒以上)クエリの数。 | |
| バッファキャッシュのヒット率。 | |
| 破損したグローバルキャッシュブロック。 | |
| 喪失したグローバルキャッシュブロック。 | |
| インスタンスによって割り当てられたPGAメモリの現在の量。 | |
| 自動モードで実行される作業領域の最大サイズ。 | |
| すべてのプロセスにおいて、OSに解放可能なPGAメモリのバイト数。 | |
| 作業領域によって現在消費されているPGAメモリの量を示します。この数値を使用して、PGAメモリの他の利用元(PL/SQLやJavaなど)が消費するメモリの量を判断できます。 | |
| リドゥ割り当てヒット率。 | |
| 1秒あたりのリドゥ生成バイト数。 | |
| トランザクションあたりのリドゥ生成バイト数。 | |
| メモリソート比率。 | |
| 1秒あたりのI/Oメガバイト数。 | |
| 1秒あたりのI/Oリクエスト数。 | |
| 1秒あたりのネットワークトラフィック量。 | |
| トランザクションあたりのLOBのダイレクト物理読み取り回数。 | |
| トランザクションあたりのLOBのダイレクト物理書き込み回数。 | |
| トランザクションあたりのダイレクト物理読み取り回数。 | |
| トランザクションあたりの物理読み取り回数。 | |
| トランザクションあたりのダイレクト物理書き込み回数。 | |
| トランザクションあたりの物理書き込み回数。 | |
| 1秒あたりのユーザートランザクション数。 | |
| リドゥログファイル切り替えイベントの数。 | |
| アーカイブが必要なリドゥログファイル切り替えイベントの数。 | |
| 不完全なリドゥログファイル切り替えイベントチェックポイントの数。 | |
| リドゥログの待機回数。 | |
| ロールバックセグメントの取得数。 | |
| ロールバックセグメントの待機率。 | |
| ロールバックセグメントの待機回数。 | |
| SGAバッファのビジー待機回数。 | |
| SGA固定サイズ。 | |
| 検査されたSGAフリーバッファの数。 | |
| SGAフリーバッファの待機回数。 | |
| SGAのヒット率。 | |
| SGAログバッファの割り当ての再試行率。 | |
| SGAログバッファのリドゥ割り当て率。 | |
| SGAログバッファ内のリドゥエントリの数。 | |
| SGAログバッファを待機しているバッファスペース。 | |
| SGAリドゥバッファ(バイト)。 | |
| SGA共有プール辞書(dict)キャッシュのミス率。 | |
| SGA共有プールライブラリキャッシュのヒット率。 | |
| SGA共有プールライブラリキャッシュのリロード率。 | |
| ステートメントあたりのSGAキャッシュ可能メモリ(バイト)。 | |
| ユーザーあたりのSGAキャッシュ可能メモリ(バイト)。 | |
| ユーザーグローバル領域(UGA)内の合計メモリ容量。 | |
| ソートによるディスク使用量(バイト)。 | |
| ソートによるメモリ使用量(バイト)。 |
テーブルスペースのメトリクス
Oracleデータベースインテグレーションは、次のテーブルスペースメトリクスを収集します。これらの属性は、OracleTablespaceSampleイベントタイプをクエリすることで見つけることができます。テーブルスペース使用量メトリクスは、読取り専用のスタンバイデータベースでは使用できません。この制限の詳細については、Oracleナレッジベースを参照してください。
メトリック | 説明 | 延長可 |
|---|---|---|
| テーブルスペースのオフライン状態を示すブール値。 | |
| オフラインになっているPDBデータファイルの数。 | |
| オフラインになっているCDBデータファイルの数。 | |
| 書き込み不可状態にあるPDBデータファイルの数。 | |
| 使用済みテーブルスペースの量(バイト)。 | |
| 予約済みテーブルスペースの合計(バイト)。 | |
| 使用済みテーブルスペースと総テーブルスペースの比率。 |
インベントリデータ
OracleデータベースインテグレーションはOracleデータベースの設定パラメーターをキャプチャします。このデータは、インベントリページのconfig/oracledbソースで取得できます。インベントリデータの詳細については、インテグレーションデータを理解するを参照してください。
インテグレーションは、次のOracleデータベース設定パラメーターに関するデータを取得します。
トラブルシューティング
トラブルシューティングのヒント:
ソースコードのチェック
このインテグレーションはオープンソースソフトウェアです。つまり、ソースコードを参照して改善を送信したり、独自のフォークを作成して構築したりできます。