+++++++ 条带大小与block size以及db_file_multiblock_read_count 的关系
首先我们来温习下db_file_multiblock_read_count参数,该参数我想都比较熟悉了,不多说。
db_file_multiblock_read_count:
关于这个参数,不用多说了,是指oracle多块读所能读取的最大block数(主要针对full scan,例如table full scan,index full scan),理论上有这么一个关系: db_file_multiblock_read_count=(max io szie)/block_size ,当然这里的max io size是受限于操作 系统的,另外据我所知,目前db_file_multiblock_read_count参数,oracle所支持的最大值也就是128. 另外需要说明一点的是,从10gR2开始,该参数已经是自动调节了。
SQL> SELECT * FROM v$version WHERE rownum < 2; BANNER -------------------------------------------------------------------------------- Oracle DATABASE 11g Enterprise Edition Release 11.2.0.2.0 - Production SQL> SHOW parameter multiblock NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ _hash_multiblock_io_count INTEGER 0 _sort_multiblock_read_count INTEGER 2 db_file_multiblock_read_count INTEGER 54
可以看到,我这里11gR2环境中,参数自动调整后为54,是一个比较大的值了。
block_size:
关于block size,是指定义数据库中数据块的大小,9i之前每个数据库只能有一个block size。从9i开始支持一个库中存在多种 block_size的情况。当然,我们这里不是来讨论block_size定义的,我是来说明下,我们如何来选择适合自己系统的block_size? 在oracle 的performance tunning 手册里面,是这样描述的: 针对读操作: 1) 如果rows are small且数据库access方式主要是随机操作,那么推荐使用smaller block size; 2) 如果rows are small且数据库access方式主要是顺序读,那么推荐使用smaller block size; 3) 如果rows are small且数据库access方式主要是随机和顺序操作,那么推荐使用large block size; 4) 如果rows are large,比如包含log 数据,那么推荐使用large block size。
全文请参考原文链接地址: stripe /block size/db_file_multiblock_read_count
love wife love life —Roger的Oracle/MySQL数据恢复博客
Phone:18180207355 提供专业Oracle/MySQL数据恢复、性能优化、迁移升级、紧急救援等服务