重新拍下版 修正下错别字
首先要检查操作系统上,异步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 oracle
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可执行文件的时候也要关闭数据库,合理的安排设置参数的顺序,可减少数据库的重启次数。
转载于:https://blog.51cto.com/848436/1560418