DBA_HIST_ACTIVE_SESS_HISTORY应用

--查看event事件
select event,count(*) cnt from DBA_HIST_ACTIVE_SESS_HISTORY where wait_class<>'Idle' and sample_time<sysdate-1
group by event order by cnt ;


--查看某时间段内的sql
SET PAUSE ON
SET PAUSE 'Press Return To Continue'
SET HEADING ON
SET LINESIZE 300
SET PAGESIZE 60
 
COLUMN Sample_Time FOR A12
COLUMN username FOR A20
COLUMN sql_text FOR A40
COLUMN program FOR A40
COLUMN module FOR A40
 
SELECT
   sample_time,
   u.username,
   h.program,
   h.module,
   s.sql_text
FROM
   DBA_HIST_ACTIVE_SESS_HISTORY h,
   DBA_USERS u,
   DBA_HIST_SQLTEXT s
WHERE  sample_time
BETWEEN '&s_time' and '&e_time'
--AND INSTANCE_NUMBER=&inst_no
   AND h.user_id=u.user_id
   AND h.sql_id = s.sql_iD
ORDER BY 1
 
  
 
  
--top sql
	
col type for a10 col "CPU" for 999999.9 col "IO" for 999999.9 select * from ( select      ash.SQL_ID , ash.SQL_PLAN_HASH_VALUE Plan_hash, aud.name type,      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(wait_class, 'User I/O',1,0),0))    "WAIT" ,      sum(decode(ash.session_state,'WAITING', decode(wait_class, 'User I/O',1,0),0))    "IO" ,      sum(decode(ash.session_state,'ON CPU',1,1))     "TOTAL" from dba_hist_active_sess_history ash,      audit_actions aud where SQL_ID is not NULL    and ash.sql_opcode=aud.action    and ash.sample_time > sysdate - &minutes /( 60*24) group by sql_id, SQL_PLAN_HASH_VALUE   , aud.name order by sum(decode(session_state,'ON CPU',1,1))   desc ) where  rownum < 10 /
 
 
--io size
col event for a25
select event,round(min(p3)) mn,
round(avg(p3)) av,
round(max(p3)) mx,
count(*)  cnt
from dba_hist_active_sess_history
--from v$active_session_history
where  (event like 'db file%' or event like 'direct %')
and event not like '%parallel%'
group by event
order by event
/

--查询2011-12-28日对dj_sz表的update语句。

select to_char(b.begin_interval_time,'yyyy-mm-dd hh24:mi:ss') update_time,c.sql_text sql_text

from dba_hist_active_sess_history a,DBA_HIST_SNAPSHOT b,v$sqlarea c

where a.snap_id=b.snap_id

and a.sql_id=c.sql_id

and b.begin_interval_time>=to_date('2011-12-28','yyyy-mm-dd') and b.begin_interval_time < to_date('2011-12-29','yyyy-mm-dd')

and lower(c.sql_text) like '%update%dj_sz%'

order by update_time


select 
*
from DBA_HIST_ACTIVE_SESS_HISTORY
where 
sample_time 
between 
to_date('18-APR-2012 10:40:00','DD-MON-YYYY HH24:MI:SS')
and 
to_date('18-APR-2012 10:40:10','DD-MON-YYYY HH24:MI:SS')
and instance_number in (1,12)
order by sample_time,instance_number,SESSION_ID;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29337971/viewspace-1816635/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29337971/viewspace-1816635/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值