Oracle

게시글 보기
작성자 유건데이타 등록일 2015-05-18
제목 ASYNC_IO PARAMETER
ASYNC_IO PARAMETER
==================

PURPOSE
-------
ASYNC_IO Parameter에 대해 알아본다.

Explanation
-----------
use_async_io 는 database file 에 async 하게 write 를 하도록 DB 에 명시
하는 parameter 이다. 이는 IUG 에서 언급되어진다.

Async write는 database file 의 access 속도를 증가 시키며, database file
이 raw partition 된 경우 recommand 된다.

IBM RS/6000 경우 IUG 는 너무 많은 process 들이 async facility 를 사용하는
경우 여러개의 warning 을 언급한다.
만일 oracle 이던 , 아니던 많은 process 가 unix machine 에서 async 를
사용하면 system 이 unstable 된다.

결론적으로 :

* async i/o 는 supposedly makes it faster
* should only be used if db is on raw partitions
* should only be enabled by sys admins who know what else is running on
the system.


Example
-------



AIX 4.2 에서 ASYNC_IO 를 사용한는 경우 발생하는 I/O problems 은 :
예를 들어
- checkpoints not completing
- queries hanging
- import very slow
- dbwr is always busy

이 경우 IBM/AIX patch IX67978를 적용한다..

Patch IX67978 - (AIXV42 only) O_SYNC WRITES ARE SLOW IN AIX 4.2.1

이 patch 는 IBM 에 contact 해서 구한다.



Oracle Server 는 DEC Alpha OSF/1 AIO 를 기본적으로 사용하지 않는다.
DEC Alpha OSF/1 AIO를 사용하기 위해서는 init.ora file 에
ASYNC_WRITE = 1 로 set 해야 한다.


Note: Oracle recommends you set the parameter DB_WRITERS = 1 when you set the
parameter ASYNC_WRITE = 1.

To check and see if it is set(THE DATABASE MUST BE OPEN):

% svrmgrl
% connect internal
% show parameter async

NAME TYPE VALUE
----------------- ------- ------------------------------
async_write integer 0

Then check $ORACLE_HOME/dbs/init.ora to see if any async_io parameters
have been set.

The same results were confirmed with Oracle 7.3.2. Therefore, async I/O is
NOT a default on this port for either 7.2 or 7.3 versions of the database
software.

Solution Explanation:
=====================

This is from the 7.2 Server Administrator's Reference Guide Addendum:

Asynchronous I/O and Multiple Database Writers

Asynchronous I/O (AIO) is a standard Digital UNIX feature which allows one
Oracle7 Server database writer to write to multiple disks simultaneously, thus
increasing disk throughput. With Digital UNIX AIO, the DBWR process sends
multiple writes to multiple drives without waiting for the previous writes to
finish. It can use all disks simultaneously. With 10 disks, for example, 10
asynchronous writes can take place in the same amount of time as a single
synchronous write.

Since the Oracle7 Server supports Digital UNIX AIO, multiple database writers
usually are not necessary. However, Digital UNIX AIO only works on raw
partitions/volumes. Therefore, if any of your database files exist on file
system partitions, you may want to use multiple database writers instead.
Having multiple database writer processes is a software simulation of AIO.

Oracle Server does not use Digital UNIX AIO by default . To use Digital UNIX
AIO, set the parameter ASYNC_WRITE = 1 in the initsid.ora file.

Note: Oracle recommends you set the parameter DB_WRITERS = 1 if you have set
the parameter ASYNC_WRITE=1.
Comment
등록된 코멘트가 없습니다.