Introduction:
-
- To ensure data protection, high availability and disaster recovery for enterprise data, Oracle introduced Oracle Data Guard. Oracle Active Data Guard is super set of Oracle Data Guard.
- Oracle Data Guard technology used to create, maintain, manage, and monitor one or more standby databases to enable production Oracle databases to survive disasters and data corruptions. Data Guard maintains these standby databases as consistent copies of the production database.
- In case, production database is unavailable due to planned or unplanned outage, any of the standby database in the data guard configuration can be switched to production database role which reduces downtime caused by the outage.
Oracle Data Guard Components:
-
- A Data Guard configuration consists of one primary/production database and one or more standby database. These primary and standby databases are connected to each other Oracle Net services and these databases can be remotely hosted anywhere globally.
- This data guard configuration ban be manged by tools like SQL command-line interfaces (SQLPLUS), Data Guard broker interface (DGMGRL) and a graphical user interface that is integrated in Oracle Enterprise Manager.
Primary Database:
-
- A data guard configuration consists one production database which is also known as primary database which has primary role.
- Application will access only the primary database. The primary database can be either a single-instance Oracle database or an Oracle Real Application Clusters database.
Standby Database:
-
- A standby database is nothing but consistent copy of the primary database. We can create standby databases using primary database and then add them to the data guard configuration.
- There are two types of standby databases as physical standby and logical standby.
Physical standby database:
-
- Physical standby database is exact copy of primary database which is identical to primary database with block-for-block basis. A physical standby database is kept synchronized with the primary database, through Redo Apply (method used for transferring changes from primary database), which recovers the redo data received from the primary database and applies the redo to the physical standby database.
- Normally, physical standby databases are accessible to applications as they are maintained in “MOUNT” mode. Here the ACTIVE DATA GUARD comes into picture which we will discuss later.
Logical standby database:
-
- Logical standby databases may not be exact copy of primary database, structure of the data can be different.
- The logical standby database is kept synchronized with the primary database though SQL Apply (method used for transferring changes from primary database), which transforms the data in the redo received from the primary database into SQL statements and then executing the SQL statements on the standby database.
Active Data Guard:
-
- Oracle Active Data Guard is the super set of Oracle Data Guard. Oracle Active Data Guard provides the best data protection and availability for Oracle Database.
- Active Data Guard enables the offloading of read-only operations, backups, and so on, to an up-to-date physical standby database while also providing disaster protection. Active Data Guard uses highly parallelized apply process for best performance and ensuring the same read consistency at the standby as primary database. No other physical or logical replication solution does this.
- Active Data Guard is licensed option to the Oracle Database Enterprise Edition and enables advanced capabilities that extend the basic Data Guard functionality which includes following:
- Real-Time Query and DML Offload uses the standby database for queries, reports and occasional updates without impacting protection of the primary.
- Automatic Block Repair provides an automatic and user-transparent recovery of corrupted database blocks from either the primary or the standby database.
- Standby Block Change Tracking enables incremental backups on the standby.
- Far Sync enables zero data loss protection across any distance.
- Global Data Services load balance connection requests and provide an integrated service management across replicated databases, considering placement of connections depending on read or read/write workload.
- Application Continuity makes outages transparent to application users.