Monitoring Oracle 多租戶資料庫 (測試版)

安裝 Instana 主機代理程式之後,會自動安裝 Oracle 多租戶資料庫感應器,但您需要依照 配置 小節中的說明來配置感應器。 配置感應器之後,您可以同時監視容器資料庫 (CDB) 及多個隨插即用資料庫 (PDB) ,並在 Instana 使用者介面中檢視其度量值。

附註: 若要監視 Kubernetes 或 Red Hat OpenShift 叢集中的 Oracle 多租戶資料庫,請不要在叢集的每一個節點上安裝 Instana 主機代理程式。 在專用主機上安裝主機代理程式。

支援的資訊

支援的版本

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 多租戶資料庫感應器支援 Oracle 所支援的所有字集,以從 Oracle 資料庫提取度量值。 如需 Oracle 資料庫支援之字集的相關資訊,請參閱 字集

探索

使用 遠端或本端配置 選項,以指示 Instana 代理程式探索及監視在相同主機或其他主機上執行且因任何原因而無法安裝代理程式的 Oracle 多租戶資料庫 (CDB 及 PDB)。

配置

必要的資料庫許可權

若要將感應器連接至 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_$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>;


配置感應器

Instana 支援 Oracle 多租戶資料庫的本端及遠端監視。

若要監視 Oracle 多租戶資料庫,您需要透過 <instana-agent-dir>/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'
      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

輪詢率定義感應器輪詢 Oracle 多租戶資料庫度量值的頻率 (以秒為單位)。 預設值為 1 秒。

已配置的遠端 OracleDB 實例在 availabilityZone中顯示為個別方框。

自訂輪詢

下表顯示您可以為其配置最多三個非零自訂輪詢率的度量值。 依預設,會停用輪詢率為零或小於零的度量值。 若要停用任何度量,請從 <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 在程式碼中不使用連結變數的查詢清單。
遠端或本端監視

如需自訂輪詢的本端及遠端監視,請參閱下列配置:

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'
      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 多租戶資料庫的度量值,請完成下列步驟:

  1. 在 Instana 使用者介面的資訊看板中,選取 基礎架構
  2. 按一下特定的受監視主機。

您可以查看包含所有已收集度量及受監視處理程序的主機儀表板。

配置資料

  • 版本
  • SID
  • 服務名稱
  • 開始時間
  • CPU 計數
  • 階段作業數上限
  • 資料庫區塊大小

效能度量

度量 說明 精度
執行中處理程序數 執行中的處理程序數目。 1 秒
作用中階段作業(超過 10 分鐘) Oracle 資料庫中執行超過 10 分鐘的所有作用中階段作業。 30 秒
每秒資料庫時間 執行資料庫使用者層次呼叫所花費的經歷時間量。 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 小時

性能簽章

對於每一個感應器,會根據送入的度量持續評估性能簽章的策劃知識庫,並用來提出影響使用者的問題或發生事件。