问题:
凌晨1点40分,监控发来告警邮件,数据库服务器CPU使用率超过98%,持续1个多小时恢复正常;
chenjuchao 01:40
Problem:cpu%>98%
环境说明:
DB:Oracle 11.2.0.1.0
OS:Windows Server 2012
问题分析:
收集CPU% 使用率超过 98% 时间段的AWR报告;
通过AWR可以看到:
(1)逻辑读比平时高出很多
(2)等待事件都是I/O 类型
direct path read
db file sequential read
db file scattered read
(3)CPU使用率很高
(4)查看TOP SQL,找到两个消耗资源高的SQL
查看SQL执行计划:
select * from table (dbms_xplan.display_cursor ('gcvs9nw6b9d8m'));
select * from table (dbms_xplan.display_awr ('gcvs9nw6b9d8m'));
主要耗时在T_BD_ACCOUNTVIEW表全表扫描上,那么当前SQL执行慢是否可以稳定重现呢?
SQL存在绑定变量,查出绑定变量,进行问题重现;
select b.na