Thursday, 16 March 2017

RMAN ACTIVE DATABSE DUPLICATION On NETWORK SERVER

Creation of Database same as it in source DB by using Active database duplication.

 Prerequisite:-
1. Oracle_home is already created.
2. Oracle Binary already copied.

 SOurce DB:- Prod(192.168.1.101)
Target DB:-Test(192.168.1.102)

 On source DB perform.

 [oracle@Prod 11.2.0]$ . oraenv
ORACLE_SID = [oracle] ? Prod
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 is /u01/app/oracle
[oracle@Prod 11.2.0]$ sqlplus / as sysdba

 SQL> select name from V$database;

 NAME
---------
Prod


SQL> select name from V$controlfile;

 NAME
--------------------------------------------------------------------------------
/u02/Prod/redologcontrol/control01.ctl
/u02/Prod/redologcontrol/control02.ctl

SQL> select member from V$logfile;

 MEMBER
--------------------------------------------------------------------------------
/u02/Prod/redologcontrol/redo01.log
/u02/Prod/redologcontrol/redo02.log
/u02/Prod/redologcontrol/redo03.log

 SQL> select name from V$datafile;

 NAME
--------------------------------------------------------------------------------
/u05/Prod/oradata/Prod/system01.dbf
/u05/Prod/oradata/Prod/sysaux01.dbf
/u05/Prod/oradata/Prod/undotbs01.dbf
/u05/Prod/oradata/Prod/users01.dbf

 SQL> show parameter pfile

 NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u01/app/oracle/product/11.2.0
                                                 /dbhome_1/dbs/spfileProd.ora
SQL> create pfile from spfile;

 File created.

 SQL> exit

[oracle@Prod 11.2.0]$ cd /u01/app/oracle/product/11.2.0/dbhome_1/dbs/
[oracle@Prod dbs]$ scp initProd.ora oracle@192.168.1.102:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/
oracle@192.168.1.102's password:
initProd.ora                                                   100%  973     1.0KB/s   00:00   
[oracle@Prod dbs]$


On TARGET DB
===========
1. Create all the directories structure

mkdir -p /u02/Test/redologcontrol  ---- For Redo log file and Control file
mkdir -p /u03/Test/archivelog   -- for archive log file
mkdir -p /u04/Test/backup    -- for Backup
mkdir -p /u05/Test/oradata/    -- for database file
chown -R oracle:oinstall /u02 /u03 /u04 /u05
chmod -R 0775 /u01 /u02 /u03 /u04 /u05
mkdir -p /u01/app/oracle/admin/Test/adump
mkdir -p /u01/app/oracle/flash_recovery_area/


2. change the Prod database parameter file according to Test database.



[oracle@Test ~]$ cd /u01/app/oracle/product/11.2.0/dbhome_1/dbs/

 [oracle@Test dbs]$ cp initProd.ora initTest.ora
 [oracle@Test dbs]$ rm -r *Prod*---------------------TO delet file related to Prod DB

 3.Edit initTest.ora file

*.audit_file_dest='/u01/app/oracle/admin/Test/adump'
*.control_files='/u02/Test/redologcontrol/control01.ctl','/u02/Test/redologcontrol/control02.ctl'
*.db_name='Test'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=TestXDB)'
*.log_archive_dest_1='LOCATION=/u03/Test/archivelog'
DB_FILE_name_CONVERT=('/u05/Prod/oradata/Prod', '/u05/Test/oradata')
LOG_FILE_NAME_CONVERT=( '/u02/Prod/redologcontrol','/u02/Test/redologcontrol')

 4. create sid and password file

 [oracle@Test admin]$ export oracle_sid=Test
[oracle@Test admin]$ . oraenv
ORACLE_SID = [oracle] ? Test
ORACLE_HOME = [/home/oracle] ? /u01/app/oracle/product/11.2.0/dbhome_1/
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1/ is /u01/app/oracle

 SCP password file from source /u01/app/oracle/product/11.2.0/dbhome_1/dbs/ to target server /u01/app/oracle/product/11.2.0/dbhome_1/dbs/

 $mv orapwProd orapwwTest

 5.>Startup database in nomount
 [oracle@Test admin]$ sqlplus /as sysdba

Connected to an idle instance.

 SQL> startup nomount
ORACLE instance started.

Total System Global Area  828608512 bytes
Fixed Size                  1339684 bytes
Variable Size             490737372 bytes
Database Buffers          331350016 bytes
Redo Buffers                5181440 bytes
SQL>

 6>Creation of Listener .

 cle@Test bin]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1/bin
[oracle@Test bin]$ netmgr

7> startup listener

[oracle@Test admin]$ lsnrctl start

8>Make entries of Test and Prod databases in tnsnames.ora file
[oracle@Test admin]$ vi tnsnames.ora
[oracle@Test admin]$ cat tnsnames.ora
Test =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = Test)
    )
  )

 Prod =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.101)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = Prod)
    )
  )

9>Make the entry of Test database in soure DB (Prod)
[oracle@Prod admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

 Test =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = Test)
    )
  )

 10>Check command tnsping on both the server.

 11.Run RMAN Active duplication command

 [oracle@Test admin]$ rman target sys/oracle@Prod auxiliary /

 Recovery Manager: Release 11.2.0.1.0 - Production on Fri Oct 2 11:09:22 2015

 Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

 connected to target database: Prod (DBID=1314861233)
connected to auxiliary database (not started)


RMAN> DUPLICATE TARGET DATABASE  TO 'Test' FROM ACTIVE DATABASE ;

 Starting Duplicate Db at .......
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=19 device type=DISK
.
.
.
.
executing Memory Script

 database dismounted
Oracle instance shut down

 connected to auxiliary database (not started)
Oracle instance started

 Total System Global Area     828608512 bytes

 Fixed Size                     1339684 bytes
Variable Size                490737372 bytes
Database Buffers             331350016 bytes
Redo Buffers                   5181440 bytes

 sql statement: alter system set  db_name =  ''Test'' comment= ''Reset to original value by RMAN'' scope=spfile

 sql statement: alter system reset  db_unique_name scope=spfile

 Oracle instance shut down

 connected to auxiliary database (not started)
Oracle instance started

 Total System Global Area     828608512 bytes

 Fixed Size                     1339684 bytes
Variable Size                490737372 bytes
Database Buffers             331350016 bytes
Redo Buffers                   5181440 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "Test" RESETLOGS ARCHIVELOG
  MAXLOGFILES     16
  MAXLOGMEMBERS      3
  MAXDATAFILES      100
  MAXINSTANCES     8
  MAXLOGHISTORY      292
 LOGFILE
  GROUP  1 ( '/u02/Test/redologcontrol/redo01.log' ) SIZE 50 M  REUSE,
  GROUP  2 ( '/u02/Test/redologcontrol/redo02.log' ) SIZE 50 M  REUSE,
  GROUP  3 ( '/u02/Test/redologcontrol/redo03.log' ) SIZE 50 M  REUSE
 DATAFILE
  '/u05/Test/oradata/system01.dbf'
 CHARACTER SET WE8MSWIN1252


contents of Memory Script:
{
   set newname for tempfile  1 to
 "/u05/Test/oradata/temp01.dbf";
   switch clone tempfile all;
   catalog clone datafilecopy  "/u05/Test/oradata/sysaux01.dbf",
 "/u05/Test/oradata/undotbs01.dbf",
 "/u05/Test/oradata/users01.dbf";
   switch clone datafile all;
}
executing Memory Script

 executing command: SET NEWNAME

 renamed tempfile 1 to /u05/Test/oradata/temp01.dbf in control file

 cataloged datafile copy
datafile copy file name=/u05/Test/oradata/sysaux01.dbf RECID=1 STAMP=892036279
cataloged datafile copy
datafile copy file name=/u05/Test/oradata/undotbs01.dbf RECID=2 STAMP=892036279
cataloged datafile copy
datafile copy file name=/u05/Test/oradata/users01.dbf RECID=3 STAMP=892036279

 datafile 2 switched to datafile copy
input datafile copy RECID=1 STAMP=892036279 file name=/u05/Test/oradata/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=2 STAMP=892036279 file name=/u05/Test/oradata/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=3 STAMP=892036279 file name=/u05/Test/oradata/users01.dbf

 contents of Memory Script:
{
   Alter clone database open resetlogs;
}
executing Memory Script

database opened
Finished Duplicate Db at .......

 RMAN>

 RMAN>

 RMAN> exit

 12> Check location of Logfile,archive log file,data file,control file and redo log file

 Recovery Manager complete.
[oracle@Test admin]$ . oraenv
ORACLE_SID = [Test] ?
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 is /u01/app/oracle
[oracle@Test admin]$ sqplus
bash: sqplus: command not found
[oracle@Test admin]$ sqlplus

 Enter user-name: /as sysdba

 Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

 SQL> select name,open_mode from V$database;

 NAME      OPEN_MODE
--------- --------------------
Test      READ WRITE

 SQL> select name from V$datafile;

 NAME
--------------------------------------------------------------------------------
/u05/Test/oradata/system01.dbf
/u05/Test/oradata/sysaux01.dbf
/u05/Test/oradata/undotbs01.dbf
/u05/Test/oradata/users01.dbf

 SQL> select name from V$controlfile;

 NAME
--------------------------------------------------------------------------------
/u02/Test/redologcontrol/control01.ctl
/u02/Test/redologcontrol/control02.ctl

 SQL> select member from V$logfile;

 MEMBER
--------------------------------------------------------------------------------
/u02/Test/redologcontrol/redo03.log
/u02/Test/redologcontrol/redo02.log
/u02/Test/redologcontrol/redo01.log

 SQL>    
SQL> select name from V$archived_log;

 NAME
--------------------------------------------------------------------------------
/u03/Test/archivelog/1_1_892036280.dbf

 SQL> show parameter archive

 NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1                   string      LOCATION=/u03/Test/archivelog
log_archive_format                   string      %t_%s_%r.dbf

No comments:

Post a Comment