Oracle Dataguard - Concepts

Oracle Data Guard ensures high availability, data protection, and disaster recovery for enterprise data.Data Guard maintains these standby databases as transactionally consistent copies of the production database.If the production database becomes unavailable, Data Guard can switch any standby database to the production role.


Types Of Modes :
  • Maximum Performance mode
  • Maximum Availability mode and
  • Maximum Protection mode

Maximum Performance mode reduces the cost of the synchronisation by having the redo shipped asynchronously to the standby, but may involve loss of recently generated redo.

Maximum Availability and Maximum Protection modes both require synchronous transmission via LGWR with confirmation from the standby site that the redo was received and written into standby. This guarantees a ?Zero Data Loss? capability, where no committed transaction is lost during a complete primary site failure.


Data Guard configuration pre-system checks :

Hardware :

Hardware can be different for the standby and primary databases. Like CPU, hard disk capacity.

Operating system :

The operating system should be the same as both the primary and standby databases, if you use Linux on the primary side the same os will be the standby. OS versions can be different but the platform should be the same.

Software :
  • The same release of oracle database version in primary and standby side.
  • Standby database enables archive and force logging method.
  • Sysdba privilege required.

ORACLE DATA GUARD ARCHITECTURE :

dataguard with parameter


Primary Database Process :

LGWR(log writer)

Log writer collects transaction log information and updates to the online redo logs.


LGWR modes
  • SYNC ? in synchronous mode, it sends redo information directly to the RFS(remote file server) process on the standby database its waits for the confirmation before proceeding.
  • ASYNC ? in asynchronous mode its also sends redo information directly it does not wait before proceeding.
  • In ASYNC mode LGWR submits the network I/O request to the network server (LNSn) process for the destination.

Archiver process(ARCn):
  • ARCn or a SQL session performing an archival operation, create a copy of online redo logs locally for primary database recovery.
  • ARCn also send simultaneously online logs to the RFS(remote file server)
  • It?s also responsible for GAP solving in the standby database.

FAL (Fetch Archive Logs) :

FAL provides a client/server mechanism for resolving gaps detected in the range of archive logs generated in the primary database and received to the standby database.


STANDBY DATABASE PROCESS :

RFS (remote file server process) :

RFS it receives redo information from the primary database. RFS writes redo to standby redo logs or archived logs. Each primary LSN, ARCn has their own RFS


ARC archiver process :

ARCn process archives all standby redo logs.


Managed Recovery Process(MRP) :

For the physical standby database, only MRP applies archived log information to the physical standby database.

MRP process commands are:
  • Alter database recover managed standby database disconnect no delay.
  • Alter database recover managed standby database disconnect from the session.
  • Alter database recover managed standby database cancel.
Logical standby database :

LSP is controlling the applies of archived redo log information to the logical standby database.

Standby redo log files :

Standby redo log files are used only when the database is in the standby role to store redo data received from the primary database.
Standby redo logs from a separate pool of log filegroup.


DATA GUARD BROKER :

Data Guard Broker is the management and monitoring component with which you configure, control, and monitor a fault tolerant system consisting of a primary database protected by one or more standby database.

It can be used in combination with other Oracle High Availability (HA) solutions such as Real Application Clusters (RAC), Oracle Flashback, Oracle Recovery Manager (RMAN), and new database options for Oracle Database 11g that include Oracle Active Data Guard and Oracle Advanced Compression, to provide a high level of data protection.


DATA GUARD ROLES :

A database can operate in one of the two mutually exclusive roles: primary or standby database.


FAILOVER :

A failover is done when the primary database (all instances of an Oracle RAC primary database) fails or has become unreachable and one of the standby databases is transitioned to take over the primary role. Failover should be performed when the primary database cannot be recovered in a timely manner. Failover may or may not result in data loss depending on the protection mode in effect at the time of the failover.


SWITCHOVER :

A switchover is a role reversal between the primary database and one of its standby databases. A switchover guarantees no data loss and is typically done for planned maintenance of the primary system. During a switchover, the primary database transitions to a standby role, and the standby database transitions to the primary role



(Oracle Dataguard - Modes)