通过top获得消耗cpu高的pid

通过top获得消耗cpu高的pid。
(1)通过pid,使用操作系统工具可以找到有问题的进程。确认这是远程连接的用户进程。
$ps -ef | grep pid
(2)捕获存在问题的SQL语句:getsql.sql
select /*+ORDERD*/ sql_text from v$sqltext a
where (a.hash_value,a.address) in (
  select decode(sql_hash_value,0,prev_hash_value,sql_hash_value),
   decode(sql_hash_value,0,prev_sql_addr,sql_address)
   from v$session b
   where b.paddr=(select addr from v$process c where c.spid='&pid))
order by piece ASC;
(瞬时值)
通过pid和v$process。spid相关联,可以获得Process的相关消息,进而通过v$process.addr和v$session.paddr相关联,就可以获得和session相关的所有信息。再结合v$sqltext,即可获得当前session正在执行的SQL语句。通过v$process视图,就可以把操作系统和数据库关联起来。
标签: 暂无标签
oraunix

写了 199 篇文章,拥有财富 1026,被 339 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

P4 | 发表于 2013-10-14 14:39:13
是啊,大师讲的课就是不一样,要是还有备份恢复、调优这些视频教程就好了。
回复

使用道具

P4 | 发表于 2013-6-21 22:41:43
好久不见大师更新了。
回复

使用道具

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈