oracle版本:Oracle9i Enterprise Edition Release 9.2.0.1.0
os版本:AIX5.3-TL3
这个由于异步IO引起的问题,在AIX 5.3 TL3下,使用文件系统,打开Oracle的异步IO选项的时候,经常会出现。
当异步IO的请求(队列)超出MAXREQS的时候,由于AIX上AIOWAIT的问题,会导致返回值是错误的,Oracle发现
该错误后,就会出现问题。如果正好是某些重要的后台进程碰到这样的错误,会导致数据库宕掉。
解决方法(三选一,其中第二和第三可以一起使用):
1、关闭数据库的异步IO(最后没办法的时候采取的措施)
2、修改异步IO参数,加大MAXREQS到8192,甚至16384(很多人说这个调整无效)
chdev -l aio0 -a maxreqs=16384 --或者8192
要不启动系统,动态修改请使用下面命令(临时设置,重启不起作用)
aioo -o maxreqs=16384 --或者8192 (aioo是AIX5.3-TL5版本以上才支持的)
3、安装IBM的IZ03260补丁包(这个是最根本的解决方法,修复bug)
现象:由于AIO的异常,在系统会看见cpu有异常等待,及时系统空闲,cpu也有等待,这个时候的临时解决方法是重启下服务器,让其aio正常工作,找个时间重启下机器