一、问题描述:
A warning message in Alert log asynchronous I/O limit warning of the form.
"Warning: OS async I/O limit 128 is lower than recovery batch 1024"
may be signaled in the alert log by recovery slave or coordinator processes.
This error is because of kernel has not been configured sufficiently for async IO operations.
Operations will still continue but IO operations will not be performed asynchronously which may impact recovery performance and will generate more trace files.
In alert.log you will see:
Fri Apr 23 22:58:24 2010
Errors in file /oracle/admin/leizdb/bdump/leizdb_ora_22297.trc:
Fri Apr 23 22:58:24 2010
Warning: OS async I/O limit 128 is lower than recovery batch 1024
Fri Apr 23 22:58:24 2010
Errors in file /oracle/admin/leizdb/bdump/leizdb_ora_22295.trc:
Fri Apr 23 22:58:24 2010
Warning: OS async I/O limit 128 is lower than recovery batch 1024
Fri Apr 23 22:58:24 2010
二、原因
This warning is signaled when an Oracle process cannot reserve enough async IO descriptors during instance or media recovery.
Operations will still continue but IO operations will not be performed asynchronously which may impact recovery performance.
三、解决方案
1.IN HP-UNIX
A. For more details about how to tune ASYNC I/O for Raw disk partitions on HP_UX kindly refer,
B. For File system to improve the performance
Set disk_asynch_io = FALSE and increase the DB writer process.
eg:Example for 4 CPU machine
SQL>alter system set dbwr_io_slaves = 0 scope = spfile ;
SQL>alter system set db_writer_processes = 4 scope = spfile ;
Sometime the false Warning message will be displayed in alert log eventhough the DISK_AYNC_IO is set to FALSE.
Inorder to stop this Warning message we have to apply this Patch 8475825 which is available for most of the OS.
Reference Bug 8475825 - OS ASYNC I/O LIMIT 128 IS LOWER THAN RECOVERY BATCH 1024
2.On Redhat Linux 4 and 5 the recommended action is to raise the value of /proc/sys/fs/aio-max-nr.
eg: Set the value to 1048576 or higher.
============================
To set the value forSUSE linux:
In the file /etc/sysctl.conf , add the below entry:
fs.aio-max-nr=1048576
解决Warning: OS async I/O limit 128 is lower than recovery batch 1024
问题:起动Oracle数据库时,特别是在一台机器上有多个库时alert文件中报这个错误
平台: REHL 5.2 linux x86-64 DB:ORACLE 10.2.0.4
解决:调整OS参数,在/etc/sysctl.conf加入fs.aio-max-nr = 1048576,然后执行sysctl -p生效,重启数据库
四、参考日志信息
......
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION
Fri Apr 23 22:58:18 2010
Attempt to start background Managed Standby Recovery process hiszdb)
MRP0 started with pid=17, OS id=22282
Fri Apr 23 22:58:19 2010
MRP0: Background Managed Standby Recovery process started hiszdb)
Managed Standby Recovery not using Real Time Apply
parallel recovery started with 2 processes
Fri Apr 23 22:58:24 2010
Errors in file /oracle/adminhiszdb/bdumphiszdb_ora_22297.trc:
Fri Apr 23 22:58:24 2010
Warning: OS async I/O limit 128 is lower than recovery batch 1024
Fri Apr 23 22:58:24 2010
Errors in file /oracle/adminhiszdb/bdumphiszdb_ora_22295.trc:
Fri Apr 23 22:58:24 2010
Warning: OS async I/O limit 128 is lower than recovery batch 1024
Fri Apr 23 22:58:24 2010
Waiting for all non-current ORLs to be archived...
Media Recovery Log /bhisz_arch/archive/1_60221_680463587.dbf
Fri Apr 23 22:58:25 2010
Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION
Fri Apr 23 22:58:26 2010
Media Recovery Waiting for thread 1 sequence 60222
Fri Apr 23 23:00:46 2010
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[2]: Assigned to RFS process 22377
RFS[2]: Identified database type as 'physical standby'
Primary database is in MAXIMUM PERFORMANCE mode
Primary database is in MAXIMUM PERFORMANCE mode
Fri Apr 23 23:00:47 2010
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[3]: Assigned to RFS process 22379
RFS[3]: Identified database type as 'physical standby'
RFS[3]: Archived Log: '/bhisz_arch/archive/1_60222_680463587.dbf'
Fri Apr 23 23:00:49 2010
Media Recovery Log /bhisz_arch/archive/1_60222_680463587.dbf
Media Recovery Waiting for thread 1 sequence 60223 (in transit)
Fri Apr 23 23:13:44 2010
RFS[2]: Archived Log: '/bhisz_arch/archive/1_60223_680463587.dbf'
Primary database is in MAXIMUM PERFORMANCE mode
RFS[2]: Archived Log: '/bhisz_arch/archive/1_60224_680463587.dbf'
Primary database is in MAXIMUM PERFORMANCE mode
参考文献:
1. Starting Redo Apply -"Warning: OS async I/O limit 128 is lower than recovery batch 1024" on standby [ID 741835.1]
2. "Warning: OS async I/O limit 128 is lower than recovery batch 1024" in Alert log [ID 471846.1]
3. http://blog.chinaunix.net/u/12521/showart_1903965.html
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9252210/viewspace-660898/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9252210/viewspace-660898/