Some times we need to have an exact replica of the production database data to urgently test an issue encountered in production. If the production database is very large having a clone process running on the production server or taking a fresh full database backup just for the clone is also not desirable as well as they have potential performance implications.
So if we have a physical standby database in place (which is a block for block replica of production) why can we not use that database as a source for the clone – we don’t touch the production server.
We can briefly convert the physical standby database to a snapshot standby database and use the RMAN DUPLICATE FROM ACTIVE database to create the clone database without having to take a fresh full database backup.
This note describes the process of performing a database refresh or clone using the Data Guard Standby database as the source for the clone and not the production primary database.
Read the note ….
Last Update: June 23, 2020
Hi Gavin,
Thanks for the document, I was working on the same kind of cloning process (test db from snapshot standby) but somehow at the end of process, its failing with below error and I have tired many options but no luck.
Can you please let me know if you ever face the same issue? I checked with Oracle and they said “cloning via duplicate database from snapshot standby is not possible” 🙂
Error
======
input datafile copy RECID=21269 STAMP=945898254 file name=+DATAC1/EBSCTST/DATAFILE/apps_ts_tx_idx.6630.945897919
datafile 2156 switched to datafile copy
input datafile copy RECID=21270 STAMP=945898254 file name=+DATAC1/EBSCTST/DATAFILE/apps_ts_tx_idx.6631.945897919
contents of Memory Script:
{
set until scn 14078783398512;
recover
clone database
delete archivelog
;
}
executing Memory Script
executing command: SET until clause
Starting recover at 05-JUN-17
using channel ORA_AUX_DISK_1
using channel ORA_AUX_DISK_2
using channel ORA_AUX_DISK_3
using channel ORA_AUX_DISK_4
using channel ORA_AUX_DISK_5
using channel ORA_AUX_DISK_6
using channel ORA_AUX_DISK_7
using channel ORA_AUX_DISK_8
starting media recovery
archived log for thread 1 with sequence 2 is already on disk as file +RECOC1/EBSCTST/ARCHIVELOG/2017_06_05/thread_1_seq_2.404.945898073
archived log for thread 1 with sequence 3 is already on disk as file +RECOC1/EBSCTST/ARCHIVELOG/2017_06_05/thread_1_seq_3.1203.945898073
archived log file name=+RECOC1/EBSCTST/ARCHIVELOG/2017_06_05/thread_1_seq_2.404.945898073 thread=1 sequence=2
archived log file name=+RECOC1/EBSCTST/ARCHIVELOG/2017_06_05/thread_1_seq_3.1203.945898073 thread=1 sequence=3
media recovery complete, elapsed time: 00:00:40
Finished recover at 05-JUN-17
Oracle instance started
Total System Global Area 42949672960 bytes
Fixed Size 7643936 bytes
Variable Size 6174022880 bytes
Database Buffers 36507222016 bytes
Redo Buffers 260784128 bytes
contents of Memory Script:
{
sql clone “alter system set db_name =
”EBSCTST” comment=
”Reset to original value by RMAN” scope=spfile”;
sql clone “alter system reset db_unique_name scope=spfile”;
}
executing Memory Script
sql statement: alter system set db_name = ”EBSCTST” comment= ”Reset to original value by RMAN” scope=spfile
sql statement: alter system reset db_unique_name scope=spfile
Oracle instance started
Total System Global Area 42949672960 bytes
Fixed Size 7643936 bytes
Variable Size 6174022880 bytes
Database Buffers 36507222016 bytes
Redo Buffers 260784128 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE “EBSCTST” RESETLOGS ARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 5
MAXDATAFILES 2800
MAXINSTANCES 5
MAXLOGHISTORY 15188
LOGFILE
GROUP 6 SIZE 4 G ,
GROUP 7 SIZE 4 G ,
GROUP 8 SIZE 4 G ,
GROUP 9 SIZE 4 G ,
GROUP 10 SIZE 4 G
DATAFILE
CHARACTER SET WE8ISO8859P1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 06/05/2017 21:54:09
RMAN-05501: aborting duplication of target database
RMAN-06136: ORACLE error from auxiliary database: ORA-01503: CREATE CONTROLFILE failed
ORA-01565: error in identifying file ”
ORA-17503: ksfdopn:2 Failed to open file
ORA-07202: sltln: invalid parameter to sltln.
RMAN> exit
Thanks in advance