频繁引发数据库异常宕机[转]

故障描述

在做数据批处理或imp操作的时候,频繁引发数据库异常宕机,查看alertsid.log,有如下信息:

Fri Aug 24 15:41:05 2007

Recovery of Online Redo Log: Thread 1 Group 3 Seq 248 Reading mem 0

  Mem# 0: /zxdata/cc/redo03.log

Fri Aug 24 15:41:05 2007

Recovery of Online Redo Log: Thread 1 Group 1 Seq 249 Reading mem 0

  Mem# 0: /zxdata/cc/redo01.log

Fri Aug 24 15:41:13 2007

Recovery of Online Redo Log: Thread 1 Group 4 Seq 250 Reading mem 0

  Mem# 0: /zxdata/cc/redo04.log

Fri Aug 24 15:41:13 2007

Completed redo application

Fri Aug 24 15:41:23 2007

Errors in file /oracle/admin/cc/bdump/cc_dbw1_524450.trc:

ORA-27061: waiting for async I/Os failed

IBM AIX RISC System/6000 Error: 22: Invalid argument

Fri Aug 24 15:41:23 2007

DBW1: terminating instance due to error 27061

Instance terminated by DBW1, pid = 524450

Fri Aug 24 15:44:05 2007

/oracle/admin/cc/bdump/cc_dbw1_524450.trc信息如下:

Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

ORACLE_HOME = /oracle/product/10.2.0

System name:    AIX

Node name:      rt5604

Release:        3

Version:        5

Machine:        00C25C9F4C00

Instance name: cc

Redo thread mounted by this instance: 1

Oracle process number: 6

Unix process pid: 524450, image: oracle@rt5604 (DBW1)

 

*** SERVICE NAME:() 2007-08-24 15:41:06.744

*** SESSION ID:(661.1) 2007-08-24 15:41:06.744

WARNING:Oracle process running out of OS kernel I/O resources

*** 2007-08-24 15:41:23.468

error 27061 detected in background process

ORA-27061: waiting for async I/Os failed

IBM AIX RISC System/6000 Error: 22: Invalid argument

从错误信息来看,是异步IO操作的时候引发的问题。初步怀疑是硬件问题,但查看系统和存储(EMC)的日志信息,没有报任何相关错误。

故障解决过程

1、为了排除EMC和网络的问题,把数据文件迁移到本地,再做大量的插入操作后(约插入了600万),发现很快就会出现同样的故障。这样,就排除了存储和网络的问题,说明故障点在于AIX和ORACLE的aio设置。此时DISK_ASYNCH_IO=true。

2、修改oracle的DISK_ASYNCH_IO=false。再做大量的插入操作,这次操作成功插入了上千万的数据,而没有出任何错误。但这样设置后,系统的性能明显下降,所以,这种设置是不可取的。

3、按oracle的官方文档,再对系统进行优化,把oracle的DISK_ASYNCH_IO= true, DBWR_IO_SLAVES=4,再做大量的插入操作,三个进程并行插入了近6千万的数据,成功通过了压力的测试。

4、最后,按照IBM工程师的建议修改了如下参数,对系统再次进行优化。

 

 

 

maxreqs    12280     Maximum number of REQUESTS               True

maxservers 160       MAXIMUM number of servers per cpu        True

minservers 40        MINIMUM number of servers                True

posted on 2009-12-23 10:33  一江水  阅读(1702)  评论(0编辑  收藏  举报