Topic: Clone database using RMAN 0 level backup 19c
I n this section we are going to clone database using RMAN ZERO level backup. To create clone database
using RMAN backup on target database, we need database software installed on target database.
Deployment Diagram:
Target and source Node Details
Component details Source Database Target Database
Host Name DB19C.example.com node1.example.com
ORACLE_HOME /u01/app/oracle/product/19.0.0.0/db_1 /u01/app/oracle/product/19.0.0.0/db_1
Database Name DB19C DB19C
Data File Location /u01/app/oracle/oradata/DB19C /u01/app/oracle/oradata/DB19C
Archive location /u01/Archive /u01/Archive
In this QuickStart, we learn how to:
• Take 0 level backup of source database
• Create same backup location on target database server and transfer all backup file to same
location
• Restore spfile from Backup and create pfile from spfile
• Create structure on target database same as source database using pfile
• Restore Control file, database using RMAN (on target database)
• Validation
Step-1 Take 0 level backup of source database
Database Details
Archive location details
Create Backup Directory
[oracle@DB19C ~]$ mkdir /u01/Archive/backup/
Connect target database using RMAN
RMAN> RUN
{
configure controlfile autobackup on;
set command id to 'DB19COnlineBackupFull';
ALLOCATE CHANNEL c1 DEVICE TYPE disk;
ALLOCATE CHANNEL c2 DEVICE TYPE disk;
backup AS COMPRESSED BACKUPSET full database tag ORCL_FULL format
'/u01/Archive/backup/%d_%T_%s_%p_FULL' ;
sql 'alter system archive log current';
backup tag ORCL_ARCHIVE format
'/u01/Archive/backup/%d_%T_%s_%p_ARCHIVE' archivelog all delete all
input ;
backup tag ORCL_CONTROL current controlfile format
'/u01/Archive/backup/%d_%T_%s_%p_CONTROL';
backup tag spfile_pfile spfile format
'/u01/Archive/backup/%d_%T_%s_%p_spfile';
release channel c1;
release channel c2;
}
using target database control file instead of recovery catalog
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
executing command: SET COMMAND ID
allocated channel: c1
channel c1: SID=65 device type=DISK
allocated channel: c2
channel c2: SID=108 device type=DISK
Starting backup at 02-SEP-21
channel c1: starting compressed full datafile backup set
channel c1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/DB19C/system01.dbf
input datafile file number=00007 name=/u01/app/oracle/oradata/DB19C/users01.dbf
channel c1: starting piece 1 at 02-SEP-21
channel c2: starting compressed full datafile backup set
channel c2: specifying datafile(s) in backup set
input datafile file number=00003 name=/u01/app/oracle/oradata/DB19C/sysaux01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/DB19C/undotbs01.dbf
channel c2: starting piece 1 at 02-SEP-21
channel c1: finished piece 1 at 02-SEP-21
piece handle=/u01/Archive/backup/DB19C_20210902_2_1_FULL tag=ORCL_FULL comment=NONE
channel c1: backup set complete, elapsed time: 00:00:35
channel c1: starting compressed full datafile backup set
channel c1: specifying datafile(s) in backup set
input datafile file number=00010 name=/u01/app/oracle/oradata/DB19C/pdb/sysaux01.dbf
input datafile file number=00011 name=/u01/app/oracle/oradata/DB19C/pdb/undotbs01.dbf
channel c1: starting piece 1 at 02-SEP-21
channel c2: finished piece 1 at 02-SEP-21
piece handle=/u01/Archive/backup/DB19C_20210902_3_1_FULL tag=ORCL_FULL comment=NONE
channel c2: backup set complete, elapsed time: 00:00:35
channel c2: starting compressed full datafile backup set
channel c2: specifying datafile(s) in backup set
input datafile file number=00005 name=/u01/app/oracle/oradata/DB19C/pdbseed/system01.dbf
input datafile file number=00008 name=/u01/app/oracle/oradata/DB19C/pdbseed/undotbs01.dbf
channel c2: starting piece 1 at 02-SEP-21
channel c1: finished piece 1 at 02-SEP-21
piece handle=/u01/Archive/backup/DB19C_20210902_4_1_FULL tag=ORCL_FULL comment=NONE
channel c1: backup set complete, elapsed time: 00:00:15
channel c1: starting compressed full datafile backup set
channel c1: specifying datafile(s) in backup set
input datafile file number=00006 name=/u01/app/oracle/oradata/DB19C/pdbseed/sysaux01.dbf
channel c1: starting piece 1 at 02-SEP-21
channel c2: finished piece 1 at 02-SEP-21
piece handle=/u01/Archive/backup/DB19C_20210902_5_1_FULL tag=ORCL_FULL comment=NONE
channel c2: backup set complete, elapsed time: 00:00:15
channel c2: starting compressed full datafile backup set
channel c2: specifying datafile(s) in backup set
input datafile file number=00009 name=/u01/app/oracle/oradata/DB19C/pdb/system01.dbf
input datafile file number=00012 name=/u01/app/oracle/oradata/DB19C/pdb/users01.dbf
channel c2: starting piece 1 at 02-SEP-21
channel c1: finished piece 1 at 02-SEP-21
piece handle=/u01/Archive/backup/DB19C_20210902_6_1_FULL tag=ORCL_FULL comment=NONE
channel c1: backup set complete, elapsed time: 00:00:15
channel c2: finished piece 1 at 02-SEP-21
piece handle=/u01/Archive/backup/DB19C_20210902_7_1_FULL tag=ORCL_FULL comment=NONE
channel c2: backup set complete, elapsed time: 00:00:15
Finished backup at 02-SEP-21
Starting Control File and SPFILE Autobackup at 02-SEP-21
piece handle=/u01/app/oracle/product/19.0.0.0/db_1/dbs/c-2210260888-20210902-01
comment=NONE
Finished Control File and SPFILE Autobackup at 02-SEP-21
sql statement: alter system archive log current
Starting backup at 02-SEP-21
current log archived
channel c1: starting archived log backup set
channel c1: specifying archived log(s) in backup set
input archived log thread=1 sequence=6 RECID=1 STAMP=1082230431
channel c1: starting piece 1 at 02-SEP-21
channel c2: starting archived log backup set
channel c2: specifying archived log(s) in backup set
input archived log thread=1 sequence=7 RECID=2 STAMP=1082244970
input archived log thread=1 sequence=8 RECID=3 STAMP=1082245850
channel c2: starting piece 1 at 02-SEP-21
channel c2: finished piece 1 at 02-SEP-21
piece handle=/u01/Archive/backup/DB19C_20210902_10_1_ARCHIVE tag=ORCL_ARCHIVE
comment=NONE
channel c2: backup set complete, elapsed time: 00:00:01
channel c2: deleting archived log(s)
archived log file name=/u01/Archive/1_7_1082229722.arc RECID=2 STAMP=1082244970
archived log file name=/u01/Archive/1_8_1082229722.arc RECID=3 STAMP=1082245850
channel c2: starting archived log backup set
channel c2: specifying archived log(s) in backup set
input archived log thread=1 sequence=9 RECID=4 STAMP=1082245851
channel c2: starting piece 1 at 02-SEP-21
channel c2: finished piece 1 at 02-SEP-21
piece handle=/u01/Archive/backup/DB19C_20210902_11_1_ARCHIVE tag=ORCL_ARCHIVE
comment=NONE
channel c2: backup set complete, elapsed time: 00:00:01
channel c2: deleting archived log(s)
archived log file name=/u01/Archive/1_9_1082229722.arc RECID=4 STAMP=1082245851
channel c1: finished piece 1 at 02-SEP-21
piece handle=/u01/Archive/backup/DB19C_20210902_9_1_ARCHIVE tag=ORCL_ARCHIVE
comment=NONE
channel c1: backup set complete, elapsed time: 00:00:04
channel c1: deleting archived log(s)
archived log file name=/u01/Archive/1_6_1082229722.arc RECID=1 STAMP=1082230431
Finished backup at 02-SEP-21
Starting backup at 02-SEP-21
channel c1: starting full datafile backup set
channel c1: specifying datafile(s) in backup set
including current control file in backup set
channel c1: starting piece 1 at 02-SEP-21
channel c1: finished piece 1 at 02-SEP-21
piece handle=/u01/Archive/backup/DB19C_20210902_12_1_CONTROL tag=ORCL_CONTROL
comment=NONE
channel c1: backup set complete, elapsed time: 00:00:01
Finished backup at 02-SEP-21
Starting backup at 02-SEP-21
channel c1: starting full datafile backup set
channel c1: specifying datafile(s) in backup set
including current SPFILE in backup set
channel c1: starting piece 1 at 02-SEP-21
channel c1: finished piece 1 at 02-SEP-21
piece handle=/u01/Archive/backup/DB19C_20210902_13_1_spfile tag=SPFILE_PFILE comment=NONE
channel c1: backup set complete, elapsed time: 00:00:01
Finished backup at 02-SEP-21
Starting Control File and SPFILE Autobackup at 02-SEP-21
piece handle=/u01/app/oracle/product/19.0.0.0/db_1/dbs/c-2210260888-20210902-02
comment=NONE
Finished Control File and SPFILE Autobackup at 02-SEP-21
released channel: c1
released channel: c2
RMAN>
Step-2 Create same backup location on target database server and transfer all backup file to same
location
Create backup directory structure on Target database side
[oracle@node1 ~]$ hostname
node1.example.com
[oracle@node1 ~]$ mkdir -p /u01/Archive/backup
[oracle@node1 ~]$
Copy Backup files from source to target
[oracle@DB19C backup]$ pwd
/u01/Archive/backup
On Target Side
Step-3 Restore spfile from Backup and create pfile from spfile (Target Side)
Connect RMAN and start database using nomount on Target database.
INFORMATION: Here we started database in nomount using dummy parameter file, means you can
start database in mount mode without spfile/pfile.
Restore spfile from backup spfile
Shutdown database, Create pfile using spfile
RMAN> shutdown immediate;
Oracle instance shut down
RMAN>
Step-4 Create structure on target database same as source database using pfile
[oracle@node1 backup]$
[oracle@node1 backup]$ mkdir -p /u01/app/oracle/oradata/DB11G
[oracle@node1 backup]$ mkdir -p /u01/app/oracle/admin/DB11G/dpdump
[oracle@node1 backup]$ mkdir -p /u01/app/oracle/admin/DB11G/pfile
[oracle@node1 backup]$ mkdir -p /u01/app/oracle/admin/DB11G/adump
[oracle@node1 backup]$
Step-5 restore control file and database using RMAN (on target database)
Startup database in nomount mode
Connect RMAN and restore control file
Open database in mount mode and restore database
RMAN> alter database mount;
released channel: ORA_DISK_1
Statement processed
RMAN> restore database;
Starting restore at 03-SEP-21
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=45 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00003 to
/u01/app/oracle/oradata/DB19C/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00004 to
/u01/app/oracle/oradata/DB19C/undotbs01.dbf
channel ORA_DISK_1: reading from backup piece
/u01/Archive/backup/DB19C_20210902_3_1_FULL
channel ORA_DISK_1: piece
handle=/u01/Archive/backup/DB19C_20210902_3_1_FULL tag=ORCL_FULL
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to
/u01/app/oracle/oradata/DB19C/system01.dbf
channel ORA_DISK_1: restoring datafile 00007 to
/u01/app/oracle/oradata/DB19C/users01.dbf
channel ORA_DISK_1: reading from backup piece
/u01/Archive/backup/DB19C_20210902_2_1_FULL
channel ORA_DISK_1: piece
handle=/u01/Archive/backup/DB19C_20210902_2_1_FULL tag=ORCL_FULL
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:46
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00010 to
/u01/app/oracle/oradata/DB19C/pdb/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00011 to
/u01/app/oracle/oradata/DB19C/pdb/undotbs01.dbf
channel ORA_DISK_1: reading from backup piece
/u01/Archive/backup/DB19C_20210902_4_1_FULL
channel ORA_DISK_1: piece
handle=/u01/Archive/backup/DB19C_20210902_4_1_FULL tag=ORCL_FULL
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00005 to
/u01/app/oracle/oradata/DB19C/pdbseed/system01.dbf
channel ORA_DISK_1: restoring datafile 00008 to
/u01/app/oracle/oradata/DB19C/pdbseed/undotbs01.dbf
channel ORA_DISK_1: reading from backup piece
/u01/Archive/backup/DB19C_20210902_5_1_FULL
channel ORA_DISK_1: piece
handle=/u01/Archive/backup/DB19C_20210902_5_1_FULL tag=ORCL_FULL
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00006 to
/u01/app/oracle/oradata/DB19C/pdbseed/sysaux01.dbf
channel ORA_DISK_1: reading from backup piece
/u01/Archive/backup/DB19C_20210902_6_1_FULL
channel ORA_DISK_1: piece
handle=/u01/Archive/backup/DB19C_20210902_6_1_FULL tag=ORCL_FULL
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:15
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00009 to
/u01/app/oracle/oradata/DB19C/pdb/system01.dbf
channel ORA_DISK_1: restoring datafile 00012 to
/u01/app/oracle/oradata/DB19C/pdb/users01.dbf
channel ORA_DISK_1: reading from backup piece
/u01/Archive/backup/DB19C_20210902_7_1_FULL
channel ORA_DISK_1: piece
handle=/u01/Archive/backup/DB19C_20210902_7_1_FULL tag=ORCL_FULL
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:15
Finished restore at 03-SEP-2
RMAN>
RMAN> recover database;
Starting recover at 03-SEP-21
using channel ORA_DISK_1
starting media recovery
channel ORA_DISK_1: starting archived log restore to default
destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=8
channel ORA_DISK_1: reading from backup piece
/u01/Archive/backup/DB19C_20210902_10_1_ARCHIVE
channel ORA_DISK_1: piece
handle=/u01/Archive/backup/DB19C_20210902_10_1_ARCHIVE
tag=ORCL_ARCHIVE
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:15
archived log file name=/u01/Archive/1_8_1082229722.arc thread=1
sequence=8
channel ORA_DISK_1: starting archived log restore to default
destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=9
channel ORA_DISK_1: reading from backup piece
/u01/Archive/backup/DB19C_20210902_11_1_ARCHIVE
channel ORA_DISK_1: piece
handle=/u01/Archive/backup/DB19C_20210902_11_1_ARCHIVE
tag=ORCL_ARCHIVE
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
archived log file name=/u01/Archive/1_9_1082229722.arc thread=1
sequence=9
unable to find archived log
archived log thread=1 sequence=10
RMAN-00571:
===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS
===============
RMAN-00571:
===========================================================
RMAN-03002: failure of recover command at 09/03/2021 00:36:26
RMAN-06054: media recovery requesting unknown archived log for thread
1 with sequence 10 and starting SCN of 2287173
RMAN>
INFORMATION: We can ignore the error
RMAN> alter database open RESETLOGS;
Statement processed
RMAN> shutdown immediate;
database closed
database dismounted
Oracle instance shut down
RMAN>
Connect database and startup database normally
Step-6 Validation