Oracle-監控使用系統資源較多的使用者資訊
Oracle-監控使用系統資源較多的使用者資訊
下述語句監控當前活動使用者中, 使用cpu,邏輯讀, 物理讀, 解析次數較多的session的相關資訊. 報表結果包括, session id, 系統pid, session狀態, 正在執行的sql語句等.
select se.r1,
se.sid,
se.spid,
se.status,
se.name,
se.value,
sq.sql_text,
sq.piece,
se.status,
se.prog,
se.terminal,
se.osuser
from (select rank() over(partition by e.name order by value desc) r1,
a.sid,
b.spid,
e.name,
value,
a.sql_address,
a.STATUS,
substr(a.program, 1, 40) prog,
a.terminal,
osuser
from v$session a, v$process b, v$sesstat c, v$statname e
where c.sid = a.sid
and a.paddr = b.addr
and c.STATISTIC# = e.STATISTIC#
and e.NAME in( 'db block changes',
'CPU used by this session',
'parse count (hard)',
'parse count (total)',
'physical reads',
'physical reads direct',
'session logical reads'
)
and a.status = 'ACTIVE'
and value >0
) se,
v$sqltext sq
where se.sql_address = sq.ADDRESS(+)
and se.r1 <= 3
order by se.status,se.name,se.r1, sq.PIECE;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 V$SESSTAT
根據oracleonlinebook中的描述, v$sesstat儲存session從login到logout的詳細資源使用統計.
V$sysstat和v$sesstat差別如下:
? V$sesstat只儲存session資料, 而v$sysstat儲存所有sessions的累計值.
? V$sesstat只暫存資料, session退出後資料即清空. V$sysstat則是累積的, 只有當例項被shutdown才會清空.
? V$sesstat不包括統計項名稱, 如果要獲得統計項名稱則必須與v$sysstat或v$statname連線查詢獲得.
V$sesstat可被用於找出如下型別session
? 高資源佔用
? 高平均資源佔用(登陸後資源使用率)
? 預設資源佔用比(兩快照之間)
V$sesstat常用列說明
Column Datatype Description
SID NUMBER Session identifier
STATISTIC# NUMBER Statistic number (identifier)
Note: Statistics numbers are not guaranteed to remain constant from one release to another. Therefore, you should rely on the statistics name rather than its number in your applications.
VALUE NUMBER Statistic value
監控項說明
CLASS NAME desc
1 CPU used by this session 所有session的cpu佔用量, 不包含後臺程式. 這項統計的單位是毫秒.
8 db block changes 造成SGA中資料塊變化的insert,update或delete運算元.
64 parse count (hard) 在shared pool中解析呼叫的未命中次數. 當sql語句執行並且該語句不在shared pool或雖然在shared pool但因為兩者存在部分差異而不能被使用時產生硬解析. 硬解析會帶來cpu和資源使用的高昂開銷, 因為它需要oracle在shared pool中重新分配記憶體, 然後再確定執行計劃, 最終語句才會被執行.
64 parse count (total) 解析呼叫總數, 包括軟解析和硬解析. 當session執行了一條sql語句, 該語句已經存在於shared pool並且可以被使用則產生軟解析.
64 parse time cpu 總cpu解析時間(單位 10ms).包括硬解析和軟解析
64 parse time elapsed 完成解析呼叫的總時間花銷
8 physical reads OS blocks read數. 包括插入到SGA快取區的物理讀以及PGA中的直讀. 這項統計並非IO請求數.
8 physical reads direct
1 session logical reads 邏輯讀請求數
64 sorts (disk) 在硬碟上執行的排序次數
64 sorts (memory) 在記憶體中執行的排序次數
64 sorts (rows) 列排序總數.
64 table scan blocks gotten 全表掃描中讀取的總塊數
下述語句監控當前活動使用者中, 使用cpu,邏輯讀, 物理讀, 解析次數較多的session的相關資訊. 報表結果包括, session id, 系統pid, session狀態, 正在執行的sql語句等.
select se.r1,
se.sid,
se.spid,
se.status,
se.name,
se.value,
sq.sql_text,
sq.piece,
se.status,
se.prog,
se.terminal,
se.osuser
from (select rank() over(partition by e.name order by value desc) r1,
a.sid,
b.spid,
e.name,
value,
a.sql_address,
a.STATUS,
substr(a.program, 1, 40) prog,
a.terminal,
osuser
from v$session a, v$process b, v$sesstat c, v$statname e
where c.sid = a.sid
and a.paddr = b.addr
and c.STATISTIC# = e.STATISTIC#
and e.NAME in( 'db block changes',
'CPU used by this session',
'parse count (hard)',
'parse count (total)',
'physical reads',
'physical reads direct',
'session logical reads'
)
and a.status = 'ACTIVE'
and value >0
) se,
v$sqltext sq
where se.sql_address = sq.ADDRESS(+)
and se.r1 <= 3
order by se.status,se.name,se.r1, sq.PIECE;
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 V$SESSTAT
根據oracleonlinebook中的描述, v$sesstat儲存session從login到logout的詳細資源使用統計.
V$sysstat和v$sesstat差別如下:
? V$sesstat只儲存session資料, 而v$sysstat儲存所有sessions的累計值.
? V$sesstat只暫存資料, session退出後資料即清空. V$sysstat則是累積的, 只有當例項被shutdown才會清空.
? V$sesstat不包括統計項名稱, 如果要獲得統計項名稱則必須與v$sysstat或v$statname連線查詢獲得.
V$sesstat可被用於找出如下型別session
? 高資源佔用
? 高平均資源佔用(登陸後資源使用率)
? 預設資源佔用比(兩快照之間)
V$sesstat常用列說明
Column Datatype Description
SID NUMBER Session identifier
STATISTIC# NUMBER Statistic number (identifier)
Note: Statistics numbers are not guaranteed to remain constant from one release to another. Therefore, you should rely on the statistics name rather than its number in your applications.
VALUE NUMBER Statistic value
監控項說明
CLASS NAME desc
1 CPU used by this session 所有session的cpu佔用量, 不包含後臺程式. 這項統計的單位是毫秒.
8 db block changes 造成SGA中資料塊變化的insert,update或delete運算元.
64 parse count (hard) 在shared pool中解析呼叫的未命中次數. 當sql語句執行並且該語句不在shared pool或雖然在shared pool但因為兩者存在部分差異而不能被使用時產生硬解析. 硬解析會帶來cpu和資源使用的高昂開銷, 因為它需要oracle在shared pool中重新分配記憶體, 然後再確定執行計劃, 最終語句才會被執行.
64 parse count (total) 解析呼叫總數, 包括軟解析和硬解析. 當session執行了一條sql語句, 該語句已經存在於shared pool並且可以被使用則產生軟解析.
64 parse time cpu 總cpu解析時間(單位 10ms).包括硬解析和軟解析
64 parse time elapsed 完成解析呼叫的總時間花銷
8 physical reads OS blocks read數. 包括插入到SGA快取區的物理讀以及PGA中的直讀. 這項統計並非IO請求數.
8 physical reads direct
1 session logical reads 邏輯讀請求數
64 sorts (disk) 在硬碟上執行的排序次數
64 sorts (memory) 在記憶體中執行的排序次數
64 sorts (rows) 列排序總數.
64 table scan blocks gotten 全表掃描中讀取的總塊數
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1353787/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle-監控使用者鎖Oracle
- 監控系統是資訊資源管理的基礎
- 監控linux系統資源Linux
- 使用 Shell 指令碼監控 Linux 系統程式資源指令碼Linux
- AIX系統資源監控SHELL指令碼AI指令碼
- iOS監控:資源使用iOS
- 在Linux中,如何監控系統資源使用情況?Linux
- 監控系統資源的6個Linux工具Linux
- Oracle-常用監控SQLOracleSQL
- Shell 系統資訊監控指令碼指令碼
- Domino Mail 系統的多級監控AI
- Oracle-監控oracle的等待事件Oracle事件
- python使用wmi模組獲取windows下的系統資訊 監控系統PythonWindows
- 6個監控linux系統資源的快速工具Linux
- AIX 使用者的系統資源使用限制AI
- 開源監控系統Prometheus的前世今生Prometheus
- DCIM 系統增強資料中心的電源監控能力
- 在Linux中,如何進行系統資源的監控?Linux
- 開源監控系統Prometheus介紹Prometheus
- (轉)開源IT監控系統對比
- 使用Shell指令碼對Linux系統和程式資源進行監控指令碼Linux
- 淘寶開源其系統監控工具Tsar
- KPI企業綜合監控系統--資訊系統之綱KPI
- 使用Sar實現系統監控
- 基於使用者角色的資料庫智慧監控系統應用場景分析資料庫
- 系統監控&JVM監控指標資料查詢JVM指標
- 淘寶開發的系統監控工具 Tsar 開源
- Linux下系統資源監控工具Collectl基本介紹Linux
- linux_系統資源監控指令碼_system_monitorLinux指令碼
- JavaWeb的監控系統JavaWeb
- Oracle-監控sql語句的過載率OracleSQL
- Oracle-監控緩衝區的命中率Oracle
- 使用 Performance API 實現前端資源監控ORMAPI前端
- .NET 開源實時監控系統 - WatchDog
- 資源監控工具 glances
- 目前哪些開源雲監控工具比較好用!
- 檢視系統資源資訊
- 80 多個 Linux 系統管理員的監控工具Linux