昨天晚上下班的时候把手机落在公司了,没有手机担心系统有什么异常的话就收不到了,于是12点睡觉前又打开电脑去check一遍。果然有个库由于在大量导数据,空间快不够了。正在加datafile的过程中,另外一个AIX5305上的库又因为异步IO的问题宕机,alert记录如下:
Errors in file /u01/oracle/admin/ningoo/udump/ningoo_ora_577896.trc:
ORA-00202: controlfile: '/u01/oracle/oradata/ningoo/control01.ctl'
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
IBM AIX RISC System/6000 Error: 12: Not enough space
Additional information: 1
Mon Feb 25 23:56:38 2008
Errors in file /u01/oracle/admin/ningoo/bdump/ningoo_ckpt_712718.trc:
ORA-00206: error in writing (block 3, # blocks 1) of controlfile
ORA-00202: controlfile: '/u01/oracle/oradata/ningoo/control02.ctl'
ORA-27070: skgfdisp: async read/write failed
IBM AIX RISC System/6000 Error: 12: Not enough space
ORA-00206: error in writing (block 3, # blocks 1) of controlfile
ORA-00202: controlfile: '/u01/oracle/oradata/ningoo/control01.ctl'
ORA-27070: skgfdisp: async read/write failed
IBM AIX RISC System/6000 Error: 12: Not enough space
Mon Feb 25 23:56:38 2008
CKPT: terminating instance due to error 221
Instance terminated by CKPT, pid = 712718
由于os的异步IO队列满后,对于Oracle的aiowait调用,AIX的lio_listio没有及时的返回信息,导致Oracle认为IO异常,ckpt进程将实例终止,这个问题会周期性的出现。在IBM的网站上查到这个bug IZ03260,在5306中已经包括了patch,看来这个星期要找时间升级到5306版了。
5300-06-04-0748
$instfix -i | grep IZ03260
All filesets for IZ03260 were found.
这个问题,metalink上有个案例说调整异步IO参数可以暂时解决:
aioo -o maxreqs=12280 --即时生效
但实践证明是没有效果的,只有重启os才能暂时解决问题。而这并不是最要命的,最要命的是有几个datafile居然被offline了,而alert里没有任何记录,导致后来是应用发现问题才知道的。赶紧在监控中加上对datafile状态的监控。
除了这个问题,昨晚导数据的那个库还报了undo表空间和归档空间不足的告警。一次手机忘带,居然连出三次问题,无语了。流年不利,万事小心。
基于安全和保密的原因,实例名纯属虚构^_^
呵呵,你把实例名给替换了吧,不然正是库德实例名字是ningoo的话也说明你们真的很有特色
异步io问题多多,linux更厉害,从前管aix的有几个搞不定,最后禁掉了,主机的人都搞不定,晕死
呵呵,烦也一天,乐也一天。别想太多。。。
给楼上两位老大送点祝福吧,事事顺心!
妈的,我最近也狂不顺,不论是工作还是生活,NND,一堆烦心事!