HP-UX에서 발생하는 문제
아래 로그를 포함하는 트레이스 파일이 계속 생긴다. 심할 정도로
Ioctl ASYNC_CONFIG error, errno = 1

1. 만약 /dev/async 가 존재하고 설정이 맞게 되었다면 오라클은 ioctl을 통해 SGA 메모리의 async i/o를 사용하기 위해 메모리를 lock하게 된다(HP only)
2. 오라클은 /dev/async HP-UX 드라이버가 읽기/쓰기를 위해 제대로 설정되어있을 경우 /dev/async 를 open하게 된다.

위 둘이 제대로 설정되어 있다면 DISK_ASYNCH_IO 파라미터 값이 TRUE이건 말건 상관없이 적용되게 된다.

문제는 오라클이 init 셋팅에 관계없이(disk_asynch_io=false, filesystemio_options=none) async I/O를 사용하게 되는 점이다.
이 경우 filesystemio_options=none이 동작하지 않게 된다.

9.2~10.1의 경우 asynch_io를 비활성화하기 위해 아래처럼 설정한다.

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

주의: 이 설정시 기존 어플리케이션에 영향을 줄 수 있기에 asynch_io를 비활성화하기 전에 db를 셧다운하는걸 권장한다.

트레이스 파일 에러가 생기는 것을 막기 위한 방법은 아래 처럼 dba 그룹에 MLOCK 권한을 주는 것이다.

# /usr/sbin/setprivgrp dba MLOCK
# vi /etc/privgroup
-- This should contain dba MLOCK RTSCHED RTPRIO
# cat /etc/privgroup
dba MLOCK RTSCHED RTPRIO

10.2 이후로는 파라미터 변경으로 asynch_io를 비활성화 하여 해결할 수 있다.
disk_asynch_io=FALSE
filesystemio_options=none

Posted by neo-orcl
,