某一天,系统崩了,数据库告急;不管是CPU过载,慢语句过多(这个时候,慢语句可能失去了一些意义,因为它可能不是害群之马,只是受害者 —— 这个应该好理解;雪崩之下,一个SQL都躲不掉,一个SQL都快不了);还是CPU使用率很低,其实CPU使用率很低,可能也是有问题的。就是可能并发不搞,但是单个语句执行时间确实很长。
通过sql日志,快速记录数据中执行过的所有SQL语句,并且分析这个方法这里不赘述了,可以参考这个链接。
10003 事件
trace含有特定操作符的语句输出到TRACE文件
alter session 0 set events ‘10003 trace name context forever,level 1’
level 支持1到15 含义如下:
LEVEL 1 CSCN
LEVEL 2 HASH JOIN
LEVEL 4 HAGR
LEVR 8 NEST LOOP
支持 这几种操作符号组合,比如TRACE CSCN 和 HASH JOIN 的语句,level 可以设置为3 (1+2)
例子:如果我们要快速记录数据库中所有带CSCN操作符的SQL语句,怎么处理?
alter session 0 set events '10003 trace name context forever,level 1'
复制
文件内容,手动看吧;用bash命令分析也好、自己写工具分析也好;有写好的可以c一份给这个[邮箱] (Quincy@mywiz.cn)
注意:
关闭命令在这里哟:
alter session 0 set events '10003 trace name context off'
复制
如果要找原厂的话:听说这个电话[24小时免费服务热线] (4009916599)有求必应,不知道是不是真的 😉
文章
阅读量
获赞