Oracle のマルチテナント・データベースの監視(パブリック・プレビュー)
Instana ホストエージェントをインストールすると、 Oracle マルチテナントデータベースセンサーが自動的にインストールされますが、 「設定 」セクションの手順に従ってセンサーを設定する必要があります。 センサーの設定が完了すると、コンテナ・データベース(CDB)と複数のプラグイン可能データベース(PDB)の両方を監視し、 Instana のUIでそれらのメトリクスを確認できるようになります。
補足情報
サポートされるバージョン
Instana メトリクスおよび設定データについては、以下の Oracle データベースのバージョンをサポートしています:
- Oracle Database 18c (18.1.0 // 12.2.0.2)
- Oracle Database 19c (19.1.0 // 12.2.0.3)
- Oracle Database 21c (21.1.0)
- Oracle Database 23ai (23.4.0)
サポートされている文字セット
Oracle マルチテナント・データベース・センサーは、 Oracle データベースからメトリックをフェッチするために、 Oracle でサポートされるすべての文字セットをサポートします。 Oracle データベースがサポートする文字セットの詳細については、 「文字セット」 を参照してください。
ディスカバリー
リモート設定オプションを使用すると、 Instana エージェントに対し、同じホスト上で実行されている、あるいは何らかの理由でエージェントをインストールできない他のホスト上で実行されている Oracle マルチテナントデータベース(CDBおよびPDB)を検出・監視するよう指示できます。
の構成
必要な DB アクセス権限
センサーを Oracle に接続し、メトリックおよび構成データをモニターするには、以下の表に対する read 権限が必要です。
#Create a role
create ROLE INSTANAROLE;
#Note: For Oracle Container Database (CDB), common roles must follow the naming convention C##<role_name>
#Example for CDB: create ROLE C##INSTANAROLE;#Grant privileges to this role for following tables and viewes
V_$SESSION, V_$BGPROCESS, V_$ACTIVE_SESSION_HISTORY, V_$SYSSTAT, V_$SGASTAT, V_$LIBRARYCACHE,
V_$LATCH, V_$ROWCACHE, V_$STATNAME, V_$SESSTAT, V_$PROCESS, V_$SQLAREA,
V_$PARAMETER, V_$SQL, V_$VERSION, V_$RESOURCE_LIMIT, V_$SYS_TIME_MODEL, V_$SYSTEM_WAIT_CLASS, V_$INSTANCE,
V_$LOCK, DBA_HIST_SQLTEXT, DBA_HIST_SQLSTAT, DBA_HIST_SNAPSHOT, DBA_HIST_ACTIVE_SESS_HISTORY,
DBA_USERS, DBA_OBJECTS, DBA_TABLESPACE_USAGE_METRICS, DBA_DATA_FILES, DBA_TEMP_FILES, V_$LOG, DBA_FREE_SPACE
eg. GRANT SELECT ON V_$SESSION to INSTANAROLE;
#Assign this role to a user. Same user needs to be configured in the configuration yaml (see sensor configuration section).
GRANT INSTANAROLE to <user>;
#The following tables/views require the Oracle Diagnostic Pack license.
V$ACTIVE_SESSION_HISTORY, DBA_HIST_SNAPSHOT, DBA_HIST_SQLSTAT, DBA_HIST_SQLTEXT, DBA_HIST_ACTIVE_SESS_HISTORY
センサーの構成
Instana Oracle のマルチテナント・データベースのリモート監視に対応しています。
Oracle のマルチテナント・データベースを監視するには、 エージェント *instanaAgentDir*/etc/instana/configuration.yaml 設定ファイルを通じて認証情報を指定する必要があります。
リモート監視
Oracle マルチテナント・データベースのリモート・モニターを構成するには、以下の構成を参照してください。
com.instana.plugin.oracledb:
remote: # we support listing multiple DBs here, both CDB's and PDB's!
- host: '<ORCL_HOST_1>'
port: '<ORCL_PORT>'
user: '<ORCL_USER>' # default is 'sys as sysdba'
password: '<ORCL_PASSWORD>'
databaseSID: '<ORCL_DB_SID>' # either databaseSID or databaseServiceName is allowed
databaseServiceName: '<ORCL_DB_SERVICE_NAME>'
availabilityZone: 'Remote Monitoring'
enableUniqueIdentifier: false # Default is false. Set to true only if you are monitoring multiple databases with identical SID/service names. Keep false for standard configurations
poll_rate: 20
- host: '<ORCL_HOST_2>'
port: '<ORCL_PORT>'
user: '<ORCL_USER>' # default is 'sys as sysdba'
password: '<ORCL_PASSWORD>'
databaseSID: '<INSERT_DB_SID>' # either databaseSID or databaseServiceName is allowed
databaseServiceName: '<ORCL_DB_SERVICE_NAME>'
availabilityZone: 'Remote Monitoring'
enableUniqueIdentifier: false # Default is false. Set to true only if you are monitoring multiple databases with identical SID/service names. Keep false for standard configurations
poll_rate: 5
ポーリング率は、センサーが Oracle マルチテナント・データベース・メトリックをポーリングする頻度を秒単位で定義します。 デフォルト値は 1 秒です。
configuration.yaml 内のキー availabilityZone で指定された名前を持つ個別のボックスとして表示されます。 インスタンスを検索するには、 Instana の「Dynamic Focus」検索バーに entity.type:oracleDB を入力してください。カスタム投票
以下の表に、最大 3 つのゼロ以外のカスタム・ポーリング・レートを構成できるメトリックを示します。 デフォルトでは、ポーリング率がゼロ以下のメトリックは無効になっています。 メトリックを無効にするには、そのメトリック項目を *instanaAgentDir*/etc/instana/configuration.yaml 構成ファイルから削除します。
| 名前 | 説明 |
|---|---|
| 上位 elapsed_time_queries | 上位経過時間照会のリスト。 |
| SQL_ID_CPU使用率が高い | より多くの CPU を使用する SQL のリスト。 |
| ユーザーの事前開始セッション | アクティブなフォアグラウンド・セッションを表示します。 |
| TOP_10_SQL_HIGH_IO_LAST_1_HR | 過去 1 時間の入出力が高い上位 SQL のリスト。 このメトリクスを利用するには、「必要なデータベース権限 」セクションで指定されているビューに対して、「 Oracle Diagnostic Pack」のライセンスが必要です。 |
| トップ・テナント CPU コンシューム・セッション | CPU を消費する上位セッションのリスト。 |
| TOP_CPU_CONSUMING_SESSION_LAST_10_MIN | 直近 10 分間における CPU を消費した上位セッションのリスト。 このメトリクスを利用するには、「必要なデータベース権限 」セクションで指定されているビューに対して、「 Oracle Diagnostic Pack」のライセンスが必要です。 |
| 現在のブロック・セッション数 | ブロッキング・セッションに関する情報を表示するために使用されます。 |
| ライブラリー・キャッシュのヒット率 | この比率は、ピン・ヒットになったピン要求の数を示します。 |
| ACTIVE_SESSIONS_RUNNING_MORE_THAN_600_SECS | Oracle データベースで 10 分を超えて実行されているすべてのアクティブ・セッション。 |
| アクティブ・セッションの履歴 | データベース内のサンプル・セッション・アクティビティー。 このメトリクスを利用するには、「必要なデータベース権限 」セクションで指定されているビューに対して、「 Oracle Diagnostic Pack」のライセンスが必要です。 |
| TOP_10_SQL_HIGH_IO_LAST_24_HR | 過去 24 時間に I/O が高かった上位 SQL のリスト。 このメトリクスを利用するには、「必要なデータベース権限 」セクションで指定されているビューに対して、「 Oracle Diagnostic Pack」のライセンスが必要です。 |
| TOP_CPU_QUERIES_LAST_24_HRS | 過去 24 時間における CPU 消費量上位の照会のリスト。 このメトリクスを利用するには、「必要なデータベース権限 」セクションで指定されているビューに対して、「 Oracle Diagnostic Pack」のライセンスが必要です。 |
| バインディング変数を使用していないクエリ | コード内でバインド変数を使用しない照会のリスト。 |
リモート監視
カスタム・ポーリングのリモート・モニターについては、以下の構成を参照してください。
com.instana.plugin.oracledb:
remote: # we support listing multiple DBs here, both CDB's and PDB's!
- host: '<ORCL_HOST_1>'
port: '<ORCL_PORT>'
user: '<ORCL_USER>' # default is 'sys as sysdba'
password: '<ORCL_PASSWORD>'
databaseSID: '<ORCL_DB_SID>' # either databaseSID or databaseServiceName is allowed
databaseServiceName: '<ORCL_DB_SERVICE_NAME>'
availabilityZone: 'Remote Monitoring'
enableUniqueIdentifier: false # Default is false. Set to true only if you are monitoring multiple databases with identical SID/service names. Keep false for standard configurations
poll_rate: 20
customPolling: # Restricted to maximum 3 nonzero poll rates
- poll_rate: 30 # in seconds
metrics:
- TOP_CPU_CONSUMING_SESSION_LAST_10_MIN
- ACTIVE_SESSIONS_RUNNING_MORE_THAN_600_SECS
- LIBRARY_CACHE_HIT_RATIO
- CURRENT_BLOCKING_SESSIONS
- poll_rate: 60 # in seconds
metrics:
- TOP_ELAPSED_TIME_QUERIES
- TOP_TEN_CPU_CONSUMING_SESSION
- SQL_ID_CONSUMING_MORE_CPU
- USER_FOREGROUND_SESSIONS
- TOP_10_SQL_HIGH_IO_LAST_1_HR
- ACTIVE_SESSION_HISTORY
- poll_rate: 3600 # in seconds
metrics:
- TOP_10_SQL_HIGH_IO_LAST_24_HR
- TOP_CPU_QUERIES_LAST_24_HRS
- QUERIES_NOT_USING_BINDING_VARIABLES
メトリックの表示
Oracle Multitenant データベースのメトリックを表示するには、以下の手順を実行します。
- Instana のUIのサイドバーで、 「インフラストラクチャ」 を選択します。
- 特定のモニター対象ホストをクリックします。
収集されたすべてのメトリックとモニター対象プロセスを含むホスト・ダッシュボードを表示できます。
構成データ
Oracle のマルチテナント・データベース・センサーは、以下の構成データを収集します:
| 構成アイテム | 説明 |
|---|---|
| バージョン | Oracle データベースのバージョン番号 |
| SID | システム識別子(SID): Oracle データベースインスタンスの一意の名前 |
| サービス名 | データベースへの接続に使用されるネットワークサービス名 |
| 開始時刻 | データベースインスタンスが起動された時刻 |
| CPU 数 | データベースインスタンスが利用可能なCPUの数 |
| セッションの最大数 | 許可される同時セッションの最大数 |
| DB ブロック・サイズ | データベースブロックのサイズ |
| ポート | TCP Oracle データベースリスナーが接続を受け付けるポート番号(デフォルト:1521) |
パフォーマンス・メトリック
| メトリック | 説明 | 粒度 |
|---|---|---|
| 実行中のプロセス数 | 実行中のプロセスの数。 | 1 秒 |
| アクティブ・セッション (10 分を超えるもの) | 10 分を超えて実行されている、 Oracle データベース内のすべてのアクティブ・セッション。 | 30 秒 |
| 1 秒当たりの DB 時間 | データベース・ユーザー・レベルの呼び出しの実行に費やされた経過時間。 | 1 秒 |
| DB CPU 時間 | データベース・ユーザー・レベルの呼び出しの実行に費やされた CPU 時間。 | 1 秒 |
| SQL 実行時間 | SQL 照会ステートメントが実行されている間の経過時間。 | 1 秒 |
| 解析時間 | SQL 照会ステートメントの構文解析に費やされた経過時間。 これには、ソフト解析時間とハード解析時間の両方が含まれます。 | 1 秒 |
| データベース CPU 時間比率 | 合計データベース時間によってデータベースで使用された CPU の量。 | 1 秒 |
| 1 秒当たりの待機時間 | ユーザー I/O、その他、システム I/O、並行性、スケジューラー、アプリケーション、コミット、構成、管理、ネットワーク、およびキューイングの 1 秒当たりの待機時間。 | 1 秒 |
| ライブラリー・キャッシュ・ヒット率 (ピン・ヒット数) | この比率は、ピン・ヒットになったピン要求の数を示します。 | 30 秒 |
| SGA 合計メモリー | システム・グローバル域 (SGA) 内の合計メモリー (MB)。 | 1 秒 |
| SGA 使用メモリー | SGA によって使用されているメモリー (MB)。 | 1 秒 |
| SGA 空きメモリー | SGA の空きメモリー (MB)。 | 1 秒 |
| SGA プール名 | システム・グローバル域 (SGA) のプール名。 | 1 秒 |
| SGA プール合計メモリー | SGA プール内の合計メモリー (MB)。 | 1 秒 |
| SGA プール使用メモリー | SGA プール内の使用メモリー (MB)。 | 1 秒 |
| SQL 実行カウント | 実行された SQL 照会の総数。 | 1 秒 |
| SQL 実行平均時間 | 平均 SQL 実行時間。 | 1 秒 |
| SQL 解析数 | ハードおよび合計解析カウント。 | 1 秒 |
| SQL 解析率 | 解析なしでソフト解析を使用して実行された SQL 実行の比率。 | 1 秒 |
| ユーザー呼び出し数 | 呼び出し、コミット、およびロールバックの数。 | 1 秒 |
| バッファー・キャッシュ・ヒット率 | ディスクからの読み取りを必要とせずにバッファー・キャッシュ内で検出されたページのパーセンテージ。 | 1 秒 |
| 物理セッション読み取りと論理セッション読み取り | 物理読み取りおよび論理読み取りの数。 | 1 秒 |
| セッション数 | ユーザー・セッションの数 (アクティブおよび非アクティブ)、およびバックグラウンド・セッションの数。 | 1 秒 |
| テーブル・スペースの使用状況 | 表スペース (永続、一時、および取り消し) の使用量 (GB)、表スペースの使用量 (%)、表スペースの最大サイズ、および自動拡張可能フラグ。 | 1 秒 |
| 上位 CPU 照会 (直近 24 時間) | 過去 24 時間の上位 CPU 照会のリスト。CPU 時間 (ミリ秒)、ディスク読み取りの数、および照会が実行された合計時間が含まれます。 このメトリクスを利用するには、「必要なデータベース権限 」セクションで指定されているビューに対して、「 Oracle Diagnostic Pack」のライセンスが必要です。 | 1 時間 |
| バインド変数を使用しない照会 | コード内でバインド変数を使用しない照会のリスト。照会コピーの数、照会実行の数、および SQL 照会によって使用される合計メモリー (MB) が含まれます。 | 1 時間 |
| 経過時間が上位の照会 | SQL ID、SQL 照会、および実行時間 (分単位) を含む上位経過時間照会のリスト。 | 60 秒 |
| アクティブ・セッション履歴 (直近 1 時間) | SQL ID、ロード・パーセンテージ、およびセッション・カウントを使用した、過去 1 時間のデータベース内のサンプル・セッション・アクティビティー。 このメトリクスを利用するには、「必要なデータベース権限 」セクションで指定されているビューに対して、「 Oracle Diagnostic Pack」のライセンスが必要です。 | 60 秒 |
| 上位 10 個の CPU 消費セッション | セッション ID、シリアル番号、CPU 時間 (分)、およびオペレーティング・システム・プログラム名を含む、上位 10 件の CPU 消費セッションのリスト。 | 60 秒 |
| 上位の CPU 消費セッション (直近 10 分) | セッション ID、シリアル番号、および照会が実行された合計時間を示す、直前の 10 分間の CPU 消費量上位セッションのリスト。 このメトリクスを利用するには、「必要なデータベース権限 」セクションで指定されているビューに対して、「 Oracle Diagnostic Pack」のライセンスが必要です。 | 30 秒 |
| 上位 10 件の入出力 (直近 1 時間) の SQL | SQL ID、ユーザー名、および合計待機時間 (ミリ秒) を含む、過去 1 時間に入出力が高い上位 10 件の SQL 照会のリスト。 このメトリクスを利用するには、「必要なデータベース権限 」セクションで指定されているビューに対して、「 Oracle Diagnostic Pack」のライセンスが必要です。 | 60 秒 |
| 現在のブロッキング・セッション | ブロッキング・セッションに関する情報。 | 30 秒 |
| フォアグラウンド・セッション | アクティブなフォアグラウンド・セッション。 | 60 秒 |
| より多くの CPU を消費する SQL | より多くの CPU を使用する SQL 照会のリスト。 | 60 秒 |
| 上位 10 件の SQL (直近 24 時間) | 過去 24 時間に I/O が高い上位 10 件の SQL 照会のリスト。 このメトリクスを利用するには、「必要なデータベース権限 」セクションで指定されているビューに対して、「 Oracle Diagnostic Pack」のライセンスが必要です。 | 1 時間 |
正常性シグニチャー
各センサーについて、正常性シグネチャーのキュレートされた知識ベースは、着信メトリックに対して継続的に評価され、ユーザーに影響を与える問題またはインシデントを発生させるために使用されます。