在10GR2 中DB_FILE_MULTIBLOCK_READ_COUNT 可以自动调整

在10GR2 中DB_FILE_MULTIBLOCK_READ_COUNT 可以自动调整
Kevin Zou
2011-9-8
DB_FILE_MULTIBLOCK_READ_COUNT 是FTS和IFFS中减少IO的参数之一;它指定了一次IO操作中最大可以读取BLOCK的个数。注意,这里的最大值,还要受其它参数的影响; FTS和IFFS的IO次数受到表大小,多块读次数,和是否启用并行等因素的影响。
在10GR2中,默认情况下,如果没有设定DB_FILE_MULTIBLOCK_READ_COUNT的值,或者把DB_FILE_MULTIBLOCK_READ_COUNT 设定为0,那Oracle会自动设定合适的值。Oracle会根据操作系统的最优IO的大小和BUFFER CACHE的大小来计算合适的值。

对于大多数的操作系统平台来说,Oracle推荐值为1M大小,也就是说一次IO操作,可以读取1M的数据到buffer cache中。对于标准块是8192bytes的数据库来说,DB_FILE_MULTIBLOCK_READ_COUNT 大小为1M/8k=128。

如果DBA手工去改大该值,那优化器有可能会优先选择FTS。但是由ORACLE自身来设置,优化器就会避免出现这种情况。(不知道ORACLE是如何做到的)

-THE END-

请使用浏览器的分享功能分享到微信等