Data Guard Configurations
A
Data Guard configuration
consists of one production database and one or more standby databases.
The databases in a Data Guard configuration are connected by
Oracle Net and may be dispersed geographically. There are no restrictions on where the databases are located, provided they can
communicate
with each other. For example, you can have a standby database on the
same system as the production database, along with two standby databases
on other systems at remote locations.
You can manage primary and standby databases using the SQL
command-line interfaces or the Data Guard broker interfaces, including a
command-line interface (DGMGRL) and a graphical user interface that is
integrated in Oracle Enterprise Manager.
1.1.1 Primary Database
A Data Guard configuration contains one production database, also referred to as the primary database, that functions in the
primary role. This is the database that is accessed by most of your applications.
The primary database can be either a single-instance Oracle database or an Oracle R
eal Application Clusters (Oracle RAC) database.
1.1.2 Standby Databases
A s
tandby database is a transactionally consistent copy of the primary database. Using a b
ackup
copy of the primary database, you can create up to thirty standby
databases and incorporate them in a Data Guard configuration. Once
created, Data Guard automatically maintains each standby database by
transmitting
redo data from the primary database and then applying the
redo to the standby database.
Similar to a primary database, a standby database can be either a single-instance Oracle database or an
Oracle RAC database.
The types of standby databases are as follows:
-
Physical standby database
Provides a physically identical copy of the primary database, with on
disk database structures that are identical to the primary database on a
block-for-block basis. The database schema, including indexes, are the
same. A physical standby database is kept synchronized with the primary
database, through Redo Apply, which recovers the redo data received from
the primary database and applies the redo to the physical standby
database.
As of Oracle Database 11g release 1
(11.1), a physical standby database can receive and apply redo while it
is open for read-only access. A physical standby database can therefore
be used concurrently for data protection and reporting.
-
Logical standby database
Contains the same logical information as the production database,
although the physical organization and structure of the data can be
different. The logical standby database is kept synchronized with the
primary database through SQL Apply, which transforms the data in the
redo received from the primary database into SQL statements and then executes the SQL statements on the standby database.
A logical standby database can be used for other business purposes in
addition to disaster recovery requirements. This allows users to access
a logical standby database for queries and reporting
purposes at any time. Also, using a logical standby database, you can
upgrade Oracle Database software and patch sets with almost no downtime.
Thus, a logical standby database can be used concurrently for data
protection, reporting, and database upgrades.
-
Snapshot Standby Database
A snapshot standby database is a fully updatable standby database.
Like a physical or logical standby database, a snapshot standby
database receives and archives redo data from a primary database. Unlike
a physical or logical standby database, a snapshot standby database
does not apply the redo data that it receives. The redo data received by
a snapshot standby database is not applied until the snapshot standby
is converted back into a physical standby database, after first
discarding any local updates made to the snapshot standby database.
A snapshot standby database is best used in scenarios that require a
temporary, updatable snapshot of a physical standby database. Note that
because redo data received by a snapshot standby database is not applied
until it is converted back into a physical standby, the time needed to
recover from a primary database failure is directly proportional to the
amount of redo data that needs to be applied.
1.1.3 Configuration Example
Figure 1-1
shows a typical Data Guard configuration that contains a primary
database that transmits redo data to a standby database. The standby
database is remotely located from the primary database for
disaster recovery and
backup operations. You can configure the standby database at the same location as the primary database. However, for
disaster recovery purposes, Oracle recommends you
configure standby databases at remote locations.