Automatic tuning of db_file_multiblock_read_count

db_file_multiblock_read_count曾经是一个经过热烈讨论的初始化参数。该参数只有在对表或者索引进行Full Scan的时候才起作用。 在Oracle10gR2以前的版本中,DBA必须根据db_block_size参数,以及应用系统的特性,来调整db_file_multiblock_read_count参数。该参数值将影响CBO在该产生何种SQL执行计划上的判断。 我们知道如下的公式,其中max I/O chunk size跟操作系统有关,但是Oracle文档中也指出大多数操作系统上该值为1M。 db_file_multiblock_read_count = max I/O chunk size / db_block_size 在Oracle10gR2之后的版本(10gR2和11g)中,Oracle数据库已经可以根据系统的IO能力以及Buffer Cache的大小来动态调整该参数值,Oracle建议不要显式设置该参数值。但是根据Oracle官方文档对于此参数的解释: Note that if the number of sessions is extremely large the multiblock read…

Continue ReadingAutomatic tuning of db_file_multiblock_read_count

How To Integrate Statspack with EM 10G

说过要写一篇如何将10g之前版本的statspack整合到EM 10g中的文章,但是最近没有相应的环境,不方便截图,因此给出metalink上的相应文章链接,有兴趣的朋友可以自行阅读,很详细的step by step操作。 Doc ID. 359374.1 How to Configure a Database Target for Complete Monitoring Doc ID. 274436.1 How To Integrate Statspack with EM 10G Bug No. 5599831 NOT…

Continue ReadingHow To Integrate Statspack with EM 10G

SPM default feature in Oracle 11g

在Oracle 11g中,为了方便用户对CBO产生的执行计划进行干预,防止像10g中那样频繁而不可预知的执行计划变更,加入了SQL Plan Management(SPM)功能,Oracle优化器小组的weblog上最近发表了连载文章对SPM功能做了详尽的描述。 那么在Oracle 11g中,SPM的默认功能是怎样的? SQL> show parameter baseline NAME TYPE VALUE ------------------------------------ ----------- --------- optimizer_capture_sql_plan_baselines boolean FALSE optimizer_use_sql_plan_baselines boolean TRUE 以上的两个参数表示,Oracle 11g默认将不会抓取任何SQL的Plan Baseline,但是如果一旦人为产生了Baseline,那么Oracle将会自动使用。这在很大程度上简化了以往为了固定执行计划所需要做的Stored Outline工作。

Continue ReadingSPM default feature in Oracle 11g