Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • move_arch_files.ksh Linux/Unix
  • Temporary tablespace explaination Oracle
  • Consolidated Reference List Of Notes For Migration / Upgrade Service Requests -ID 762540.1 Oracle
  • proc.sql Oracle
  • ORACLE_SID in sqlplus Oracle
  • Optimizer_Index init.ora parameter explaination. Oracle
  • More info about /proc folder and its relation with processes. Linux/Unix
  • USER_TABLES.Freelists Oracle
  • Read CSV File using Python Python/PySpark
  • DBMS_JOB all example Oracle
  • myfile Oracle
  • remove archfiles only when it is applied to DR rm_archfiles.sh Linux/Unix
  • sid_wise_cursor.sql find open cursor basis on username or SID Oracle
  • Privilege to describe the table. Oracle
  • Insert cause enqueue locks 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

  • DBMS_UTILITY PACKAGE Oracle
  • db_status.sql Oracle
  • Find Time Consuming SQL Statements in Oracle 10g Oracle
  • How to stop OCSSD Daemon Oracle
  • DETERMINING WHICH INSTANCE OWNS WHICH SHARED MEMORY & SEMAPHORE SEGMENTS Oracle
  • find_open_cur.sql Find open cursorts per session Oracle

Leave a Reply Cancel reply

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

Categories

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

Recent Posts

  • AMC1020-Sep-2026
  • Key Management in Oracle: The Core Issue: Missing Master Key12-May-2026
  • SAT Mathematics 10 questions and answer at the end.30-Apr-2026
  • top 10 AI news today30-Apr-2026
  • runon_allpdbs_show_conname.sh23-Apr-2026
  • runon_allcdbs_find_pdbs.sh23-Apr-2026
  • 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

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • Order by with ROWNUM Oracle
  • Free conference number from http://www.freeconference.com Oracle
  • Good links for x$ tables in oracle. Oracle
  • How to Use DBMS_STATS to Move Statistics to a Different Database Oracle
  • Follwoing korn shell is used to move files from source folder to destination folder and gzip it in destination folder. mv_iotto.ksh Linux/Unix
  • cif crons Linux/Unix
  • sid_wise_cursor.sql find open cursor basis on username or SID Oracle
  • how to find OS block size Oracle

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme