通過active_session_history我們能得到什麼
通過active_session_history我們能得到什麼
--最近10分鐘最耗CPU的SQL語句
select a.sql_id,a.sess_count,a.cpu_load,b.sql_text
from (select sql_id,count(*) sess_count,
Round(count(*)/sum(count(*)) over(),2) cpu_load
from v$active_session_history
where sample_time >sysdate-1/(24*6)
and session_type<>'BACKGROUD'
AND SESSION_STATE='ON CPU'
GROUP BY SQL_ID
ORDER BY COUNT(*) DESC ) A,V$SQLAREA B
WHERE A.SQL_ID=B.SQL_ID
--最近10分鐘最耗I/O語句
select a.sql_id,a.sess_count,b.sql_text
from (select ASH.sql_id,count(*) sess_count
from v$active_session_history ash,v$event_name evt
where ash.sample_time>sysdate-1/(24*6)
and ash.session_state='WAITING'
AND ash.event_id=evt.event_id
and evt.wait_class='User I/O'
GROUP BY ash.sql_id
ORDER BY COUNT(*) DESC ) A,V$SQLAREA B
WHERE A.SQL_ID=B.SQL_ID
--最近10分鐘最耗系統資源語句
select a.sql_id,a.sess_count,b.sql_text
from (select ASH.sql_id,count(*) sess_count
from v$active_session_history ash,v$event_name evt
where ash.sample_time>sysdate-1/(24*6)
and ash.session_state='WAITING'
AND ash.event_id=evt.event_id
and evt.wait_class='User I/O'
GROUP BY ash.sql_id
ORDER BY COUNT(*) DESC ) A,V$SQLAREA B
WHERE A.SQL_ID=B.SQL_ID
--最近10分鐘最耗CPU的SQL語句
select a.sql_id,a.sess_count,a.cpu_load,b.sql_text
from (select sql_id,count(*) sess_count,
Round(count(*)/sum(count(*)) over(),2) cpu_load
from v$active_session_history
where sample_time >sysdate-1/(24*6)
and session_type<>'BACKGROUD'
AND SESSION_STATE='ON CPU'
GROUP BY SQL_ID
ORDER BY COUNT(*) DESC ) A,V$SQLAREA B
WHERE A.SQL_ID=B.SQL_ID
--最近10分鐘最耗I/O語句
select a.sql_id,a.sess_count,b.sql_text
from (select ASH.sql_id,count(*) sess_count
from v$active_session_history ash,v$event_name evt
where ash.sample_time>sysdate-1/(24*6)
and ash.session_state='WAITING'
AND ash.event_id=evt.event_id
and evt.wait_class='User I/O'
GROUP BY ash.sql_id
ORDER BY COUNT(*) DESC ) A,V$SQLAREA B
WHERE A.SQL_ID=B.SQL_ID
--最近10分鐘最耗系統資源語句SQL語句
select a.sql_id,A.CPU,A.WAIT,A.IO,A.TOTAL,B.SQL_TEXT
FROM (
select ash.sql_id,
sum(decode(ash.session_state,'ON CPU',1,0)) "CPU",
sum(decode(ash.session_state,'WAITING',1,0)) -
sum(decode(ash.session_state,'WAITING',
decode(en.wait_class,'USER I/O',1,0),0)) "WAIT",
sum(decode(ash.session_state,'WAITING',
decode(en.wait_class,'USER I/O',1,0),0)) "IO",
sum(decode(ash.session_state,'on cpu',1,1)) "TOTAL"
from v$active_session_history ash,v$event_name en
where sql_id is not null
and en.event#=ash.event#
and ash.sample_time>sysdate-1/(24*6)
group by ash.sql_id
order by sum(decode(ash.session_state,'ON CPU',1,1)) desc) a, v$sqlarea b
where a.sql_id=b.sql_id
--最近10分鐘最耗系統資源的會話
select a.sid,a.serial#,b.username,a.user_id,a.program,a.cpu,a.waiting,a.io,a.total
FROM (
select ash.session_id sid,
ash.session_serial# serial#,
ash.user_id,
ash.program,
sum(decode(ash.session_state,'ON CPU',1,0)) "CPU",
sum(decode(ash.session_state,'WAITING',1,0)) -
sum(decode(ash.session_state,'WAITING',
decode(en.wait_class,'USER I/O',1,0),0)) "WAITING",
sum(decode(ash.session_state,'WAITING',
decode(en.wait_class,'USER I/O',1,0),0)) "IO",
sum(decode(ash.session_state,'on cpu',1,1)) "TOTAL"
from v$active_session_history ash,v$event_name en
where en.event#=ash.event#
and ash.sample_time>sysdate-1/(24*6)
group by ash.session_id,ash.user_id,ash.session_serial#,ash.program
order by sum(decode(ash.session_state,'ON CPU',1,1)) ) a, v$session b
where a.sid=b.sid
----查詢目前使用者會話是在等待哪個會話
select distinct a.session_id,a.session_serial#,a.session_id,a.session_state,a.session_type,
a.blocking_session,a.blocking_session_serial#,a.blocking_session_status,
a.event,s.sql_id
from v$active_session_history a,v$session s
where a.blocking_session is not null
and a.blocking_session=s.sid
and a.blocking_session_serial#=s.serial#
and s.sql_id is not null
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29990276/viewspace-1653514/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 《後來的我們》,為什麼我們會錯過彼此?
- DevOps是什麼?DevOps能夠給我們帶來什麼?dev
- 我們能夠通過外包完成第一個軟體版本嗎?
- 我們能從幻獸帕魯中看到什麼?
- GitOps實踐指南:GitOps能為我們帶來什麼?Git
- [譯] 我們能從 Redux 原始碼中學到什麼?Redux原始碼
- 965七年我失去了什麼?得到了什麼?
- 提起“縫合怪”,除了抄襲,我們還能聊什麼?
- 為什麼大語言模型能將我們帶入AGI?模型
- 關於《絕區零》,我們還能討論些什麼?
- 掀起的“元宇宙”熱潮,能給我們帶來什麼?元宇宙
- 在資料二十條中我們能夠發現什麼
- 除了“好玩”,電子遊戲還能為我們帶來什麼?遊戲
- 為什麼我們需要 VuexVue
- 我們為什麼要用RedisRedis
- 我們為什麼而工作
- 我們該學習什麼?
- 我們為什麼需要CDP?
- 當我們談論Promise時,我們說些什麼Promise
- 當我們談優化時,我們談些什麼優化
- 在遊戲的世界裡,我們能通過大資料分析知道哪些祕密?遊戲大資料
- 為什麼我們要熟悉這些通訊協議? 【精讀】協議
- 通過面試題,讓我們來了解Collection面試題
- 當我們談論MOD時,我們在談論什麼?
- 當我們聊kubernetes operator時,我們在聊些什麼
- 我們為什麼需要async/await ?AI
- 我們的口號是什麼?
- 到底為什麼我們需要 Clickhouse?
- 我們為什麼需要雲原生?
- GC是什麼?為什麼我們要去使用它GC
- 什麼是Web workers?為什麼我們需要他Web
- [Python小記] 通俗的理解閉包 閉包能幫我們做什麼?Python
- 我們能從《博德之門3》的成功中學到些什麼?
- 劇情策劃在幹什麼?說說我們的職能與定位
- 【乾貨】作為一個測試人員,我們能幹些什麼?
- 即將推出的 chrome 95 新特性❗ 從中我們能學到什麼❓Chrome
- 為什麼我不建議你通過 Python 去找工作?Python
- 當我們談深度學習時,我們用它落地了什麼?深度學習
- 當我們擔心人工智慧時,我們擔心什麼?人工智慧