セットアップ
1. サポートバージョン
- Oracle 12c 以上のバージョンをサポートします。
Cloud環境のOracleサポート状況
| Cloud環境 | Oracleサポート有無 |
|---|---|
| AWS | ✅ サポート |
| Azure | ❌ 非サポート |
| OCI | ✅ サポート |
| NCP | ❌ 非サポート |
| GCP | ❌ 非サポート |
| SCP | ❌ 非サポート |
2. 必須権限
基本必要権限
モニタリングアカウント(例: exemone)に次の権限を付与する必要があります。
GRANT CREATE SESSION TO exemone;
GRANT SELECT ANY dictionary TO exemone;
GRANT SELECT_CATALOG_ROLE TO exemone;
GRANT ALTER system TO exemone;
-- AWS RDSの場合は追加権限
GRANT EXECUTE ON rdsadmin.rdsadmin_util TO exemone;
ANY dictionary権限の付与が難しい場合
SELECT ANY dictionary権限の付与ができない環境では、下記のtable/viewに対する個別のSELECT権限が必要です。
| 収集項目 | 必要なtable/view |
|---|---|
| ActiveSession | v$session, v$sql, v$sort_usage, v$transaction, v$process, v$statname, v$sesstat, v$sqltext |
| ArchivedLog | v$archived_log |
| ASM | v$asm_disk, v$asm_diskgroup |
| DBStat | v$sysstat |
| DBVersion | v$instance, v$version |
| DBWait | v$system_event |
| EventName | v$event_name |
| InitBootTime | V$INSTANCE |
| InitInstance | product_component_version, v$license |
| InitSQLStat | v$sqlstats, v$sql |
| KillSession | ALTER SYSTEM KILL SESSION 権限 |
| OSStat | V$OSSTAT |
| Parameter | v$parameter |
| RACStatus | v$instance, v$option |
| Rman | v$rman_backup_job |
| segment | dba_segments |
| SessionCount | v$session |
| SessionDetail | v$transaction, v$process, v$sort_usage, v$session, v$sql |
| SessionMetric | v$sessmetric |
| SessionStatMetric | v$sesstat |
| SessionStatus | v$session |
| SgaStat | v$sgastat |
| SQLBind | v$sql_bind_capture |
| SQLMetric | v$sql |
| SQLPlan / PlanDetail / PlanDiff | v$sql_plan |
| SQLReason | v$sql_shared_cursor |
| SQLStat | v$sqlstats, v$sql |
| StatName | v$statname |
| Table | DBA_TAB_Modifications |
| Tablespace | dba_free_space, dba_data_files |
| Temp | v$sort_segment, dba_tablespaces, dba_temp_files |
| Timemodel | v$sys_time_model |
| Undo | dba_undo_extents, dba_data_files, dba_rollback_segs |
| WaitChain | dba_objects, v$wait_chains |
3. 事前設定
Oracleインスタンスは、Setting > DatabaseのInstance登録/編集画面のCustom Configurationで下記のキー値を設定することで、指標収集方式を細かく調整できます。
exemONEモニタリングオプション設定
| オプション名 | デフォルト値 | 説明 |
|---|---|---|
oracle.is_oracle_linux | false | Oracle Linux環境でOS指標をエージェントではなくクエリ方式で収集します。 |
oracle.segment | 100 | SegmentMessage収集queryの入力argument |
oracle.sqlbind_elapsedtime | 10 | SqlStatMessage収集結果のelapsed timeが該当値を超過した場合、SqlBindMessageを収集 |
oracle.sqlbind_executions | 50 | SqlStatMessage収集結果のexecutionsが該当値を超過した場合、SqlBindMessageを収集 |
oracle.sqlplan_elapsedtime | 10 | SqlStatMessage収集結果のelapsed timeが該当値を超過した場合、SqlPlanMessageを収集 |
oracle.sqlplan_executions | 50 | SqlStatMessage収集結果のexecutionsが該当値を超過した場合、SqlPlanMessageを収集 |
oracle.sqlreason_elapsedtime | 10 | SqlStatMessage収集結果のelapsed timeが該当値を超過した場合、SqlReasonMessageを収集 |
oracle.sqlreason_executions | 50 | SqlStatMessage収集結果のexecutionsが該当値を超過した場合、SqlReasonMessageを収集 |
oracle.sqltext_process_batch | 100 | SqlTextデータの1回あたりの収集件数設定 |
oracle.sqltext_process_interval | 5 | SqlTextデータの収集間隔設定 |
oracle.sqltext_process_lru_count | 10000 | SqlTextデータの収集リスト管理件数設定 |
oracle.use_sid | false | DB接続設定 |
oracle.is_oracle_linuxオプション設定
- Setting > DatabaseでOracle Instanceを登録します。このときOS Resourceの収集はdisableに設定します。
- 1で登録したInstanceの編集 > Custom Configurationで
oracle.is_oracle_linuxオプションをtrueに設定した後、保存します。
オプションをtrueに設定すると、次の指標がクエリ方式で収集されます。
| 指標 | Data ID | 計算方式 |
|---|---|---|
| (OS) Db Cpu Usage (%) | db_oracle_os.db_cpu_usage | busy_time / (busy_time + idle_time) * 100のデルタ値 |
| (OS) Db Memory Usage (%) | db_oracle_os.db_memory_percent | inactive_memoryが存在する場合: (1 - ((free_memory + inactive_memory) / total_memory)) * 100inactive_memoryが存在しない場合: (1 - (free_memory / total_memory)) * 100 |
- 指標を直接設定できる画面(例: ダッシュボード、Oracle > Multi View、Trend Analysis > Trendチャートなど)には上記の指標が反映されます。
- DB共通で表示される画面(例: Database > Instance ListのCPU/Memoryデータ、Database > Instance DetailのMetric)には反映されません。