Oracle® Data Guard Concepts and Administration 11g Release 2 (11.2) Part Number E10700-01 |
|
|
View PDF |
A cascaded standby database is a standby database that receives primary database redo indirectly, from a cascading physical standby database, rather than directly from a primary database.
Cascading can reduce network bandwidth consumption by eliminating duplicate redo transmission over network links that are shared by more than one standby database.
A physical standby database can cascade primary database redo to up to 30 cascaded destinations, each of which can be a physical, logical, or snapshot standby database.
A cascaded standby database receives primary redo when a cascading standby database archives a standby redo log group.
Cascading has the following restrictions:
Logical and snapshot standby databases cannot cascade primary database redo.
SYNC destinations cannot cascade primary database redo in a Maximum Protection Data Guard configuration.
Cascading is not supported in Data Guard configurations that contain an Oracle Real Applications Cluster (RAC) primary database.
Cascading is not supported in Data Guard broker configurations.
The rest of this appendix contains information about the following:
Perform the following steps to configure a cascaded destination on a physical standby database:
Verify that the physical standby database where a cascaded destination is to be defined has a standby redo log and that it contains enough redo log groups to ensure that there is no interruption in the transmission of redo to the cascading physical standby database. If the cascading standby database is a SYNC destination, such an interruption in transmission will also cause the primary database to stall up to NET_TIMEOUT
seconds.
Note that the number of standby redo log groups needed to ensure that one is always available is greater on a physical standby that has cascaded destinations than on one without cascaded destinations, because a redo log group cannot be reused until it has been archived locally and until an attempt has been made to archive it to all cascaded destinations.
See Also:
Section 6.2.3 for information about how to configure a standby redo logVerify that archiving is enabled on the physical standby database where a cascaded destination is to be defined and that the LOG_ARCHIVE_MAX_PROCESSES
database initialization parameter has been set to a large number to ensure that there is no interruption in the transmission of redo to the cascading physical standby database. If the cascading standby database is a SYNC destination, such an interruption in transmission will also cause the primary database to stall up to NET_TIMEOUT
seconds.
Note that the number of arcn processes needed to ensure that a standby redo log group is always available is usually greater on a physical standby that has cascaded destinations than on one without cascaded destinations, because a redo log group cannot be reused until it has been archived locally and until an attempt has been made to archive it to all cascaded destinations.
To minimize apply lag on a cascading physical standby database, start Redo Apply with the real-time apply option. If the real-time apply option is not used, then redo will not be applied to a cascading physical standby database until the redo log group which contains that redo has been archived locally and an attempt has been made to archive it to every cascaded destination.
Configure a LOG_ARCHIVE_DEST_
n
parameter for the cascaded destination.
Example E-1 shows some of the database initialization parameters used by the members of a Data Guard configuration. The configuration includes a primary database named boston
that sends redo to a local physical standby database named boston2
, which then cascades the redo to a cascaded logical standby database named denver
.
Example E-1 Sample Use of Initialization Parameters in Cascaded Destinations
Primary Database
DB_UNIQUE_NAME=boston LOG_ARCHIVE_CONFIG='DG_CONFIG=(boston,boston2,denver)' LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=boston' LOG_ARCHIVE_DEST_2= 'SERVICE=denver VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=denver' LOG_ARCHIVE_DEST_3= 'SERVICE=boston2 SYNC VALID_FOR= (ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=boston2'
Cascading Physical Standby Database
DB_UNIQUE_NAME=boston2 LOG_ARCHIVE_CONFIG= 'DG_CONFIG=(boston,boston2,denver)' LOG_ARCHIVE_DEST_1= 'LOCATION= USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=boston2' LOG_ARCHIVE_DEST_2= 'SERVICE=denver VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=denver' LOG_ARCHIVE_DEST_3= 'SERVICE=boston SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=boston'
Logical Standby Database
DB_UNIQUE_NAME=denver LOG_ARCHIVE_CONFIG= 'DG_CONFIG=(boston,boston2,denver)' LOG_ARCHIVE_DEST_1= 'LOCATION= USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=denver'
Both the boston
primary database and the boston2
physical standby database define the LOG_ARCHIVE_DEST_2
initialization parameter as SERVICE=denver VALID_FOR=(STANDBY_LOGFILES, STANDBY_ROLE)
. Hence, even if the boston
and boston2
databases switch roles, redo will continue to be cascaded to the denver
database.
Oracle recommends that standby databases primarily intended for disaster recovery purposes receive redo data directly from the primary database. This will result in the highest level of data protection. A cascaded standby database may be used as a second line of defense, but by definition it will always have received less redo than a standby database that is receiving redo directly from the primary.
This section describes the following scenarios which demonstrate configuration options and uses for cascaded destinations:
You have a primary database in your corporate offices, and you want to create a standby database at another facility within your metropolitan area to provide zero data loss protection if there is a failure at your primary site. In addition to the local standby, you wish to maintain a geographically remote standby database 2000 miles away at a disaster recovery site. Some data loss is acceptable if failover to the remote standby is required (an acceptable trade-off in return for the extra protection against events that can affect a large geographic area and cause both the primary site and the local standby database to fail). The remote standby database also provides continuous data protection after a failover to the local standby database and improves security by enabling backups to be created and stored at the remote location, eliminating the need to ship tapes off-site.
You could configure your primary database to ship redo directly to both standby databases; however, you may want to isolate your primary database from any communication over the WAN to the second standby database. You can achieve this by creating a physical standby database in a local facility within your metropolitan area and using the SYNC network transport to achieve zero data loss protection (in Maximum Availability data protection mode). A cascaded destination is defined on the local physical standby database that will forward redo received from the primary to the remote standby database. Because the local standby manages all communication with the remote standby via a cascaded destination, there is no interaction required with the primary database to maintain a second standby.
In this scenario, you have a primary database in a city in the United States and you wish to deploy three complete replicas of this database to be used for end-user queries and reporting in three different manufacturing plants in Europe. Your objective is to eliminate the need for users and applications at your European locations to access data that resides in the US to prevent network disruptions from making data unavailable for local access. While you can accept some latency between the time an update is made in the primary and the time it is replicated to all three European sites, you desire the data to be as up-to-date as possible and available to query and to run reports. You require a solution that is completely application transparent, and one where additional replicas can be deployed to sites in Europe if the need arises. A final requirement is the need to make this work with the limited bandwidth and very high network latency of the network connection between your US and European facilities.
You address your requirements by first creating a physical standby database in Europe for the primary database located in the US. You then create three logical standby databases, one in each of your European plants, and define each logical standby as a cascaded destination on your physical standby database. One copy of the redo is shipped over the transatlantic link from the US to the physical standby in Europe. The physical standby in Europe forwards the redo to the three logical standby databases in the European manufacturing plants providing local access to corporate data for end-user query and reports. Room for future growth is built in. Additional standby databases can be deployed in Europe without any modification to applications and without consuming any additional transatlantic network bandwidth.
Configure the physical standby database to forward redo data to the logical standby databases in each of your manufacturing sites as in the example above. The only difference from the parameters in Example E-1 is that you will define two additional LOG_ARCHIVE_DEST_
n
parameters on the physical standby so that redo will be forwarded to three logical standby databases rather than to one.