Snapshot Standby Database – Complete Step-by-Step Guide to Convert Physical Standby to Snapshot Standby
Introduction
A Snapshot Standby Database is a special type of Oracle Data Guard standby that allows the standby database to be opened in read-write mode for testing, development, or validation purposes.
In a normal Physical Standby Database, redo data from the primary database is continuously applied to keep it synchronized. However, in a Snapshot Standby, redo data is received and archived but not applied.
This allows DBAs and application teams to:
- Perform read-write operations
- Run application testing
- Conduct development or patch validation
- Test upgrades or schema changes
Once testing is complete, the snapshot standby can be reverted back to a physical standby, and all changes made during snapshot mode are discarded, restoring synchronization with the primary database.
High-Level Architecture Flow
Key Characteristics of Snapshot Standby
- Converted from a physical standby
- Opened in READ WRITE mode
- Redo is received but not applied
- Requires Flashback Database
- Automatically creates a guaranteed restore point
- All changes are rolled back when converted back to physical standby
Important Notes
- Fast Recovery Area (FRA) must be configured
- Flashback Database must be enabled
- Snapshot standby is not suitable for production workloads
- Redo apply resumes automatically after conversion back
Architecture Overview
Pre-Requisites
Before starting:
- Data Guard configuration must already exist
- Standby database must be in READ ONLY WITH APPLY
- FRA configured with sufficient space
Step-by-Step Conversion Process
Step 1: Verify Standby Database Role and Mode
Ensure the database is a physical standby and redo apply is active.
Expected output:
Expected output:
Step 2: Stop Redo Apply (MRP)
Cancel the managed recovery process.
Shutdown and mount the database:
Step 3: Enable Flashback Database
Flashback is mandatory for snapshot standby.
Verify FRA:
Enable flashback:
Verify status:
Expected:
Step 4: Convert Physical Standby to Snapshot Standby
Mount and open the database:
Step 5: Verify Snapshot Standby Status
Expected output:
Step 6: Check Guaranteed Restore Point
Oracle automatically creates a restore point.
Sample output:
Step 7: Perform Read-Write Operations (Testing Phase)
Create a test table and insert data.
Insert sample data:
Verify data:
Step 8: Shutdown After Testing
Step 9: Convert Snapshot Standby Back to Physical Standby
Verify:
Expected:
Open database:
Check mode:
Expected:
Step 10: Validate Data Reversion
Check for test objects:
Expected error:
This confirms that all changes made in snapshot standby mode were discarded.
Validate Archive Sync on Primary and Standby
Summary
| Feature | Snapshot Standby |
|---|---|
| Read-Write Access | Yes |
| Redo Apply | No |
| Redo Archive | Yes |
| Flashback Required | Yes |
| Testing Allowed | Yes |
| Changes Persist After Revert | No |
Best Practices
- Ensure adequate FRA space
- Limit snapshot duration
- Monitor archived redo volume
- Revert to physical standby promptly
- Avoid heavy workload during snapshot mode
Conclusion
A Snapshot Standby Database provides a powerful and safe way to perform read-write testing on a standby database without impacting production.
By leveraging Flashback Database and guaranteed restore points, Oracle ensures that the standby can always be restored to its original synchronized state.
This makes snapshot standby an excellent choice for testing, validation, and controlled development activities in enterprise environments.

Post a Comment
Post a Comment