What are the benefits of Snapshot standby database?
Snapshot Standby Database is introduced from Oracle 11gR1. A Snapshot Standby database is a physical standby that is temporarily disconnected from Data Guard configuration, and started in READ-WRITE mode.It functions as a updateable Stand-alone Database, which is an exact Replica of Primary Database which is normally used for testing purpose. We can revert the Snapshot standby database to Physical Standby database after the testing is completed.
Steps to convert Physical database into a Snapshot Standby Database:
1. First step to convert to Snapshot standby database is to enable FLASHBACK feature on the Physical Standby, if not already enabled.
Ensure there is sufficient space available in Flash Recovery Area (FRA) for Flashback Logs.
2. Stop redo apply on the physical standby database:
SQL>alter database recover managed standby database cancel;
3. Turn on flashback logging:
SQL>alter database flashback on;
4. Convert the standby database into a snapshot standby database:
( For RAC Configurations: Shutdown all other instances except one, which is used as Snapshot standby database)
SQL>alter database convert to snapshot standby;
5.Shut down the snapshot standby database and startup the database (it will be opened for read/write access):
SQL>shutdown immediate;
SQL>startup
After the Snapshot mode is enabled on the database, perform the required testing and revert back to Physical Standby mode after the testing is complete.
Steps to Revert the Physical Standby Database Back to its Original State
1. Change the standby database back into its standby mode (from snapshot mode) as follows:
SQL>startup mount force;
SQL>alter database convert to physical standby;
SQL>shutdown immediate;
SQL>startup nomount;
SQL>alter database mount standby database;
2. Enable redo log apply.
SQL>alter database recover managed standby database using current logfile disconnect;
3.On the primary database, issue the following statement to re-enable archiving to the physical standby database:
SQL>alter system set log_archive_dest_state_2=enable scope=both;