The most know trade-off in Oracle Data Guard is the performance vs. protection.
Oracle Data Guard brings several protection modes, which brings companies the flexibility in choosing the right configuration in order to meet the application SLA policies.
Data Protection Modes
There are 3 protection modes in Oracle Data Guard, which can be summarized in the following table:
Data Protection Modes - Key Considerations
- Maximum Performance = compromise on protection
- Maximum Protection = compromise on performance (usually)
- Better to use at least 2 standby databases when running maximum protection
- NET_TIMEOUT parameter of LOG_ARCHIVE_DEST_n=30 seconds (default)
Mitigating the performance/protection trade-off in Oracle Data Guard
Oracle 12cR1 introduced a feature which can enable both performance and protection for far standby environments. For example, when the standby database is very far from the primary database, setting a "maximum protection" configuration will likely affect the performance due to the network lag and it may take time to acknowledge commit back to the primary database.
In order to address this challenge, Oracle introduced a feature called "Far Sync". Far Sync enables having a lightweight instance which resides close to the primary database and is synchronized with the primary database. This light-wight instance has only control files, standby redo logs and archived redo logs. It does not have data files and therefore it cannot be opened for access. The redo entries will be transported from the near "far sync" instance to the "regular" standby database asynchronously.
This feature enables achieving both performance (due to the smaller network latency between primary and far sync instance) while allowing for higher data protection as the far sync instance is always synced with the primary database.
Here is an illustration of this new feature:
Licensing
Oracle 12cR1 introduced a feature which can enable both performance and protection for far standby environments. For example, when the standby database is very far from the primary database, setting a "maximum protection" configuration will likely affect the performance due to the network lag and it may take time to acknowledge commit back to the primary database.
In order to address this challenge, Oracle introduced a feature called "Far Sync". Far Sync enables having a lightweight instance which resides close to the primary database and is synchronized with the primary database. This light-wight instance has only control files, standby redo logs and archived redo logs. It does not have data files and therefore it cannot be opened for access. The redo entries will be transported from the near "far sync" instance to the "regular" standby database asynchronously.
This feature enables achieving both performance (due to the smaller network latency between primary and far sync instance) while allowing for higher data protection as the far sync instance is always synced with the primary database.
Here is an illustration of this new feature:
Licensing
This feature requires having the Active Data Guard license which is an extra option in Oracle Enterprise Edition. For more information about licensing: https://docs.oracle.com/en/database/oracle/oracle-database/18/dblic/Licensing-Information.html#GUID-B6113390-9586-46D7-9008-DCC9EDA45AB4
Useful Links
- Oracle Documentation: https://docs.oracle.com/database/121/SBYDB/create_fs.htm#SBYDB5416
- White Paper: https://www.oracle.com/technetwork/database/availability/farsync-2267608.pdf