oralce数据库cpu超过80%,网站反应很慢
  bAB2KcLKpirZ 2023年11月02日 38 0


一个oracle集群,zabbix监控报警,oracle节点1 cpu过高,登入节点2CPU正常,程序访问很慢,

第一步,登入数据库,查看数据库连接池,发现连接信息全部是连接的节点1,节点2未有连接;
第二步:导出耗时前10 的sql,发现查询得sql没绑定索引,发给开发,优化sql;
第三步:查看程序连接数据库信息,发现程序的连接信息只写了的oralce集群节点1 ip导致,
修改程序的连接信息改成oracle的vip 地址;程序恢复正常

–查看耗时SQL

select *

from (select v.sql_id,

v.child_number,

v.sql_text,

v.elapsed_time,

v.cpu_time,

v.disk_reads,

rank() over(order by v.cpu_time desc) elapsed_rank

from v$sql v) a

where elapsed_rank <= 20;

–查询数据库连接数

set pagesize 1000;
set line 200;
col username for a20;
col machine for a30;
col module for a30;
col program for a30;
col service_name for a15;

select inst_id, username, machine, module, program, service_name, count(*)
from gv$session 
where type<>'BACKGROUND' 
and username not in ('SYS','PUBLIC','SYSRAC','DBSNMP')
and status<>'KILLED'
group by service_name, username, inst_id, machine, module, program
order by service_name, username, inst_id, machine, module, program;

处理方案:联系DBA检查数据库,发现php直接数据库,而已都连接的节点1,导致cpu负载过高;
DBA给出的建议建议优化的地方
a.应用端加入中间件连接池
b.SQL使用绑定变量,减少硬解析带来的CPU消耗
c.耗时sql优化
d.php程序连接数据库的Scan IP


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  xaeiTka4h8LY   2024年05月31日   46   0   0 MySQLSQL
  xaeiTka4h8LY   2024年05月31日   41   0   0 MySQL数据库
  xaeiTka4h8LY   2024年05月17日   52   0   0 数据库JavaSQL
  xaeiTka4h8LY   2024年05月17日   51   0   0 数据库SQL
  xaeiTka4h8LY   2024年05月17日   38   0   0 MySQL数据库
  xaeiTka4h8LY   2024年05月31日   39   0   0 数据库mongodb
bAB2KcLKpirZ