Oracle实用脚本分享--根据操作系统进程查找数据库对应的慢sql

理论要闻 阅读(1542)

有时我们在排查问题时需要根据操作系统编号去查找正在执行的SQL语句,可以怎么查询呢?下面分享一个实用脚本来解决。

d94b32c4359a4320a5ad30d3d3b02dd3

假设我们发现这个进程占用CPU最高,这时候可以获取进程PID。

143d1ab960a543858fec9c5e9a0283d9

从v $ session sess,v $ sqltext sql1,v $ process pro中选择sess.username,sql1.SQL_TEXT,其中sess.SQL_ADDRESS=sql1.ADDRESS和pro.ADDR=sess.PADDR和pro.SPID='& spid'顺序通过sql1.PIECE;

89a3e4cea83d4e29942f6dea826de990

6704a027eea74eb58f1505beb0264f48

通过这个SQL就可以找到对应进程涉及的SQL了。

大家还有什么好的脚本也可以一起分享下哦,后面会分享更多DEVOPS和DBA方面的内容,感兴趣的朋友可以关注一下

7811e540a9ce4e93993e3bb8ce835b44

XX