ITPub博客

首页 > 数据库 > Oracle > [20210310]db_lost_write_protect参数.txt

[20210310]db_lost_write_protect参数.txt

原创 Oracle 作者:lfree 时间:2021-03-10 09:30:50 1 删除 编辑

[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

--//我不知道一些是安装者所为,还是缺省安装就是这样。一些细节我还给仔细观察。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2762044/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969582