Friday, July 7, 2017

Restore Oracle DB to Same server with Different Name ( Duplicate )

1.        Create a init file for the new database  (DUP)
 initdup.ora
SQL> create pfile='/tmp/initDUP.ora' from spfile;
Change the highlighted parameters more importantly
*.audit_file_dest='/vol0/app/oracle/admin/DUP/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/vol0/app/oracle/oradata/DUP/control01.ctl','/vol0/app/oracle/oradata/DUP/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='DUP'
*.diagnostic_dest='/vol0/app/oracle'
*.java_pool_size=0
*.log_archive_dest_1='LOCATION=/vol0/app/archive_dup'
#*.memory_target=417333248
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
               


2.       Create the password file

cp orapwORIG orapwDUP

3.       Add a TNS Entry

DUP =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.2.178)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = DUP)
    )
  )

4.       Add listener
             
     Run netmgr and  add database dup




5.       Take a Rman backup of ORIG database (OLD)

RMAN> backup database;

6.       Bring the DUP database to nomount state using the created pfile.

SQL> startup nomount pfile='/tmp/initdup.ora';

7.       rman target sys/oracle@ORIG AUXILIARY sys/oracle@DUP    -- Execute this command from the dup env

RMAN-00554: initialization of internal recovery manager package failed
RMAN-04006: error from auxiliary database: ORA-12528: TNS:listener: all appropriate instances are blocking new connections

Solution

Added the highlighted parameter…. Worked fine for me.. Awesome


DUP =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.20.2.178)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = DUP)
     (UR = A)
    )
  )


8.       duplicating the database


RMAN>

run
{
set newname for datafile 1 to '/vol0/app/oracle/oradata/DUP/system01.dbf';
set newname for datafile 2 to '/vol0/app/oracle/oradata/DUP/sysaux01.dbf';
set newname for datafile 3 to '/vol0/app/oracle/oradata/DUP/undotbs01.dbf';
set newname for datafile 4 to '/vol0/app/oracle/oradata/DUP/users01.dbf';
set newname for datafile 5 to '/vol0/app/oracle/oradata/DUP/tbs_hasaral01.dbf   ';

duplicate target database to DUP
pfile=/tmp/initDUP.ora
nofilenamecheck

logfile group 1 ('/vol0/app/oracle/oradata/DUP/redo01.log') size 50M,
            group 2 ('/vol0/app/oracle/oradata/DUP/redo02.log') size 50M,
            group 3 ('/vol0/app/oracle/oradata/DUP/redo03.log') size 50M;
}

9.       add temp tablespace
  
alter TABLESPACE temp add TEMPFILE '/vol0/app/oracle/oradata/DUP/temp01.dbf' size 10M autoextend off;

alter tablespace temp drop tempfile '/vol0/app/oracle/oradata/ORIG/temp01.dbf';


10.SQL> create spfile from pfile='/tmp/initDUP.ora';

No comments:

Post a Comment