Cascading Standby Database works in two layers.

  1. As per normal the standby configuration, standby database receives redo from the primary database.
  2. In Layer 2 standby database will receive redo from another standby database rather than directly from the primary database.

With Cascading standby database we can minimize the load of Primary Database.

As per Oracle Docs, A cascading standby database is a standby database that receives its redo logs from another standby database, not from the original primary database.

In this post, we will first create a regular Physical Standby database. And then we will create a Cascaded Standby Database.

Database Details :


1.Physical Standby Database creation.

Step 1: Check the details of a primary database.

Step 2: Check if force_logging is enabled or not at the primary database.


Step 3: Check if password file exists

Step 4: Check log_mode

If archiving is not enabled, enable it.

Step 5: Configure standby logfiles

Step 6: Setting initialization parameters on primary :

For now , set log_archive_dest_state_2 to defer.



Step 9: Set log_archive_config

Step 10: Configure listener.ora and tnsnames.ora file

Primary tnsnames.ora

Step 11:  We need the static entry for listener at standby side

Step 12: Standby tnsnames.ora

Step 13: Start listener on the standby database.

Step 14: Create pfile from spfile in the primary database.

Step 15: Copy password file and init file to standby server.

Step 16: Create the necessary directory on the standby

Step 17: Change DB_UNIQUE_NAME to std_casdb and Start the standby database in nomount mode.

Step 18: create a standby database using rman duplicate database from active database command.

Step 19 : Now change log_archive_dest_state_2 to ENABLE.

Step 20: Start recovery in the Physical standby database.

2. Preparing for Cascading Standby database.

Step 1: Set log_archive_config parameter to accommodate all standby and primary including your cascading standby database.

Step 2: Create a tnsnames.ora entries in the cascaded standby database.

Step 3: Tns entry at physical standby.

Step 4: Copy password file and pfile to cascading standby.

Step 5: Stop recovery at a standby database

Step 7: Here I am renaming log files to new accommodate in oracle/oradata location.

Step 6: We need to transfer files to cascading standby database shown from the v$datafile, v$logfile, and v$controlfile.

Step 7: Create the necessary directory on cascading standby

Step 8: use RSYNC to copy all datafile, controlfile, and logfiles.

Step 9 : Change log_archive_dest_state_3 to ENABLE.

Step 10: Change db_unique_name parameter std1_casdb in pfile and start the database in mount stage

Step 11: Start recovery on physical standby

Step 12: Start recovery on cascaded standby

Check both standby layer 1 database and cascading standby database are getting redo transport.

Stay tuned for More articles on Oracle DataGuard

Thank you for giving your valuable time to read the above information.

If you want to be updated with all our articles send us the Invitation or Follow us:

Telegram Channel:

Skant Gupta’s LinkedIn:

Joel Perez’s LinkedIn: Joel Perez’s Profile

LinkedIn Group: Oracle Cloud DBAAS

Facebook Page: OracleHelp

About The Author


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.