验证系统是否安装aio相关包
debian系统
dpkg -l | grep libaio
rpm系统
rpm -qa | grep libaio
设置系统内核参数
aio-max-nr修改io size的大小
修改/etc/sysctl.conf
增加
aio-max-nr=1048576
保存sysctl -p 使修改生效
数据库开启aio
SQL> alter system set disk_asynch_io=TRUE scope=spfile;
SQL> alter system set filesystemio_options=asynch scope=spfile;
SQL>shutdown immediate
$ cd $ORACLE_HOME/rdbms/lib
$ ln -s /usr/lib/libaio.so.1 skgaio.o
$ make PL_ORALIBS=-laio -f ins_rdbms.mk async_on
SQL>startup
filesysteminfo_options值说明
asynch:启用异步I/O
directio:启用同步I/O
setall:同时启用异步和同步I/O
none:禁用异步和同步I/O
这里的make命令在我的ubuntu上出错,不知什么原因,相关资源都是redhat上的
测试oracle是否开启aio
/usr/bin/ldd $ORACLE_HOME/bin/oracle | grep libaio
我的oracle 11g是自动开启的。