快捷搜索:  汽车  科技

常用sql查询语句:分享一个常用的sql语句--实时查找超过10秒的sql

常用sql查询语句:分享一个常用的sql语句--实时查找超过10秒的sql后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~UPDATE FSL_OR SET SEND = '1' WHERE ORDERNUMBER = 'A' || '-' || : B2 || '-' || :B1 AND ORTYPE='实际订单' 篇幅有限,查找超过10s的sql就介绍到这了,这里时间也可以根据需要调整下。select sql_id from v$session where sid=227 --c212jfrj1m0fg查看具体sql:select listagg(sql_text ' ') within group (order by piece) from v$sqltext where sql_id = 'c212jfrj1m0fg' group by sql_id 可以发现这条sql超过了10s

概述

很多时候我们会发现系统突然莫名其妙的卡顿,一般根源都是sql方面的问题,这个时候如果想知道系统是由哪条sql引起卡顿的,可以怎么处理呢?下面分享一个实时去查超过10s的sql。


实时查找超过10秒的sql

SELECT 'kill -9 '||p.spid /*p.spid p.pid */s.sid s.username s.machine s.sql_hash_value s.last_call_et 秒 s.last_call_et/ 60 运行时间 s.client_info p.program "OSProgram" 'alter system kill session ''' ||s.SID||' '||s.SERIAL#|| ''';' FROM v$session s v$process p WHERE (s.status = 'ACTIVE' ) AND ((s.username IS NOT NULL) AND (NVL (s.osuser 'x') <> 'SYSTEM') AND (s.TYPE <> 'BACKGROUND')) AND (p.addr( ) = s.paddr) --and s.username in ('CRMDB') and s.last_call_et > 10 /*and s.sql_hash_value=880766746*/ ORDER BY s.last_call_et/60 desc "USERNAME" ASC ownerid "USERNAME" ASC;

常用sql查询语句:分享一个常用的sql语句--实时查找超过10秒的sql(1)

如果想kill掉会话可以执行下面语句:

alter system kill session '227 22153';

查看具体是哪条sql的ID可以这样查:

select sql_id from v$session where sid=227 --c212jfrj1m0fg

常用sql查询语句:分享一个常用的sql语句--实时查找超过10秒的sql(2)

查看具体sql:

select listagg(sql_text ' ') within group (order by piece) from v$sqltext where sql_id = 'c212jfrj1m0fg' group by sql_id

常用sql查询语句:分享一个常用的sql语句--实时查找超过10秒的sql(3)

可以发现这条sql超过了10s

UPDATE FSL_OR SET SEND = '1' WHERE ORDERNUMBER = 'A' || '-' || : B2 || '-' || :B1 AND ORTYPE='实际订单'


篇幅有限,查找超过10s的sql就介绍到这了,这里时间也可以根据需要调整下。

后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

常用sql查询语句:分享一个常用的sql语句--实时查找超过10秒的sql(4)

猜您喜欢: