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

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

Database auto backup using emca

今天在itpub上有朋友提问: oracle 10g em 自动备份? 请问 ORACLE 10G EM DBCONTROL 模式下可以设置 自动备份 emca -config dbcontrol db –backup 或者在DBCA 中设置,请问在ORACLE 内部是如何实现的啊? DBA_SCHEDULER_JOBS 没找到对应的计划,OS 的CRONTAB 上也没有备份的脚本啊,EM的配置文件中也没找到对应的信息,希望大家能指点下 谢谢!!! 挺有趣的一个问题,于是在自己的11g数据库里面测试了一下,大致找到了答案,详细的回答可以参看这个帖子。 至于运行机制,个人的猜测是,现在11g数据库中默认安装有一个Job,可以从dba_jobs视图中查询到。 SQL> select schema_user,interval,what…

Continue ReadingDatabase auto backup using emca