db_lost_write_protect参数.txt
db_lost_write_protect参数.txt
[20210310]db_lost_write_protect参数.txt
--//昨天看了 Select 产生Redo分析案例
--//里面提到参数:db_lost_write_protect。
db lost write detection功能引入用来发现该问题,Dataguard环境,当 主库和备库db_lost_write_protect配置为TYPICAL或FULL时(区
别表空间读写类型),primary DB当select时块从disk上读到buffer cache中执行物理读取时,会生成其他redo条目,附加lost write
detection需要的信息如block rdba、obj, 改变向量和SCN写入redo log, 据Oracle宣传开启后通常带来的性能负担可以忽略,但是建议
先在测试库测试并注意REDO量的增长。然后配合DataGuard去持续的lost write验证,备用数据库上设置DB_LOST_WRITE_PROTECT =
TYPICAL,这将使MRP及其恢复从属服务器使用redo日志流中的额外信息来检查丢失的写操作,当发现异常中报错并中止MRP日志应用,需
要人工介入修复。
--//我看了我们生产系统的oda:
> @ ver1
> @ prxx
==============================
PORT_STRING : x86_64/Linux 2.4.xx
VERSION : 19.0.0.0.0
BANNER : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
BANNER_FULL : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.9.0.0.0
BANNER_LEGACY : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
CON_ID : 0
PL/SQL procedure successfully completed.
> show parameter lost
NAME TYPE VALUE
---------------------- ------- --------
db_lost_write_protect string TYPICAL
> @ hide db_lost_write_protect
NAME DESCRIPTION DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE ISSES ISSYS_MOD
--------------------- --------------------------- ------------- ------------- ------------ ----- ---------
db_lost_write_protect enable lost write detection FALSE TYPICAL TYPICAL FALSE IMMEDIATE
--//可以发现缺省值并不是TYPICAL。而在11g下:
SYS@book> @ ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
SYS@book> @ hide db_lost_write_protect
NAME DESCRIPTION DEFAULT_VALUE SESSION_VALUE SYSTEM_VALUE ISSES ISSYS_MOD
--------------------- --------------------------- ------------- ------------- ------------ ----- ---------
db_lost_write_protect enable lost write detection TRUE NONE NONE FALSE IMMEDIATE
--//很明显oracle不知道为什么要改变这个缺省值。好奇心看看缺省安装还改变了什么:
> create pfile='/tmp/@.ora' from spfile;
File created.
--//检查pfile参数文件, 发现(我仅仅摘要我认为比较奇怪的参数):
*._datafile_write_errors_crash_instance=FALSE
*._db_writer_coalesce_area_size=16777216
*._disable_interface_checking=TRUE
*._enable_NUMA_support=FALSE
*._file_size_increase_increment=2143289344
*._fix_control='18960760:on'
*._gc_policy_time=20
*._gc_undo_affinity=TRUE
family:dw_helper.instance_mode='read-only'
*.filesystemio_options='SETALL'
*.local_listener='-oracle-none-'
*.sql92_security=TRUE
--//我不知道一些是安装者所为,还是缺省安装就是这样。一些细节我还给仔细观察。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-2762044/,如需转载,请注明出处,否则将追究法律责任。