【ORACLE性能】ORACLE服务器的CPU和负载均衡过高

ORACLE服务器的CPU和负载均衡过高

场景:

数据库版本:11.2.0.4 RAC;系统版本:Oracle Linux 6.4

巡检发现DDDRAC库CPU/负载均衡过高,load(15m)值达到了40以上,CPU值达到90%以上。

解决:
发现CPU和过载过高后,查看磁盘I/O,命令:iostat -m 2,但读写速度并没有飙升;

查看会话发现TTPOPP用户并发连接数很多,可以定位到是这个用户在执行语句;

查看AWR报告定位到两条sql语句使用CPU非常的高,分别为61.62和31.16,SQL_ID分别为cdkcdsab1rt50和0f8r4auk3zm0;

发现这两条语句执行的对象都为ACCC_AASH_FROZZZ_DETAAA表,查看执行计划两个语句的成本使用3万多之高,均为全表扫描,where条件字段为reeuess_no,发现这个字段创建的是联合索引idx_o_r(ordee_no,reeuess_no),reeuess_no在联合索引的位置在第二个位置,查出的两个条语句where条件只有reeuess_no这个字段,并且这个字段的值非常多,单独使用这个字段后联合索引并没有起到作用,导致执行计划走全表扫描,导致执行计划执行效率低;

再查看这个表最后的DDL语句(因怀疑对表进行了更改等操作),最后更改是2018年1月;

经咨询得知下午3点左右在进行清算任务,最后DDDRAC在他们清算结束后系统CPU和负载恢复正常。

最后建议开发人员给reeuess_no字段单独加一个索引。

你可能感兴趣的:(Oracle性能&恢复)