How to Disable Asynch_io on HP to Avoid Ioctl Async_config Error Errno = 1 (文档 ID 302801.1)

来源:互联网 发布:互换期权 知乎 编辑:程序博客网 时间:2024/06/05 20:55

Applies to:

Oracle Server - Enterprise Edition - Version: 9.2.0.1 to 11.2.0.2 - Release: 9.2 to 11.2
HP-UX PA-RISC (64-bit)
HP-UX Itanium

Goal

How to disable async_io on Oracle in HP-UX to avoid this message in trace file:
Ioctl ASYNC_CONFIG error, errno = 1

Solution

If /dev/async is present and correctly configured, Oracle (for HP only) will use it for memory locking which is needed for async i/o for SGA memory pages via ioctl.

Oracle (for HP only) opens /dev/async successfully only if the /dev/async HP-UX device driver is properly configured for read and write.

This is irrespective of whether the DISK_ASYNCH_IO parameter is set to TRUE.

Problem is Oracle (for HP only) still uses async I/O regardless of the value of init settings
(disk_asynch_io=FALSE and filesystemio_options=none).
The parameter filesystemio_options=none doesn't work.

From the 9.2 until 10.1 version, to inactivate ASYNCH_IO with Oracle, the workaround is to:

chown bin:bin /dev/async
chmod 660 /dev/async

Note: This may impact other applications that wish to use asynch I/O.
It is recommended to shutdown Oracle database before inactivating asynch I/O.

Grant dba group the MLOCK privilege to avoid the Ioctl ASYNC_CONFIG trace file errors:

(1) # /usr/sbin/setprivgrp dba MLOCK
(2) # vi /etc/privgroup
-- This should contain dba MLOCK RTSCHED RTPRIO
(3) # cat /etc/privgroup
dba MLOCK RTSCHED RTPRIO

Since the Oracle 10.2 version, the problem is resolved as these settings stop the tracing:
disk_asynch_io=FALSE
filesystemio_options=none