duplicate库:orace linux 6.6 oracle 11.2.0.4
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle11g/oradata/DB11/datafile/o1_mf_system_bcc2dp1d_.dbf
/u01/app/oracle11g/oradata/DB11/datafile/o1_mf_sysaux_bcc2dp2c_.dbf
/u01/app/oracle11g/oradata/DB11/datafile/o1_mf_users_bcc2dp33_.dbf
/u01/app/oracle11g/oradata/DB11/datafile/o1_mf_new_user_bcp23qgn_.dbf
/u01/app/oracle11g/oradata/DB11/datafile/undotbs2.dbf
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u01/app/oracle11g/oradata/DB11/onlinelog/o1_mf_3_bcc2hc3t_.log
/u01/app/oracle11g/oradata/DB11/onlinelog/o1_mf_2_bcc2hb1s_.log
/u01/app/oracle11g/oradata/DB11/onlinelog/o1_mf_1_bcc2h8rh_.log
SQL> show parameter compatible
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
compatible string 11.2.0.4.0
mkdir -p /u01/app/oradup/oradata/dupdb
mkdir -p /u01/app/oradup/admin/dupdb/adump
并授权
chown oradup:oinstall /u01/app/oradup/oradata/dupdb
3.参数文件内容如下:
db111@testdb11a /u01/app/oradup/product/11.2.0/dbs$ vi initdupdb.ora
*.compatible='11.2.0.4.0' ---这个参数两个数据库一定要一致
*.control_files='/u01/app/oradup/oradata/dupdb/control01.ctl'
*.db_block_size=8192*.db_name='dupdb'
#####下面的两个参数分别设定数据文件和日志文件切换后的路径
db_file_name_convert=('/u01/app/oracle11g/oradata/DB11/datafile/','/u01/app/oradup/oradata/dupdb')
log_file_name_convert=('/u01/app/oracle11g/oradata/DB11/datafile/','/u01/app/oradup/oradata/dupdb')
4.创建密码文件,密码一定要和主库的sys密码一致
db111@testdb11a /u01/app/oradup/product/11.2.0/dbs$ orapwd file=orapwdupdb password=oracle entries=3
三,启动duplicate数据库到nomount状态
db111@testdb11a /home/oracle$ export ORACLE_SID=dupdb
dupdb@testdb11a /home/oracle$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Fri May 22 05:16:22 2015
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 238034944 bytes
Fixed Size 2227136 bytes
Variable Size 180356160 bytes
Database Buffers 50331648 bytes
Redo Buffers 5120000 bytes
vi listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = dupdb)
(ORACLE_HOME =/u01/app/oracle/product/11.2.0)
(SID_NAME = dupdb)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.10)(PORT = 1521))
)
tnsnames.ora如下(注意:主库和duplicate库上都要修改):
db11 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.100)(PORT = 1526))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db11)
)
)
dupdb=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.10)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dupdb)
)
)
db111@testdb11a /home/oracle$ export ORACLE_SID=dupdb
dupdb@testdb11a /home/oracle$ rman target sys/oracle@db11 auxiliary sys/oracle@dupdb
Recovery Manager: Release 11.2.0.3.0 - Production on Fri May 22 05:41:34 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: DB11 (DBID=1400765095)
connected to auxiliary database: DUPDB (not mounted)
RMAN> duplicate target database to 'dupdb' from active database nofilenamecheck;
详细过程:
RMAN> duplicate target database to 'dupdb' from active database nofilenamecheck;
Starting Duplicate Db at 22-MAY-15
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
contents of Memory Script:
{
sql clone "create spfile from memory";
}
executing Memory Script
sql statement: create spfile from memory
contents of Memory Script:
{
shutdown clone immediate;
startup clone nomount;
}
executing Memory Script
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 217157632 bytes
Fixed Size 2251816 bytes
Variable Size 159384536 bytes
Database Buffers 50331648 bytes
Redo Buffers 5189632 bytes
contents of Memory Script:
{
sql clone "alter system set db_name =
''DB11'' comment=
''Modified by RMAN duplicate'' scope=spfile";
sql clone "alter system set db_unique_name =
''DUPDB'' comment=
''Modified by RMAN duplicate'' scope=spfile";
shutdown clone immediate;
startup clone force nomount
backup as copy current controlfile auxiliary format '/u01/app/oradup/oradata/dupdb/control01.ctl';
alter clone database mount;
}
executing Memory Script
sql statement: alter system set db_name = ''DB11'' comment= ''Modified by RMAN duplicate'' scope=spfile
sql statement: alter system set db_unique_name = ''DUPDB'' comment= ''Modified by RMAN duplicate'' scope=spfile
Oracle instance shut down
Oracle instance started
Total System Global Area 217157632 bytes
Fixed Size 2251816 bytes
Variable Size 159384536 bytes
Database Buffers 50331648 bytes
Redo Buffers 5189632 bytes
Starting backup at 22-MAY-15
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=41 device type=DISK
channel ORA_DISK_1: starting datafile copy
copying current control file
output file name=/u01/app/oracle11g/product/11.2.0/dbhome_1/dbs/snapcf_db11.f tag=TAG20150224T154659 RECID=13 STAMP=872524019
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 22-MAY-15
database mounted
contents of Memory Script:
{
set newname for datafile 1 to
"/u01/app/oradup/oradata/dupdbo1_mf_system_bcc2dp1d_.dbf";
set newname for datafile 2 to
"/u01/app/oradup/oradata/dupdbo1_mf_sysaux_bcc2dp2c_.dbf";
set newname for datafile 4 to
"/u01/app/oradup/oradata/dupdbo1_mf_users_bcc2dp33_.dbf";
set newname for datafile 5 to
"/u01/app/oradup/oradata/dupdbo1_mf_new_user_bcp23qgn_.dbf";
set newname for datafile 6 to
"/u01/app/oradup/oradata/dupdbundotbs2.dbf";
backup as copy reuse
datafile 1 auxiliary format
"/u01/app/oradup/oradata/dupdbo1_mf_system_bcc2dp1d_.dbf" datafile
2 auxiliary format
"/u01/app/oradup/oradata/dupdbo1_mf_sysaux_bcc2dp2c_.dbf" datafile
4 auxiliary format
"/u01/app/oradup/oradata/dupdbo1_mf_users_bcc2dp33_.dbf" datafile
5 auxiliary format
"/u01/app/oradup/oradata/dupdbo1_mf_new_user_bcp23qgn_.dbf" datafile
6 auxiliary format
"/u01/app/oradup/oradata/dupdbundotbs2.dbf" ;
sql 'alter system archive log current';
}
executing Memory Script
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting backup at 22-MAY-15
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00001 name=/u01/app/oracle11g/oradata/DB11/datafile/o1_mf_system_bcc2dp1d_.dbf
output file name=/u01/app/oradup/oradata/dupdbo1_mf_system_bcc2dp1d_.dbf tag=TAG20150224T154706
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:02:40
channel ORA_DISK_1: starting datafile copy
input datafile file number=00002 name=/u01/app/oracle11g/oradata/DB11/datafile/o1_mf_sysaux_bcc2dp2c_.dbf
output file name=/u01/app/oradup/oradata/dupdbo1_mf_sysaux_bcc2dp2c_.dbf tag=TAG20150224T154706
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:06
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=/u01/app/oracle11g/oradata/DB11/datafile/o1_mf_users_bcc2dp33_.dbf
output file name=/u01/app/oradup/oradata/dupdbo1_mf_users_bcc2dp33_.dbf tag=TAG20150224T154706
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:16
channel ORA_DISK_1: starting datafile copy
input datafile file number=00005 name=/u01/app/oracle11g/oradata/DB11/datafile/o1_mf_new_user_bcp23qgn_.dbf
output file name=/u01/app/oradup/oradata/dupdbo1_mf_new_user_bcp23qgn_.dbf tag=TAG20150224T154706
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile file number=00006 name=/u01/app/oracle11g/oradata/DB11/datafile/undotbs2.dbf
output file name=/u01/app/oradup/oradata/dupdbundotbs2.dbf tag=TAG20150224T154706
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:26
Finished backup at 22-MAY-15
sql statement: alter system archive log current
contents of Memory Script:
{
backup as copy reuse
archivelog like "/u01/app/oracle11g/product/11.2.0/dbhome_1/dbs/arch1_84_868943464.dbf" auxiliary format
"/u01/app/oradup/product/11.2.0/dbs/arch1_84_868943464.dbf" ;
catalog clone archivelog "/u01/app/oradup/product/11.2.0/dbs/arch1_84_868943464.dbf";
switch clone datafile all;
}
executing Memory Script
Starting backup at 22-MAY-15
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log copy
input archived log thread=1 sequence=84 RECID=27 STAMP=872524304
output file name=/u01/app/oradup/product/11.2.0/dbs/arch1_84_868943464.dbf RECID=0 STAMP=0
channel ORA_DISK_1: archived log copy complete, elapsed time: 00:00:03
Finished backup at 22-MAY-15
cataloged archived log
archived log file name=/u01/app/oradup/product/11.2.0/dbs/arch1_84_868943464.dbf RECID=27 STAMP=880393331
datafile 1 switched to datafile copy
input datafile copy RECID=13 STAMP=880393332 file name=/u01/app/oradup/oradata/dupdbo1_mf_system_bcc2dp1d_.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=14 STAMP=880393332 file name=/u01/app/oradup/oradata/dupdbo1_mf_sysaux_bcc2dp2c_.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=15 STAMP=880393332 file name=/u01/app/oradup/oradata/dupdbo1_mf_users_bcc2dp33_.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=16 STAMP=880393332 file name=/u01/app/oradup/oradata/dupdbo1_mf_new_user_bcp23qgn_.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=17 STAMP=880393332 file name=/u01/app/oradup/oradata/dupdbundotbs2.dbf
contents of Memory Script:
{
set until scn 1797603;
recover
clone database
delete archivelog
;
}
executing Memory Script
executing command: SET until clause
Starting recover at 22-MAY-15
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=18 device type=DISK
starting media recovery
archived log for thread 1 with sequence 84 is already on disk as file /u01/app/oradup/product/11.2.0/dbs/arch1_84_868943464.dbf
archived log file name=/u01/app/oradup/product/11.2.0/dbs/arch1_84_868943464.dbf thread=1 sequence=84
media recovery complete, elapsed time: 00:00:02
Finished recover at 22-MAY-15
Oracle instance started
Total System Global Area 217157632 bytes
Fixed Size 2251816 bytes
Variable Size 159384536 bytes
Database Buffers 50331648 bytes
Redo Buffers 5189632 bytes
contents of Memory Script:
{
sql clone "alter system set db_name =
''DUPDB'' comment=
''Reset to original value by RMAN'' scope=spfile";
sql clone "alter system reset db_unique_name scope=spfile";
shutdown clone immediate;
startup clone nomount;
}
executing Memory Script
sql statement: alter system set db_name = ''DUPDB'' 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 217157632 bytes
Fixed Size 2251816 bytes
Variable Size 159384536 bytes
Database Buffers 50331648 bytes
Redo Buffers 5189632 bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "DUPDB" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( '/u01/app/oracle11g/oradata/DB11/onlinelog/o1_mf_1_bcc2h8rh_.log' ) SIZE 50 M REUSE,
GROUP 2 ( '/u01/app/oracle11g/oradata/DB11/onlinelog/o1_mf_2_bcc2hb1s_.log' ) SIZE 50 M REUSE,
GROUP 3 ( '/u01/app/oracle11g/oradata/DB11/onlinelog/o1_mf_3_bcc2hc3t_.log' ) SIZE 50 M REUSE
DATAFILE
'/u01/app/oradup/oradata/dupdbo1_mf_system_bcc2dp1d_.dbf'
CHARACTER SET ZHS16GBK
contents of Memory Script:
{
set newname for tempfile 1 to
"/u01/app/oradup/oradata/dupdbo1_mf_temp_bcc2hld2_.tmp";
switch clone tempfile all;
catalog clone datafilecopy "/u01/app/oradup/oradata/dupdbo1_mf_sysaux_bcc2dp2c_.dbf",
"/u01/app/oradup/oradata/dupdbo1_mf_users_bcc2dp33_.dbf",
"/u01/app/oradup/oradata/dupdbo1_mf_new_user_bcp23qgn_.dbf",
"/u01/app/oradup/oradata/dupdbundotbs2.dbf";
switch clone datafile all;
}
executing Memory Script
executing command: SET NEWNAME
renamed tempfile 1 to /u01/app/oradup/oradata/dupdbo1_mf_temp_bcc2hld2_.tmp in control file
cataloged datafile copy
datafile copy file name=/u01/app/oradup/oradata/dupdbo1_mf_sysaux_bcc2dp2c_.dbf RECID=1 STAMP=880393355
cataloged datafile copy
datafile copy file name=/u01/app/oradup/oradata/dupdbo1_mf_users_bcc2dp33_.dbf RECID=2 STAMP=880393355
cataloged datafile copy
datafile copy file name=/u01/app/oradup/oradata/dupdbo1_mf_new_user_bcp23qgn_.dbf RECID=3 STAMP=880393355
cataloged datafile copy
datafile copy file name=/u01/app/oradup/oradata/dupdbundotbs2.dbf RECID=4 STAMP=880393355
datafile 2 switched to datafile copy
input datafile copy RECID=1 STAMP=880393355 file name=/u01/app/oradup/oradata/dupdbo1_mf_sysaux_bcc2dp2c_.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=2 STAMP=880393355 file name=/u01/app/oradup/oradata/dupdbo1_mf_users_bcc2dp33_.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=3 STAMP=880393355 file name=/u01/app/oradup/oradata/dupdbo1_mf_new_user_bcp23qgn_.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=4 STAMP=880393355 file name=/u01/app/oradup/oradata/dupdbundotbs2.dbf
contents of Memory Script:
{
Alter clone database open resetlogs;
}
executing Memory Script
database opened
Finished Duplicate Db at 22-MAY-15
RMAN>
RMAN>
RMAN>
RMAN> exit
Recovery Manager complete.
[oradup@testdb11a ~]$
[oradup@testdb11a ~]$
[oradup@testdb11a ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Fri May 22 17:47:11 2015
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name string
db_file_name_convert string /u01/app/oracle11g/oradata/DB1
1/datafile/, /u01/app/oradup/o
radata/dupdb
db_name string DUPDB
db_unique_name string DUPDB
global_names boolean FALSE
instance_name string dupdb
lock_name_space string
log_file_name_convert string /u01/app/oracle11g/oradata/DB1
1/datafile/, /u01/app/oradup/o
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
radata/dupdb
processor_group_name string
service_names string DUPDB
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
dupdb OPEN
RMAN> duplicate target database to 'dupdb' from active database;
Starting Duplicate Db at 22-MAY-15
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=27 device type=DISK
contents of Memory Script:
{
sql clone "create spfile from memory";
}
executing Memory Script
sql statement: create spfile from memory
contents of Memory Script:
{
shutdown clone immediate;
startup clone nomount;
}
executing Memory Script
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started
Total System Global Area 238034944 bytes
Fixed Size 2227136 bytes
Variable Size 180356160 bytes
Database Buffers 50331648 bytes
Redo Buffers 5120000 bytes
contents of Memory Script:
{
sql clone "alter system set db_name =
''DB11'' comment=
''Modified by RMAN duplicate'' scope=spfile";
sql clone "alter system set db_unique_name =
''DUPDB'' comment=
''Modified by RMAN duplicate'' scope=spfile";
shutdown clone immediate;
startup clone force nomount
backup as copy current controlfile auxiliary format '/u01/app/oracle/oradata/dupdb/control01.ctl';
alter clone database mount;
}
executing Memory Script
sql statement: alter system set db_name = ''DB11'' comment= ''Modified by RMAN duplicate'' scope=spfile
sql statement: alter system set db_unique_name = ''DUPDB'' comment= ''Modified by RMAN duplicate'' scope=spfile
Oracle instance shut down
Oracle instance started
Total System Global Area 238034944 bytes
Fixed Size 2227136 bytes
Variable Size 180356160 bytes
Database Buffers 50331648 bytes
Redo Buffers 5120000 bytes
Starting backup at 22-MAY-15
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=39 device type=DISK
channel ORA_DISK_1: starting datafile copy
copying current control file
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 05/22/2015 05:46:23
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 05/22/2015 05:46:23
ORA-17629: Cannot connect to the remote database server
ORA-17627: ORA-12154: TNS:could not resolve the connect identifier specified
ORA-17629: Cannot connect to the remote database server
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 05/22/2015 06:03:11
RMAN-05501: aborting duplication of target database
RMAN-03015: error occurred in stored script Memory Script
RMAN-06136: ORACLE error from auxiliary database: ORA-00201: control file version 11.2.0.4.0 incompatible with ORACLE version 11.2.0.0.0
ORA-00202: control file: '/u01/app/oracle/oradata/dupdb/control01.ctl'
数据库软件版本必须一致,至少是compatible参数是一致的
3.
database mounted
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 05/22/2015 17:28:46
RMAN-05501: aborting duplication of target database
RMAN-05001: auxiliary file name /u01/app/oracle11g/oradata/DB11/onlinelog/o1_mf_3_bcc2hc3t_.log conflicts with a file used by the target database
RMAN-05001: auxiliary file name /u01/app/oracle11g/oradata/DB11/onlinelog/o1_mf_2_bcc2hb1s_.log conflicts with a file used by the target database
RMAN-05001: auxiliary file name /u01/app/oracle11g/oradata/DB11/onlinelog/o1_mf_1_bcc2h8rh_.log conflicts with a file used by the target database