阅读 155

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/,如需转载,请注明出处,否则将追究法律责任。


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐