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
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