Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • plan10g.sql Oracle
  • DBMS_PROFILER for tuning PLSQL programs. Oracle
  • catall.sh Linux/Unix
  • online_bkup.sql Oracle
  • Recovering lost SYS password Oracle
  • Python class import from different folders Python/PySpark
  • get_vmstat.ksh Linux/Unix
  • xargs use Linux/Unix
  • Deleting first line and lastline of a file using sed Linux/Unix
  • Good Link from metalink 1 Oracle
  • Is It Recommended To Apply Patch Bundles When PSU Is Available? -ID 743554.1 Oracle
  • To find all disk io ( EMC as well as local) Linux/Unix
  • 272332.1 CRS 10g Diagnostic Collection Guide Oracle
  • Jai Shree Ram Oracle
  • Adding Datafile on Primary Server and Impact on Standby Server Oracle

Difference between SYNC and AFFIRM

Posted on 27-Jan-2010 By Admin No Comments on Difference between SYNC and AFFIRM

LGWR SYNC AFFIRM in Oracle Data Guard is used for zero data loss. How does one ensure zero data loss? Well, the redo block generated at the primary has to reach the standby across the network (that’s where the SYNC part comes in – i.e. it is a synchronous network call), and then the block has to be written on disk on the standby (that’s where the AFFIRM part comes in) – typically on a standby redo log.

Can you have LGWR SYNC NOAFFIRM? Yes sure. Then you will have synchronous network transport, but the only thing you are guaranteed is that the block has reached the remote standby’s memory. It has not been written on to disk yet. So not really a zero data loss solution (e.g. what if the standby instance crashes before the disk I/O).

To sum up -> LGWR SYNC AFFIRM means primary transaction commits are waiting for ntk I/O + disk I/O acks. LGWR SYNC NOAFFIRM means primary transaction commits are waiting for ntk I/O only.

Oracle, rman-dataguard

Post navigation

Previous Post: useful dg links
Next Post: oracle fast start failover best practice

Related Posts

  • How to know current SID Oracle
  • reset Sequence Oracle
  • 10g RAC: Troubleshooting CRS Root.sh Problems Oracle
  • How to connect to Oracle Database with Wallet with Python. Oracle
  • How to choose Driver table in SQL statement Oracle
  • sess1.sql Oracle

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • AWS (2)
  • Azure (1)
  • Linux/Unix (149)
  • Oracle (392)
  • PHP/MYSQL/Wordpress (10)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (17)
  • rman-dataguard (26)
  • shell (149)
  • SQL scripts (341)
  • Uncategorized (0)
  • Videos (0)

Recent Posts

  • load SPM baseline from cursor cache05-Jun-2025
  • Drop all SPM baselines for SQL handle05-Jun-2025
  • Load SPM baseline from AWR05-Jun-2025
  • Drop specific SQL plan baseline – spm05-Jun-2025
  • findinfo.sql (SQL for getting CPU and Active session info)27-May-2025
  • SQL Tracker by SID sqltrackerbysid.sql22-Apr-2025
  • How to connect to Oracle Database with Wallet with Python.21-Mar-2025
  • JSON/XML Types in Oracle18-Mar-2025
  • CPU Core related projections12-Mar-2025
  • Exadata Basics10-Dec-2024

Archives

  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • How to sort list of files on basis of their sizes. Linux/Unix
  • Reading parameter file and printing Linux/Unix
  • Oracle 11g Training on 29JAN1010 Oracle
  • exp syntax in oracle 10g Oracle
  • mutex in Oracle 10.2.0.2 or Oracle 10g Oracle
  • Changing Instance Name ( No DB_NAME) Oracle
  • The most important Tuning Notes Oracle
  • Passing from Unix to PLSQL using bind variables Linux/Unix

Copyright © 2025 pvmehta.com.

Powered by PressBook News WordPress theme