我们都知道为了防止热备期间的分裂块问题,Oracle在热备过程中会对修改块进行全块的Redo记录.
偶然发现居然还存在一个隐含参数可以控制这个行为:
SQL> SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ
2 FROM SYS.x$ksppi x, SYS.x$ksppcv y
3 WHERE x.inst_id = USERENV ('Instance')
4 AND y.inst_id = USERENV ('Instance')
5 AND x.indx = y.indx
6 AND x.ksppinm LIKE '%&par%'
7 /
Enter value for par: blocks
old 6: AND x.ksppinm LIKE '%&par%'
new 6: AND x.ksppinm LIKE '%blocks%'
NAME VALUE DESCRIB
------------------------------ -------------------- -------------------------------------------
_log_blocks_during_backup TRUE log block images when changed during backup
这个参数缺省值为TRUE,设置在热备份期间答应在redo中记录数据块信息,假如数据库块大小等于操作系统块大小,则可以设置该参数为False,减少热备期间数据库的负担(这种情况极为少见)。
原文地址:http://www.eygle.com/archives/2006/05/oracle_hotbackup_redo.Html