Oracle Database Clone Using RMAN
Notes:
NOFILENAMECHECK: If you want the duplicate filenames to be the same as the target filenames, and if the databases are in different hosts, then you must specify NOFILENAMECHECK
- db_file_name_convert: This parameter specifies from where to where the datafiles should be cloned.
- log_file_name_convert:This parameter specifies from where to where the redo logfiles should be cloned
Database Clone Via RMAN Backup Sets:
step 1: take backup on source db
RMAN>
run
{
backup format '/u01/backup/%d_D_%T_%u_%s_p%p'
incremental level 0 database
current controlfile format '/u01/backup/%d_C_%T_%u'
spfile format '/u01/backup/%d_S_%T_%u'
plus archivelog format '/u01/backup/%d_A_%T_%u_%s_p%p';
}
step 2: copy backup from source to target
scp /u01/backup/* oracle@192.168.31.202:/u01/backup/
step 3: Create pfile from SOURCE database and send to TARGET database
SQL> create pfile from spfile;
scp initapple.ora oracle@202:$ORACLE_HOME/dbs/initorange.ora
step 4: Create adump,datafiles and logfiles location
Like:
mkdir -p /u02/oradata/ORANGE
mkdir -p /u02/oradata/ORANGE/adump
step 5: edit target pfile, change the dbname and locations
*.audit_file_dest=' /u02/oradata/ORANGE/adump'
*.db_file_name_convert=' /u02/oradata/APPLE',' /u02/oradata/ORANGE'
*.log_file_name_convert=' /u02/oradata/APPLE',' /u02/oradata/ORANGE'
*.control_files=' /u02/oradata/ORANGE/control01.ctl',' /u02/oradata/ORANGE/control02.ctl'
*.db_name='orange'
step 6: run bash_profile and start the target server
. .bash_profile
startup pfile nomount='$ORACLE_HOME/dbs/initorange.ora'
step 7: Connect as auxiliary database to create a new database in TARGET location
rman auxiliary /
duplicate database to orange backup location '/u01/backup/' nofilenamecheck;
step 8:Verify the status of TARGET database status
SQL> select name,open_mode from v$database;
Database Clone Via RMAN Active Database:
step 1: Verify the Environment variable in both sides
step 2: create password file in source and send to target and send to target:
orapwd file=$ORACLE_HOME/dbs/orapwprod password="abc123" format=12 force=y
scp orapwapple oracle@192.168.31.202:$ORACLE_HOME/dbs/orapworange
step 3: Create pfile from SOURCE database and send to TARGET database
SQL> create pfile from spfile;
scp initapple.ora oracle@202:$ORACLE_HOME/dbs/initorange.ora
step 4: Create adump,datafiles and logfiles location
Like:
mkdir -p /u02/oradata/ORANGE
mkdir -p /u02/oradata/ORANGE/adump
step 5: edit target pfile, change the dbname and locations
*.audit_file_dest=' /u02/oradata/ORANGE/adump'
*.db_file_name_convert=' /u02/oradata/APPLE',' /u02/oradata/ORANGE'
*.log_file_name_convert=' /u02/oradata/APPLE',' /u02/oradata/ORANGE'
*.control_files=' /u02/oradata/ORANGE/control01.ctl',' /u02/oradata/ORANGE/control02.ctl'
*.db_name='orange'
step 6: run bash_profile and start the target server
. .bash_profile
startup pfile nomount='$ORACLE_HOME/dbs/initorange.ora'
step 7: configure the listener and tnsnames entry in Both Servers
step 8: Connect as auxiliary database to create a new database in TARGET location
[oracle@clone:admin clone] rman target sys/oracle@prod auxiliary sys/oracle
RMAN> duplicate database to orange from active database nofilenamecheck;
step 9: Verify the status of TARGET database status
SQL> select name,open_mode from v$database;
Comments
Post a Comment