[20210310]db_lost_write_protect参数.txt

来源:这里教程网 时间:2026-03-03 16:30:27 作者:

[20210310]db_lost_write_protect参数.txt --//昨天看了https://www.anbob.com/archives/6204.html->Troubleshooting 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 --//我不知道一些是安装者所为,还是缺省安装就是这样。一些细节我还给仔细观察。

相关推荐