Skip Headers
Oracle® Data Guard Concepts and Administration
11g Release 2 (11.2)

Part Number E10700-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

E Cascaded Standby Destinations

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:

The rest of this appendix contains information about the following:

E.1 Configuring a Cascaded Destination

Perform the following steps to configure a cascaded destination on a physical standby database:

  1. 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 log
  2. Verify 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.

  3. 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.

  4. 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.

E.2 Role Transitions with Cascaded Standby Databases

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.

E.3 Examples of Using Cascaded Standby Databases

This section describes the following scenarios which demonstrate configuration options and uses for cascaded destinations:

E.3.1 Physical Standby Forwarding Redo to a Remote Physical Standby

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.

E.3.2 Physical Standby Forwarding Redo to a Logical 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.