一段根据Process查询Sql脚本的sql

本文提供了一种查询Oracle数据库中消耗CPU较高的SQL语句的方法。通过使用特定的SQL查询结合系统进程ID,可以定位到具体引起性能瓶颈的SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看oracle数据库耗cpu的sql,以系统管理员的身份登陆。linux下输入Top得到的pid就是下面这段sql的输入

 

 

 

SELECT   /*+ ORDERED */
         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
/

 

 

 

 

 

select sql_text
from v$sqltext a
where a.hash_value = (
select sql_hash_value from v$session b
where b.sid='&sid'
)
order by piece asc
    /

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值