1 Reply Latest reply: Dec 31, 2010 6:52 PM by mseberg RSS

    About DB_LOST_WRITE_PROTECT parameter

    794493
      Hello everybody and happy new year

      Reading a Data Guard Book, I found that DB_LOST_WRITE_PROTECT must be set to TYPICAL on primary and all physical standby databases for a better data protection. When I see this parameter is set to NONE by default. I thought that Data Guard had a implicit way or mechanism to data protection without setting any parameter. My question is if I don't set this parameter, my data guard is unprotected????
      Thanks a lot
        • 1. Re: About DB_LOST_WRITE_PROTECT parameter
          mseberg
          Hello again and Happy New Year.


          No your data is not unprotected. DB_LOST_WRITE_PROTECT performs another layer of validation on the Standby Database. It will attempt to detect corrupted blocks in redo data.


          This parameter is Oracle 11. It is part of "Recommendations for High Availability and Fast Recoverability" along with:

          A FRA
          Archivelog Mode
          Flashback Database


          You can set the DB_ULTRA_SAFE parameter and it will automatically controls the behavior of the following parameters:

          DB_BLOCK_CHECKING
          DB_BLOCK_CHECKSUM
          DB_LOST_WRITE_PROTECT

          However if you set any of those in your init file then the DB_ULTRA_SAFE parameter has no effect. DB_ULTRA_SAFE is probably not the best idea as it can reduce the throughput of Redo Apply.


          Set DB_LOST_WRITE_PROTECT=TYPICAL on the standby database. Lost write protection prevents corruptions on the primary from being propagated and applied to the standby database.

          DB_BLOCK_CHECKING should probably be set only on the primary side.

          DB_BLOCK_CHECKSUM can be set on Standby side.

          If it helps I have 9 production Data Guard systems and I currently don't use any of these parameters.