Oracle Data Guard Far Sync:- zero data loss
by Vivek Dhiman. Oracle Database Administrator, Rackspace Technology
Introduction
In this blog, I discuss an Oracle® for Data Guard feature, Far Sync. Oracle designed this new configuration to support synchronous redo transport between the primary and standby database, which are physically far apart. This technique in Oracle 12c ensures zero data loss and protection for primary databases located at any distance.
The feature accepts a redo from a primary database and ships the redo to the standby. Because the Far Sync instance doesn’t contain datafiles, you cannot open it as a primary or a standby in the future. The Far Sync instance minimizes impact on commit response time, reducing that time to an acceptable threshold value with higher data protection.
Architecture
The following image shows a sample of Far Sync architecture:
Configuration
To configure Far Sync, perform the following steps.
1. Create a Far Sync control file from a primary and copy it to the Far Sync server
Run the following code:
ALTER DATABASE CREATE FAR SYNC INSTANCE CONTROLFILE AS ‘/home/oracle/farsync.ctl';
2. Mount the Far Sync instance with the Far Sync control file you created
Select the Far Sync role by running the following code:
SQL> select database_role from v$database;
DATABASE_ROLE
—————-
FAR SYNC
3. Set parameters for the primary database
On the primary database, add the following parameters to the init file:
LOG_ARCHIVE_CONFIG='DG_CONFIG=(oraprimary,orafarsync,orastandby)' scope=both;
LOG_ARCHIVE_DEST_2='SERVICE=farsync SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orafarsync'
LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=oraprimary
4. Set parameters for Far Sync
In the Far Sync instance, add the following parameters to the init file:
LOG_ARCHIVE_CONFIG='DG_CONFIG=(primary,farsync,standby)'
LOG_ARCHIVE_DEST_2='SERVICE=standby ASYNC VALID_FOR=( STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=orastandby'
LOG_ARCHIVE_DEST_1='LOCATION= USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orafarsync'
5. Set parameters for the standby database
On the standby database, add the following parameters to init file:
LOG_ARCHIVE_CONFIG='DG_CONFIG=(primary,farsync,standby)'
LOG_ARCHIVE_DEST_2='SERVICE=primary ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=oraprimary'
LOG_ARCHIVE_DEST_1='LOCATION= USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orastandby'
Conclusion
The Far Sync feature helps to configure a zero-data-loss long-distance standby database for organizations. It also helps to overcome inhibitions and win the confidence of enterprises that think zero data loss can't be real and worry about database performance.
A Far Sync instance also offloads from the primary database the overhead of resolving gaps in the archived logs received by the remote standby database. The instance can conserve WAN bandwidth by performing redo transport compression without impacting primary database performance (off-host compression).

Recent Posts
Deploy Palo Alto Firewall on Google Cloud
March 13th, 2025
The 2025 State of Cloud Report
January 14th, 2025
Create Custom Chatbot with Azure OpenAI and Azure AI Search
December 10th, 2024
Upgrade Palo Alto Firewall and GlobalProtect for November 2024 CVE
November 26th, 2024
Ready for Lift Off: The Community-Driven Future of Runway
November 20th, 2024