ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Linux上Oracle启用异步IO

Linux上Oracle启用异步IO

原创 Linux操作系统 作者:yangtingkun 时间:2012-03-29 23:46:10 0 删除 编辑

刚解决了一个异步io的问题,还是专门描述一下Oracle中设置异步IO的方式。

 

 

首先要检查操作系统上,异步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

10g以后的方法为:

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/4227/viewspace-720183/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10369076