发布网友 发布时间:2022-04-30 04:05
共5个回答
懂视网 时间:2022-04-30 08:26
深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/46906847异步IO之filesystemio_options参数
近日再跟一个老DBA聊天的时候,听说了一个关于异步IO的参数。于是带着些许的好奇,异步I/O也就意味着读写可同时进行。
于是回来查看了一下这个参数,实验了一下。
在未安装oracle的linux服务器查看
Last login: Fri Jun 5 16:09:07 2015 from 10.53.105.3
[root@master ~]# grep kio /proc/slabinfo
kioctx 0 0 384 10 1 : tunables 54 27 0 : slabdata 0 0 0
kiocb 0 0 256 15 1 : tunables 120 60 0 : slabdata 0 0 0
看到kiocb行显示为0,说明异步IO没有启动。
实验前,先到官方文档查一下:
ASYNCH: enable asynchronous I/O on file system files, which has no timing requirement for transmission.
在文件系统文件上启用异步I/O,在数据传送上没有计时要求。
DIRECTIO: enable direct I/O on file system files, which bypasses the buffer cache.
在文件系统文件上启用直接I/O,绕过buffer cache。
SETALL: enable both asynchronous and direct I/O on file system files.
在文件系统文件上启用异步和直接I/O。
NONE: disable both asynchronous and direct I/O on file system files.
在文件系统文件上禁用异步和直接I/O。
实验:oracle开启异步I/O
环境:oracle11.2.0.4 64bit
[root@xckydb ~]# grep kio /proc/slabinfo
kioctx 23 36 320 12 1 : tunables 54 27 8 : slabdata 3 3 0
kiocb 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0
SQL> show parameter file
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
filesystemio_options string none
ifile file
log_file_name_convert string
max_dump_file_size string unlimited
remote_login_passwordfile string EXCLUSIVE
session_max_open_files integer 10
spfile string /u01/app/oracle/product/11.2.0
/db_1/dbs/spfilexcky.ora
standby_file_management string MANUAL
tracefile_identifier string
utl_file_dir string
SQL> alter system set filesystemio_options=setall
2 ;
alter system set filesystemio_options=setall
*
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
报错了,这个参数不可以在线修改。这应该是个静态参数!我们设置参数文件,重启数据库。
SQL> alter system set filesystemio_options=setall scope=spfile;
System altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 839282688 bytes
Fixed Size 2257880 bytes
Variable Size 507513896 bytes
Database Buffers 327155712 bytes
Redo Buffers 2355200 bytes
Database mounted.
Database opened.
SQL> show parameter filesystemio_options
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
filesystemio_options string SETALL
设置已经生效了。
到linux系统下,查看异步IO情况。
[root@xckydb ~]# grep kio /proc/slabinfo
kioctx 24 36 320 12 1 : tunables 54 27 8 : slabdata 3 3 0
kiocb 12 60 256 15 1 : tunables 120 60 8 : slabdata 4 4 0
看到kiocb已经有数据值了,说明异步IO已经生效了。
但是,在生产集群环境下查看时,没有开启异步参数,而在linux系统层面查看时,异步IO是启动的。这么说的话,并不是跟上面的实验完全一致。
在某生成环境下查看,如下:
[root@xzxdb1 ~]# grep kio /proc/slabinfo
kioctx 210 280 384 10 1 : tunables 54 27 8 : slabdata 28 28 0
kiocb 15 30 256 15 1 : tunables 120 60 8 : slabdata 2 2 0
SQL> show parameter file
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_flash_cache_file string
db_recovery_file_dest string +OCR_ARCH
db_recovery_file_dest_size big integer 4407M
db_securefile string PERMITTED
dg_broker_config_file1 string /u01/app/oracle/product/11.2.0
/db_1/dbs/dr1xzxt.dat
dg_broker_config_file2 string /u01/app/oracle/product/11.2.0
/db_1/dbs/dr2xzxt.dat
file_mapping boolean FALSE
fileio_network_adapters string
filesystemio_options string none
可以看到这个集群生产环境下的filesystemio_options参数设置是none,但是查看异步IO是生效的。我们知道异步IO是通过软件层面实现的,为什么生产环境下集群系统会自动启用呢?这跟oracle集群有关系嘛?带着疑问,在实验环境下启动一套集群环境。
[root@node1 ~]# grep kio /proc/slabinfo
kioctx 108 108 320 12 1 : tunables 54 27 8 : slabdata 9 9 0
kiocb 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0
SQL> show parameter file
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string +RCY1
db_recovery_file_dest_size big integer 3552M
db_securefile string PERMITTED
dg_broker_config_file1 string /u01/app/oracle/product/11.2.0
/db_1/dbs/dr1xcky.dat
dg_broker_config_file2 string /u01/app/oracle/product/11.2.0
/db_1/dbs/dr2xcky.dat
file_mapping boolean FALSE
fileio_network_adapters string
filesystemio_options string none
ifile file
发现集群环境下,参数没有设置,而且异步IO也没能启动。
尝试修改参数。
SQL> alter system set filesystemio_options=setall scope=spfile;
System altered.
但是遇到了问题。
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.
Total System Global Area 730714112 bytes
Fixed Size 2216944 bytes
Variable Size 557845520 bytes
Database Buffers 167772160 bytes
Redo Buffers 2879488 bytes
Database mounted.
Database opened.
SQL> show parameter file;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string +RCY1
db_recovery_file_dest_size big integer 3552M
db_securefile string PERMITTED
dg_broker_config_file1 string /u01/app/oracle/product/11.2.0
/db_1/dbs/dr1xcky.dat
dg_broker_config_file2 string /u01/app/oracle/product/11.2.0
/db_1/dbs/dr2xcky.dat
file_mapping boolean FALSE
fileio_network_adapters string
filesystemio_options string SETALL
ifile file
设置成功了,但是在操作系统下看一下,如下:
[oracle@node1 dbs]$ grep kio /proc/slabinfo
kioctx 104 108 320 12 1 : tunables 54 27 8 : slabdata 9 9 0
kiocb 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0
到第2个节点也查看一下,如下:
SQL> show parameter filesystemio_options;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
filesystemio_options string SETALL
SQL>
[oracle@node2 dbs]$ grep kio /proc/slabinfo
kioctx 103 108 320 12 1 : tunables 54 27 8 : slabdata 9 9 0
kiocb 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0
下面尝试把参数值设置为asynch(异步),来看一下是否会有所改变呢?
SQL> alter system set filesystemio_options=asynch scope=spfile;
System altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 730714112 bytes
Fixed Size 2216944 bytes
Variable Size 557845520 bytes
Database Buffers 167772160 bytes
Redo Buffers 2879488 bytes
Database mounted.
Database opened.
到操作系统下查看,异步依旧没有生效,如下:
[oracle@node1 dbs]$ grep kio /proc/slabinfo
kioctx 101 108 320 12 1 : tunables 54 27 8 : slabdata 9 9 0
kiocb 0 0 256 15 1 : tunables 120 60 8 : slabdata 0 0 0
从上面的现象来看,在我使用的虚拟机RAC环境下,异步I/O并没有实现,实验失败。
小结:
1、对于filesystemio_options产生的异步I/O现象,单实例下测试成功;
2、对于filesystemio_options产生的异步I/O现象,生成库RAC下,无需设置,可能异步I/O是在存储层面启动了(猜测,可能不是这样的。。。);
3、对于filesystemio_options产生的异步I/O现象,单机实验RAC下,测试不成功,没有达到预期。
所以,对于filesystemio_options参数设置对于异步I/O所起到的左右,仍然存疑。
*******************************************蓝的成长记系列****************************************************
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/huangyanlong)。
蓝的成长记——追逐DBA(1):奔波于路上,挺进山东
蓝的成长记——追逐DBA(2):安装!安装!久违的记忆,引起我对DBA的重新认知
蓝的成长记——追逐DBA(3):古董上操作,数据导入导出成了问题
蓝的成长记——追逐DBA(4):追忆少年情愁,再探oracle安装(Linux下10g、11g)
蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统
蓝的成长记——追逐DBA(6): 做事与做人:小技术,大为人
蓝的成长记——追逐DBA(7):基础命令,地基之石
蓝的成长记——追逐DBA(8):重拾SP报告,回忆oracle的STATSPACK实验
蓝的成长记——追逐DBA(9):国庆渐去,追逐DBA,新规划,新启程
蓝的成长记——追逐DBA(10):飞刀防身,熟络而非专长:摆弄中间件Websphere
蓝的成长记——追逐DBA(11):回家后的安逸,晕晕乎乎醒了过来
蓝的成长记——追逐DBA(12):七天七收获的SQL
蓝的成长记——追逐DBA(13):协调硬件厂商,六个故事:所见所感的“服务器、存储、交换机......”
蓝的成长记——追逐DBA(14):难忘的“云”端,起步的hadoop部署
蓝的成长记——追逐DBA(15):以为FTP很“简单”,谁成想一波三折
蓝的成长记——追逐DBA(16):DBA也喝酒,被捭阖了
蓝的成长记——追逐DBA(17):是分享,还是消费,在后IOE时代学会成长
******************************************************************************************************************
********************************************足球与oracle系列*************************************************
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/huangyanlong)。
足球与oracle系列(1):32路诸侯点兵,oracle32进程联盟 之A组巴西SMON进程的大局观
足球与oracle系列(2):巴西揭幕战预演,oracle体系结构杂谈
足球与oracle系列(3):oracle进程排名,世界杯次回合即将战罢!
足球与oracle系列(4):从巴西惨败于德国,想到,差异的RAC拓扑对比!
足球与oracle系列(5):fifa14游戏缺失的directX库类比于oracle的rpm包!
足球与oracle系列(6):伴随建库的亚洲杯——加油中国队
******************************************************************************************************************
版权声明:本文为博主原创文章,未经博主允许不得转载。
oracle异步IO之filesystemio_options参数初探
标签:异步io filesystemio_options
热心网友 时间:2022-04-30 05:34
0 不得不说,有时oracle很bt,使用它会改变你很多的看法。热心网友 时间:2022-04-30 06:52
Oracle本来就是在Linux上做出来的。。。不算很复杂,就是配置起来麻烦了点热心网友 时间:2022-04-30 08:27
不专业热心网友 时间:2022-04-30 10:18
安装时请仔细阅读安装文档。其实说白了,确认几步没问题就ok了。