Atikh's DBA blog
  • Home
  • Oracle
  • MySQL
  • MongoDB
  • PostgreSQL
  • Snowflake
  • About Me
  • Contact Us

Oracle Data Guard Protection Modes

 Atikh Shaikh     oracle     No comments   

There are three types of data guard protection modes in oracle
  1. Maximum Protection
  2. Maximum Availability
  3. Maximum Performance (default)
protection modes in oracle database, maximum protection, maximum availability, maximum performance, technodba, database blog, standby database, DR database, oracle data guard
Before proceeding with next explaining these three modes, you can visit Standby database introduction to understand the purpose of standby database

All of these protection modes provides high data protection, but they differ in terms of availability and performance of primary database
Maximum Protection Mode
  • Maximum protection mode guarantees that no data loss will occur if primary database fails by any means
  • To provide this level of protection, redo data needs to recover a transaction must be written to both the online redo log and to at least one synchronized standby database before transaction commits.
  • To ensure that data loss can not occur, the primary database shutdown rather than continue processing transactions if it can not write to at lease one sync standby database
  • Recommendation
    • As this protection mode prioritizes data protection over primary database availability, oracle recommends to have minimum two standby database
Maximum availability Mode
  • This protection mode provides the highest level of data protection that is possible without affecting availability of the primary database.
  • Under normal operations, transactions to not commitment until all redo data needed to recover those transactions has been written to online redo log and based on user configuration one of the following is true
    • Redo has been received at standby database and acknowledge sent to primary
    • redo has been received and written to standby redo log and acknowledgement sent to primary
  • In case primary does not receive acknowledgement from at least one synchronized standby database then it operates as if it were maximum performance mode to preserve primary database availability until it is again able to write it to redo stream o synchronized standby database
  • To fully benefit from complete oracle data guard validation at the standby database,be sure to operate in real time apply mode so that redo changes are applied to standby database as fast as they are received.
Maximum Performance Mode
  • This protection mode provides highest level of data protection that is possible without affecting the performance of primary database.
  • This achieved by allowing transactions to commit as soon as all redo data generated by transactions has been written to the online log
  • Redo data is also written to one or mode standby databases but this is due to asynchronously with respect to transactions commitment, so primary database performance is unaffected by time required to transmit redo data and receive acknowledgement from a standby database.
  • This protection mode offers slightly less data protection than maximum availability  and has minimal impact on primary performance
  • This is default protection mode in oracle.
Setting protection mode of primary database
Protection mode can be modified at any time as long as configuration meets requirements of mode.
Below are the steps for the same

  • Decide the protection among the above mentioned three modes
  • Verify the protection mode requirements with at lease one configuration standby database. Redo transport required for protection modes are

Availability
AFFIRM/NOAFFIRM
SYNC
DB_UNIQUE_NAME
Performance
NOAFFIRM
ASYNC
DB_UNIQUE_NAME
Protection
AFFIRM
SYNC
DB_UNIQUE_NAME
  • Verify if DB_UNIQUE_NAME is set as this is mandatory parameter for data guard configuration
  • Verify LOG_ARCHIVE_CONFIG parameter is set, its value includes a DG_CONFIG which includes DB_UNIQUE_NAME of primary and standby database for example 
       LOG_ARCHIVE_LOG='DG_CONFIG=('PRIM','STDBY')'
  • Set data protection modes using below command
alter database set standby database to maximum {availability|performance|protection};
  • Verify on primary using below command
select protection_mode from v$database;

  • Share This:  
  •  Facebook
  •  Twitter
  •  Instagram
  •  Pin
  •  linkedin
  •  reddit
Email ThisBlogThis!Share to XShare to Facebook
Newer Post Older Post Home

0 comments:

Post a Comment

Author

Atikh Shaikh
View my complete profile

Categories

  • MongoDB (18)
  • Oracle 12c (30)
  • Oracle12cR2 New Feature (3)
  • PostgreSQL (20)
  • RMAN (10)
  • Snowflake (8)
  • mysql (23)
  • oracle (74)

Blog Archive

  • ►  2018 (38)
    • ►  November (25)
    • ►  December (13)
  • ▼  2019 (33)
    • ►  January (15)
    • ►  February (6)
    • ▼  March (2)
      • Standby database Introduction
      • Oracle Data Guard Protection Modes
    • ►  April (5)
    • ►  May (5)
  • ►  2020 (5)
    • ►  April (1)
    • ►  May (2)
    • ►  July (2)
  • ►  2021 (8)
    • ►  June (3)
    • ►  July (3)
    • ►  August (1)
    • ►  December (1)
  • ►  2022 (33)
    • ►  May (3)
    • ►  June (10)
    • ►  July (3)
    • ►  August (4)
    • ►  September (8)
    • ►  October (3)
    • ►  November (2)
  • ►  2023 (14)
    • ►  February (1)
    • ►  April (5)
    • ►  May (2)
    • ►  June (1)
    • ►  September (1)
    • ►  October (1)
    • ►  December (3)
  • ►  2024 (5)
    • ►  January (2)
    • ►  March (3)
  • ►  2025 (6)
    • ►  March (1)
    • ►  April (3)
    • ►  May (2)

Popular Posts

  • ORA-29283: invalid file operation: unexpected "LFI" error (1509)[29437]
    I was trying to export the schema in my windows PC, it got stuck with below error    C:\Users\shaik\Videos\technodba exp>expdp userid...
  • PostgreSQL : How to get data directory location for PostgreSQL instance
    Sometimes, you start working on a PostgreSQL instance but forget about the data directory, here we will discuss different methods to know th...
  • Oracle 23ai : Use of NOVALIDATE Constraints in IMPDP
    While performing impdp operations in the Oracle database, Oracle performs validation checks for every constraint on the imported table, that...
  • ERROR 1221 (HY000): Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
    In previous articles, we have learned about user creation and grants  in MySQL in detail, but there are a few privileges called global priv...
  • Oracle Dataguard Broker Configuration (DGMGRL)
    Data Guard Broker is a command-line interface that makes managing primary and standby databases easy. DBA can use a single command to switch...

Labels

oracle Oracle 12c mysql PostgreSQL MongoDB oracle 19c Oracle23c oracle19c Orale PDB-CDB oracle12c python AWS Oracle ASM Virtualbox pluggable database storage engine

Pages

  • Disclaimer
  • Privacy Policy

Follow TechnoDBA

Copyright © Atikh's DBA blog | Powered by Blogger