著作權: 年份: 2019 , 2023 前次更新: "2023-10-27"
監視 OracleDB
在安裝 Instana 代理程式之後,會自動部署並安裝 OracleDB 感應器。
附註: 若要監視 Kubernetes 或 Red Hat OpenShift 叢集中的 OracleDB ,請不要在叢集的每一個節點上安裝 Instana 主機代理程式。 在專用主機上安裝主機代理程式。
支援的版本
請參閱下列支援的度量及配置資料版本:
- Oracle Database 11g 第 2 版 (11.2.0.1)
- Oracle Database 12c 第 1 版 (12.1.0.1)
- Oracle Database 12c Release 2 (12.2.0.1)
- 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)
附註: Instana 現在支援 Oracle Real Application Clusters (測試版)的遠端監視。
探索
Instana 代理程式會自動探索並監視所有名為 oracle、 oracle.exe、 ora_mman_*、 xe_mman_*的 OracleDB 處理程序。 它也會從程序名稱或引數中擷取資料庫 SID。
使用 遠端配置 選項來指示 Instana 代理程式探索及監視在其他主機上執行的 OracleDB 實例,這些主機因任何原因而無法安裝代理程式。
配置
必要的資料庫許可權
若要讓感應器連接至 Oracle 並監視度量及配置,您需要具有下列表格的 read 許可權:
#Create a role
create ROLE 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_$RESOURCE_LIMIT, V_$STATNAME, V_$SESSTAT, V_$PROCESS, V_$SQLAREA,
V_$PARAMETER, V_$SQL, V_$VERSION, 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
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>;
感應器配置
若要監視 Oracle DB ,您需要通知代理程式有關存取其 配置檔中監視資訊的認證:
本端
com.instana.plugin.oracledb:
user: '<ORCL_USER>' # default is 'sys as sysdba'
password: '<ORCL_PASSWORD>'
host: '<ORCL_HOST>' # default is 127.0.0.1
port: '<ORCL_PORT>' # default is 1521
databaseSID: '<ORCL_DB_SID>' # taken from process args or 'orcl' as default
poll_rate: 1
輪詢率定義感應器輪詢 OracleDB 度量的頻率 (以秒為單位)。 預設值為 1 秒。
監視多個本端實例
若要監視多個本端實例,您必須在代理程式配置檔中使用下列配置:
user和password: 在所有資料庫中建立一個具有密碼的使用者 (預設使用者為sys as sysdba)。databaseSID: 不要指定它。 代理程式 自動探索 每一個處理程序的代理程式。host: 在 IP 位址上無法呼叫到實例之前,請不要指定它。port: 對所有資料庫使用相同的指定埠或預設1521。 如果您使用不同的埠,請參閱 主機代理程式配置指示。poll_rate: 指定輪詢率。 預設值為 1 秒。
附註: 將資料庫 SID 新增至代理程式配置檔時,該值會用於所有實例。
請參閱下列範例:
com.instana.plugin.oracledb:
user: 'instana'
password: 'passw0rd'
port: '1521'
請參閱下列具有不同埠的範例。 每一個實例都會在 MY_ORACLE_PORT 環境變數中定義其埠。
com.instana.plugin.oracledb:
user: 'instana'
password: 'passw0rd'
port:
configuration_from:
type: env
env_name: MY_ORACLE_PORT
default_value: 1521
遠端
com.instana.plugin.oracledb:
remote: # we support listing multiple DBs here!
- 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'
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'
poll_rate: 5
輪詢率定義感應器輪詢 OracleDB 度量的頻率 (以秒為單位)。 預設值: 1 秒。
在指定的 availabilityZone中,已配置的遠端 OracleDB 實例會顯示為個別方框。
自訂輪詢
下表顯示您可以配置最多三個非零自訂輪詢率的度量值。 依預設會停用輪詢率為零或小於零的度量值。 若要停用任何度量,請從配置檔 <instana-agent-dir>/etc/instana/configuration.yaml中移除該度量項目。
| 名稱 | 說明 |
|---|---|
| Top_elapsed_time_queries | 前幾個經歷時間查詢的清單。 |
| SQL_ID_CONSUMING_MORE_CPU | 耗用更多 CPU 的 SQL 清單。 |
| USER_FOREGROUND_SESSIONS | 顯示作用中前景階段作業。 |
| TOP_10_SQL_HIGH_IO_LAST_1_HR | 前 1 個小時內具有高 I/O 的前幾個 SQL 清單。 |
| TOP_TEN_CPU_CONSUMING_SESSION | 前幾個 CPU 耗用階段作業的清單。 |
| TOP_CPU_CONSUMING_SESSION_LAST_10_MIN | 前 10 分鐘耗用階段作業的前幾個 CPU 清單。 |
| CURRENT_BLOCKING_SESSIONS | 用來檢視封鎖階段作業的相關資訊。 |
| LIBRARY_CACHE_HIT_RATIO | 此比例指出導致 Pin 命中的 Pin 要求數。 |
| ACTIVE_SESSIONS_RUNNING_MORE_THAN_600_SECS | 在 Oracle 資料庫中執行超過 10 分鐘的所有作用中階段作業。 |
| 作用中 _ 階段作業 _ 歷程 | 資料庫中的取樣階段作業活動。 |
| TOP_10_SQL_HIGH_IO_LAST_24_HR | 前 24 小時具有高 I/O 的前幾個 SQL 清單。 |
| TOP_CPU_QUERIES_LAST_24_HRS | 過去 24 小時內前幾個 CPU 耗用查詢的清單。 |
| QUERIES_NOT_USING_BINDING_VARIABLES | 未在程式碼中使用 bind 變數的查詢清單。 |
如需自訂輪詢的本端及遠端監視,請參閱下列配置:
本端
com.instana.plugin.oracledb:
user: '<ORCL_USER>' # default is 'sys as sysdba'
password: '<ORCL_PASSWORD>'
host: '<ORCL_HOST>' # default is 127.0.0.1
port: '<ORCL_PORT>' # default is 1521
databaseSID: '<ORCL_DB_SID>' # taken from process args or 'orcl' as default
poll_rate: 1
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
遠端
com.instana.plugin.oracledb:
remote: # we support listing multiple DBs here!
- 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'
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
度量值集合
若要檢視度量值,請在「Instana 使用者」介面的資訊看板中選取 基礎架構 ,按一下特定的受監視主機,然後您可以看到具有所有已收集度量值及受監視處理程序的主機儀表板。
配置資料
- 版本
- SID
- 服務名稱
- 開始時間
- CPU 計數
- 階段作業數上限
- 資料庫區塊大小
效能度量
| 度量 | 說明 | 精度 |
|---|---|---|
| 執行中處理程序數 | 執行中的處理程序數目。 | 1 秒 |
| 處理程序限制使用情形 | 程序資源的使用情形。 程序以百分比顯示。 | 1 秒 |
| 作用中階段作業(超過 10 分鐘) | Oracle 資料庫中所有作用中階段作業超過 10 分鐘。 | 30 秒 |
| 處理程序使用率上限 | 前次實例啟動之後的處理程序耗用量上限。 | 1 秒 |
| 處理程序現行使用率 | 目前使用的處理程序數目。 | 1 秒 |
| 處理起始配置 | 程序的起始配置。 此配置等於起始設定參數檔中指定給處理程序的值。 | 1 秒 |
| 處理程序限制值 | 處理程序的上限值。 處理程序的值必須保持在此限制內。 | 1 秒 |
| 處理程序限制使用情形 | 所有現行處理程序與限制集的百分比。 | 1 秒 |
| 每秒資料庫時間 | 執行資料庫使用者層次呼叫所花費的經歷時間量。 | 1 秒 |
| 資料庫 CPU 時間 | 執行資料庫使用者層次呼叫所花費的 CPU 時間量。 | 1 秒 |
| SQL 執行時間 | SQL 查詢陳述式執行的經歷時間量。 | 1 秒 |
| 剖析時間 | 剖析 SQL 查詢陳述式所花費的經歷時間量。 它包括軟及硬剖析時間。 | 1 秒 |
| 資料庫 CPU 時間比例 | 資料庫中所使用的 CPU 數量,以資料庫時間總計為單位。 | 1 秒 |
| 每秒等待時間 | 使用者 I/O、其他、系統 I/O、並行、排程器、應用程式、確定、配置、管理、網路、佇列的每秒等待時間。 | 1 秒 |
| 檔案庫快取命中率(Pin 命中) | 此比例指出導致 Pin 命中的 Pin 要求數。 | 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 時間 (毫秒)、磁碟讀取數及執行查詢的總時間量。 | 1 小時 |
| 不使用連結變數的查詢 | 在程式碼中不使用連結變數的查詢清單,其中包含查詢副本數、查詢執行數及 SQL 查詢所耗用的總記憶體 (MB)。 | 1 小時 |
| 前幾個經歷時間查詢 | 具有 SQL ID、SQL 查詢及執行時間 (分鐘) 的前幾個經歷時間查詢清單。 | 60 秒 |
| 作用中階段作業歷程(過去 1 小時) | 資料庫中最近一小時的取樣階段作業活動,具有 SQL ID、負載百分比及階段作業計數。 | 60 秒 |
| 前 10 個 CPU 耗用階段作業 | 具有階段作業 ID、序號、CPU 時間 (分鐘) 及作業系統程式名稱的前 10 個耗用 CPU 的階段作業清單。 | 60 秒 |
| 前 10 分鐘的前幾個 CPU 耗用階段作業數 | 前 10 分鐘耗用 CPU 的前幾個階段作業的清單,具有階段作業 ID、序號及執行查詢的總時間量。 | 30 秒 |
| 前 10 個具有高 IO 的 SQL (前 1 個小時) | 在過去 1 小時內具有 SQL ID、使用者名稱及等待時間總計 (毫秒) 的前 10 個具有高 I/O 的 SQL 查詢清單。 | 60 秒 |
| 現行封鎖階段作業數 | 封鎖階段作業的相關資訊。 | 30 秒 |
| 前景階段作業 | 作用中前景階段作業。 | 60 秒 |
| SQL 耗用更多 CPU | 使用更多 CPU 的 SQL 查詢清單。 | 60 秒 |
| 前 10 個具有高 IO 前 24 小時的 SQL | 過去 24 小時內前 10 個具有高 I/O 的 SQL 查詢清單。 | 1 小時 |
性能簽章
每一個感應器都有經過策劃的性能簽章知識庫,可根據送入的度量值持續評估,並用來提出影響使用者的問題或發生事件。
內建事件 會根據實體上的性能簽章失敗來觸發問題或突發事件,而 自訂事件 會根據任何實體的個別度量值臨界值來觸發問題或突發事件。
如需 OracleDB 感應器之 built-events 的相關資訊,請參閱 內建事件參照。