ITPub博客

首页 > 数据库 > Oracle > Redhat AS3 下Oracle9204异步I/O的实现

Redhat AS3 下Oracle9204异步I/O的实现

原创 Oracle 作者:yuantong 时间:2005-11-09 10:33:28 0 删除 编辑
Redhat AS3 下Oracle9204异步I/O的实现

最近一个生产数据库IO性能比较差,用户目前暂时无升级硬件系统的打算,因此只能在系统和数据库上面做文章。在metalink上查找了一番,正好看见一篇有关《Asynchronous I/O (aio) on RedHat Advanced Server》(Note:225751.1)的文章,于是经过实验后,成功将数据库改成异步IO模式。现将基本步骤贴出来,供大家讨论:
1,Linux系统环境和Oracle版本要求
不是所有的Linux版本都可以实现异步IO,根据metalink上的文档,目前只支持Red Hat Advanced Server release 或者 UnitedLinux / SUSE。
Oracle数据库的版本要求Oracle RDBMS 9i release 2或10G
我的Linux环境:Redhat Linux AS3 2.4.21-27
Oracle环境:Oracle9204 for Linux

2,OS参数设置
Linux系统参数需要设置下面几个:
Allow 1MB I/Os (Linux 2.4 only)
• fs.aio-max-size =1048576
Maximum number of concurrent asynch I/O requests
• fs.aio-max-nr
Maximum memory pinned for asynch I/O (Linux 2.4 only)
• fs.aio-max-pinned

3,Oracle数据库初始化参数设置
• disk_asynch_io = true (这是默认的)
如果采用的是文件系统
• filesystemio_options = asynch
如果采用的是裸设备(只支持Red Hat Enterprise Linux 3)
• filesystemio_options = directIO

4,Linux rpm包检查
1> libaio-0.3.96-3.i386.rpm
2> libaio-devel-0.3.96-3.i386.rpm

5,Oracle Patch要求
由于Oracle binary默认不支持async io,需要打上patch(第一次实验的时候,由于没有打上该patch,数据库只能到nomout状态,在mount的时候就死在那里。)
Oracle9204:patch3016968
Oracle9205:patch3208258_9205
Oracle9206:patch3208258_9206
安装包的时候,不需要用什么opatch工具,直接将zip包解压,将里面的files/lib/stubs/下的三个文件,copy到对应的目录中$ORACLE_HOME/lib/stubs

6,启用 Asynchronous I/O
1> cd to $ORACLE_HOME/rdbms/lib
a) make -f ins_rdbms.mk async_on
b) make -f ins_rdbms.mk ioracle

7,启动并打开数据库

8,检查Asynchronous I/O情况
在Linux系统中,使用iostat可以观察idle%情况,也可以用sar 工具来检查。如:
# sar -b 1 5 (for each 1 second. 5 lines are displayed.)
Linux 2.4.9-e.3 (rhas.it.oracle.com) 01/13/2003

09:11:35 PM tps rtps wtps bread/s bwrtn/s
09:11:36 PM 1.00 0.00 1.00 0.00 16.00
09:11:37 PM 11.00 5.00 6.00 65.00 563.00
09:11:38 PM 5.00 0.00 5.00 0.00 432.00
09:11:39 PM 2.00 0.00 2.00 0.00 272.00
09:11:40 PM 0.00 0.00 0.00 0.00 0.00
Average: 3.80 1.00 2.80 13.00 256.60
sar工具在包sysstat-6.0.-1.i586.rpm里,具体使用方法和参数见man sar

至此,异步io设置工作完成,数据库运行正常。IO性能有一定提升。原先系统的io idle%一直在50%左右,改成异步io后,提高到75%左右,后面将进一步跟踪观测。

参考文档:
metalink 《Asynchronous I/O (aio) on RedHat Advanced Server》
Note:225751.1
Oracle OpenWorld Linux 演示文稿《优化 Linux I/O》
http://www.oracle.com/technology/gl...inux/index.html

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12482/viewspace-809618/,如需转载,请注明出处,否则将追究法律责任。

下一篇: AIX的培训笔记
请登录后发表评论 登录
全部评论

注册时间:2010-12-07

  • 博文量
    61
  • 访问量
    792585