查看oracle cpu占用过高的sessionid 以及sql

本文详细介绍了如何使用Oracle的v$sesstat和v$sysstat视图进行性能调优,解释了两者的区别,并提供了具体的SQL查询示例,如根据CPU使用情况和SID查询相关信息。

/*根据CPU排序情况进行占用/
/**v$ sysstat和v$ sesstat 区别
v$ s中间去掉空格
v$ sesstat只保存session数据,而v$ sysstat则保存所有sessions的累积值。
v$ sesstat只是暂存数据,session退出后数据即清空。v$ sysstat则是累积的,只有当实例被shutdown才会清空。
v$ sesstat不包括统计项名称,如果要获得统计项名称则必须与v$ sysstat或
**/
select ss.sid,se.command,ss.value CPU ,se.username,se.program
from v$ sesstat ss, v$ session se
where ss.statistic# in
(select statistic#
from v$statname
where name = ‘CPU used by this session’)
and se.sid=ss.sid
and ss.sid>6
order by ss.value desc

/*根据session sid 查询 session spid/
select b.spid,a.sid,a.serial#,a.machine from v$ session a,v$ process b where a.paddr =b.addr and a.sid = ‘$sid’;

/根据spid 查询 sid/
select sid from v$ session where paddr = (select addr from v$process where spid = $spid);

/**根据sid 查询对应sql语句/
select sql_text from v$ sqltext where address = (select sql_address from v$session where sid = $sid) order by piece;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值