【轉載】Linux上Oracle啟用非同步IO

renjixinchina發表於2013-05-17
【轉載地址】http://space.itpub.net/4227/viewspace-720183

首先要檢查作業系統上,非同步io的相關包是否已經,如果沒有的話,透過rpm進行安裝,並檢查系統上非同步io的引數設定:

[oracle@localhost ~]$ rpm -qa|grep aio
libaio-0.3.107-10.el6.x86_64
libaio-devel-0.3.107-10.el6.x86_64
[oracle@localhost ~]$ more /proc/sys/fs/aio-max-nr
1048576

然後檢查在連結時是否已經載入了aio的包:

[oracle@localhost ~]$ /usr/bin/ldd $ORACLE_HOME/bin/oracle | grep libaio
libaio.so.1 => /lib64/libaio.so.1 (0x0000003e13000000)

如果沒有看到libaio的包,說明Oracle沒有連結aio,那麼這時就需要重新make oracle的可執行檔案,9i的方法為:

make -f ins_rdbms.mk async_on
make -f ins_rdbms.mk ioracle

以後的方法為:

make PL_ORALIBS=-laio -f ins_rdbms.mk async_on

編譯完成後,作業系統的設定完成,還需要設定資料庫的初始化引數:

SQL> show parameter disk_asynch_io

NAME                                TYPE                            VALUE
------------------------------------ -------------------------------- --------------------
disk_asynch_io                      boolean                         TRUE

SQL> show parameter filesystemio_options

NAME                                TYPE                            VALUE
------------------------------------ -------------------------------- ------------------
filesystemio_options                string                          none

對於裸裝置而言,這樣的設定就足夠了,但是對於檔案系統而言,還需要講filesystemio_options設定為ASYNCH並重啟資料庫:

SQL> ALTER SYSTEM SET FILESYSTEMIO_OPTIONS = ASYNCH SCOPE = SPFILE;

System altered.

由於編譯oracle可執行檔案的時候也要關閉資料庫,合理的安排設定引數的順序,可減少資料庫的重啟次數。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15747463/viewspace-761331/,如需轉載,請註明出處,否則將追究法律責任。

相關文章