Oracle等待事件引发CPU冲高
RAC 环境Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
在下午时 ,发现数据库服务器CPU资源基本耗尽,使用vmstat 查看阻塞比较严重,topas中也没发现异常的进程;从em中的图例中看到大量的用户等待情况;
在两个结点分别查询 中大概有80多个表被锁, 为了使服务器资源降下来,在两个节点总共杀了1000多个session ,服务器资源丝毫没有降下来,在查询数据库中的锁又有很多;用户在使用中,杀不掉,也没什么好的办法,抓取了当时的awr 和ash ;请大家帮忙看看;
Logical reads: 2,227,517.4 70,221.7
2,227,517* 16k = 33GB/s 每秒33gb的 逻辑读
AIX-Based Systems (64-bit)
CPU Time (s) Executions CPU per Exec (s) %Total Elapsed Time (s) %CPU %IO SQL Id SQL Module SQL Text
23,316.45 80 291.46 53.10 64,530.08 36.13 0.00 6w0rg5bwfcxzc JDBC Thin Client BEGIN RP_SALE001_GENERATE (:1)...
23,263.14 80 290.79 52.98 64,414.95 36.11 0.00 ddbgdrddk4bxj JDBC Thin Client INSERT INTO RP_SALE001 (ID, AD...
ddbgdrddk4bxj 这个sql 执行了80次在快照时间内,每次cpu time 290s左右
其形式为 insert .. .select from . 考虑优化该sql 为优先。
另就执行看,其似乎不是 一直都执行的sql,当然具体要看执行历史数据
页:
[1]