AWR stop working on linux x86 10.2.0.5


1、问题概述

故障简述:AWR 快照停止生成
操作系统:linux as 5.4
数据库:oracle 10.2.0.5 (RAC 2节点)

2、故障现象

运行AWRRPT.SQL,发现8月11日后无snapshot信息,查询快照信息。

网友有提及此类故障,连接:http://blog.itpub.net/27064837/viewspace-750329/


3、问题定位

3.1 alert 中无任何告警信息


3.2 查询v$locked_object 发现 $WHR_SQL_PLAN 和$WHR_SQL_BIND_METADATA 被锁


3.3 2节点均出现M00进程trace log

*** KEWRAFC: Flush slave failed, AWR Enqueue Timeout *** 2015-08-11 23:00:52.036

*** KEWRAFC: Flush slave failed, AWR Enqueue Timeout *** 2015-08-11 23:01:52.109

*** KEWRAFC: Flush slave failed, AWR Enqueue Timeout *** 2015-08-11 23:02:52.141

*** KEWRAFC: Flush slave failed, AWR Enqueue Timeout *** 2015-08-11 23:03:49.183

*** KEWRAFC:Flush slave failed, AWR Enqueue Timeout *** 2015-08-11 23:04:49.256

*** KEWRAFC: Flush slave failed, AWR Enqueue Timeout *** 2015-08-11 23:05:49.289



3.4 2节点2问题时间段出现异步IO报错

Redo thread mounted by this instance: 2
Oracle process number: 68
Unix process pid: 2193, image: oracle@oadb2 (J001)

*** ACTION NAME:(GATHER_STATS_JOB) 2015-08-11 22:00:09.340
*** MODULE NAME:(DBMS_SCHEDULER) 2015-08-11 22:00:09.340
*** SERVICE NAME:(SYS$USERS) 2015-08-11 22:00:09.340
*** SESSION ID:(367.64849) 2015-08-11 22:00:09.340

WARNING:io_submit failed due to kernel limitations MAXAIO for process=0 pending aio=0
WARNING:asynch I/O kernel limits is set at AIO-MAX-NR=65536 AIO-NR=65476
WARNING:1 Oracle process running out of OS kernelI/O resources aiolimit=0


ksfdgo()+1488<-ksfdaio1()+9848<-kfkUfsIO()+594<-kfkDoIO()+631<-kfkIOPriv()+616<-kfdIOPriv()+95<-kfioSubmitIO()+503<-kfioRequestPriv()+166<-kfioRequest()+689<-ksfd_osmvio()+4275<-ksfd_osmvio()+4275<-ksfd_vio()+820<-ksfdvread()+668<-kcfrbd()+1773<-kcbz_table_scan_read()+3074
<-kcbzib()+20302<-kcbgtcr()+22190<-ktrgtc()+344<-kdiixs1()+4912<-qerixtFetch()+7335<-qergsFetch()+11294<-opifch2()+2944<-opiefn0()+402<-opipls()+3090<-opiodr()+1184<-rpidrus()+196<-skgmstack()+158<-rpidru()+116<-rpiswu2()+409<-rpidrv()+1516<-psddr0()+439<-psdnal()+386
<-pevm_EXIM()+250<-pfrinstr_EXIM()+53<-pfrrun_no_tool()+65<-pfrrun()+898<-plsql_run()+839<-peidxr_run()+246<-peidxexe()+89<-kkxdexe()+296<-kkxmpexe()+227<-kgmexwi()+565<-kgmexec()+1314<-evapls()+909<-evaopn2()+458<-kkxmexcs()+139<-opiexe()+16415<-kpoal8()+2295
<-opiodr()+1184<-kpoodr()+587<-upirtrc()+2101<-kpurcsc()+125<-kpuexecv8()+1705<-kpuexec()+2643<-OCIStmtExecute()+41<-jslvec_execcb1()+5623<-jslvswu()+258<-jslve_execute0()+3287<-jslve_execute()+712<-rpiswu2()+409<-kkjex1e()+8681<-kkjsexe()+720<-kkjrdp()+1415
<-opirip()+1151<-opidrv()+583<-sou2o()+114<-opimai_real()+317<-main()+116<-__libc_start_main()+244<-_start()+41


3.5 官方问题定位此为 10.2.0 .5bug, ID号为 9949948

Oralce metalink给出的解决办法为:

1) 增加系统参数 AIO-MAX-NR

2) 禁用异步IODisable async IO set DISK_ASYNCH_IO=FLASE

3) 升级数据库到10.2.0.5.2



4、最终解决处理过程:
根据oracle metalink的解决建议:

a)  修改操作系统内核参数
修改前:
cat /proc/sys/fs/proc/sys/fs/aio-max-nr
65536
vi /etc/sysctl.conf 添加:
fs.aio-max-nr = 1048576
执行命令使修改生效:sysctl -p


b)  启动AWR 并监控


c)  后期监控结果





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值