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

针对ORACLE 11.2.0.4 RAC版本在Oracle Linux 6.4环境下出现的CPU和负载均衡过高问题,通过分析I/O、会话、AWR报告,定位到特定用户和SQL语句,发现全表扫描原因并提出解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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字段单独加一个索引。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值