Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • find_arc.sql Oracle
  • backspace in SQL Plus not working then..? Linux/Unix
  • Btee and Bitmap Plans in Oracle 9i and higher Oracle
  • Committing distributed transaction using commit force Oracle
  • Removing Blank lines from file using grep Linux/Unix
  • Adding a new disk and mount it automatically. on VMWARE LINUX Linux/Unix
  • Important Solaris Commands Linux/Unix
  • Roles and Stored Procs II Oracle
  • executing Function from SQLPLUS prompt Oracle
  • Monitor Long Running Job Oracle
  • FGA Part-I Oracle
  • sess1.sql Oracle
  • Order by with ROWNUM Oracle
  • Jai Shree Ram Oracle
  • Rman Notes -1 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

  • Library cahe Latches and internal explaination Oracle
  • Drop tempfiles from database Oracle
  • Facts about SCN and Rollback Segment Oracle
  • Goog notes on X$ tables Oracle
  • how to find OS block size Oracle
  • SQL_PLAN.sql for checking real execution plan Oracle

Leave a Reply Cancel reply

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

Categories

  • Ansible (0)
  • AWS (2)
  • Azure (1)
  • Django (0)
  • GIT (1)
  • Linux/Unix (149)
  • MYSQL (5)
  • Oracle (400)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (18)
  • rman-dataguard (26)
  • shell (150)
  • SQL scripts (348)
  • SQL Server (6)
  • Uncategorized (3)
  • Videos (0)

Recent Posts

  • Running PDB on single node in RAC09-Apr-2026
  • find_arc.sql09-Apr-2026
  • pvm_pre_change.sql08-Apr-2026
  • find_encr_wallet.sql08-Apr-2026
  • find_pdbs.sql08-Apr-2026
  • Creating a Container Database using dbaascli08-Apr-2026
  • track_autoupgrade_copy_progress.sql01-Apr-2026
  • refre.sql for multitenant01-Apr-2026
  • prepfiles.sh for step by step generating pending statistics files10-Mar-2026
  • tracksqltime.sql05-Mar-2026

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • Rman Notes -1 Oracle
  • before_trunc.sql Before Truncate table needs to execute following: Oracle
  • For Search and replace unix command. Linux/Unix
  • DBMS_UTILITY.ANALYZE_SCHEMA Oracle
  • shutdown linux Linux/Unix
  • tuning commmand for cpu, ip and memory stats Linux/Unix
  • Search and replace pattern Linux/Unix
  • Jai Shree Ram Linux/Unix

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme