使用duplicate target database ... from active database复制数据库

source db:ora11
auxiliary db:dupdb

1.修改监听文件,静态注册监听

SID_LIST_ORA11 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ora11)
(ORACLE_HOME = /u11/app/oracle/product/11.2./dbhome_1)
(SID_NAME =ora11)
)
(SID_DESC =
(GLOBAL_DBNAME = dupdb)
(ORACLE_HOME = /u11/app/oracle/product/11.2./dbhome_1)
(SID_NAME =dupdb)
)
)

2.修改tnsnames.ora文件

ORA11 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = mytest)(PORT = ))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora11)
)
) DUPDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = mytest)(PORT = ))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dupdb)
)
)

3.为duplicate 数据库创建参数文件initdupdb.ora

db_name=dupdb

4.创建口令文件

$ orapwd password=<sys_pwd> file=orapwtest1 entries=

5.启动auxiliary 库

$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1. Production on Fri Jun  :: 

Copyright (c) , , Oracle.  All rights reserved.

SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup nomount pfile='/u11/app/oracle/product/11.2.0/dbhome_1/dbs/initdupdb.ora';
ORACLE instance started. Total System Global Area bytes
Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes
SQL>

6.启动rman

$ rman 

Recovery Manager: Release 11.2.0.1. - Production on Fri Jun  :: 

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

RMAN> connect target sys/oracle@ora11

connected to target database: ORA11 (DBID=)

RMAN> connect auxiliary /

connected to auxiliary database: DUPDB (not mounted)

RMAN> 

7.执行duplicate target database ... from active database 命令开始duplicate操作

RMAN> duplicate target database to dupdb from active database
> spfile
> parameter_value_convert='/u11/app/oracle/oradata/ora11','/u11/app/oracle/oradata/dupdb'
> set
> log_file_name_convert='/u11/app/oracle/oradata/ora11','/u11/app/oracle/oradata/dupdb'
> db_file_name_convert='/u11/app/oracle/oradata/ora11','/u11/app/oracle/oradata/dupdb'; Starting Duplicate Db at -JUN- ::
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID= device type=DISK contents of Memory Script:
{
backup as copy reuse
targetfile '/u11/app/oracle/product/11.2.0/dbhome_1/dbs/spfileora11.ora' auxiliary format
'/u11/app/oracle/product/11.2.0/dbhome_1/dbs/spfiledupdb.ora' ;
sql clone "alter system set spfile= ''/u11/app/oracle/product/11.2.0/dbhome_1/dbs/spfiledupdb.ora''";
}
executing Memory Script Starting backup at -JUN- ::
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID= device type=DISK
Finished backup at -JUN- :: sql statement: alter system set spfile= ''/u11/app/oracle/product/11.2./dbhome_1/dbs/spfiledupdb.ora'' contents of Memory Script:
{
sql clone "alter system set db_name =
''DUPDB'' comment=
''duplicate'' scope=spfile";
sql clone "alter system set control_files =
''/u11/app/oracle/oradata/dupdb/control01.ctl'', ''/u11/app/oracle/oradata/dupdb/control02.ctl'' comment=
'''' scope=spfile";
sql clone "alter system set log_file_name_convert =
''/u11/app/oracle/oradata/ora11'', ''/u11/app/oracle/oradata/dupdb'' comment=
'''' scope=spfile";
shutdown clone immediate;
startup clone nomount;
}
executing Memory Script sql statement: alter system set db_name = ''DUPDB'' comment= ''duplicate'' scope=spfile sql statement: alter system set control_files = ''/u11/app/oracle/oradata/dupdb/control01.ctl'', ''/u11/app/oracle/oradata/dupdb/control02.ctl'' comment= '''' scope=spfile sql statement: alter system set log_file_name_convert = ''/u11/app/oracle/oradata/ora11'', ''/u11/app/oracle/oradata/dupdb'' comment= '''' scope=spfile Oracle instance shut down connected to auxiliary database (not started)
Oracle instance started Total System Global Area bytes Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes contents of Memory Script:
{
sql clone "alter system set db_name =
''ORA11'' 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 '/u11/app/oracle/oradata/dupdb/control01.ctl';
restore clone controlfile to '/u11/app/oracle/oradata/dupdb/control02.ctl' from
'/u11/app/oracle/oradata/dupdb/control01.ctl';
alter clone database mount;
}
executing Memory Script sql statement: alter system set db_name = ''ORA11'' 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 bytes Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes Starting backup at -JUN- ::
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
copying current control file
output file name=/u11/app/oracle/product/11.2./dbhome_1/dbs/snapcf_ora11.f tag=TAG20150626T141645 RECID= STAMP=
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
Finished backup at -JUN- :: Starting restore at -JUN- ::
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID= device type=DISK channel ORA_AUX_DISK_1: copied control file copy
Finished restore at -JUN- :: database mounted contents of Memory Script:
{
set newname for datafile to
"/u11/app/oracle/oradata/dupdb/system01.dbf";
set newname for datafile to
"/u11/app/oracle/oradata/dupdb/sysaux01.dbf";
set newname for datafile to
"/u11/app/oracle/oradata/dupdb/yb01.dbf";
set newname for datafile to
"/u11/app/oracle/oradata/dupdb/users01.dbf";
set newname for datafile to
"/u11/app/oracle/oradata/dupdb/example01.dbf";
set newname for datafile to
"/u11/app/oracle/oradata/dupdb/UNDOTBS02.dbf";
backup as copy reuse
datafile auxiliary format
"/u11/app/oracle/oradata/dupdb/system01.dbf" datafile
auxiliary format
"/u11/app/oracle/oradata/dupdb/sysaux01.dbf" datafile
auxiliary format
"/u11/app/oracle/oradata/dupdb/yb01.dbf" datafile
auxiliary format
"/u11/app/oracle/oradata/dupdb/users01.dbf" datafile
auxiliary format
"/u11/app/oracle/oradata/dupdb/example01.dbf" datafile
auxiliary format
"/u11/app/oracle/oradata/dupdb/UNDOTBS02.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 executing command: SET NEWNAME Starting backup at -JUN- ::
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number= name=/u11/app/oracle/oradata/ora11/system01.dbf
output file name=/u11/app/oracle/oradata/dupdb/system01.dbf tag=TAG20150626T141655
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
input datafile file number= name=/u11/app/oracle/oradata/ora11/sysaux01.dbf
output file name=/u11/app/oracle/oradata/dupdb/sysaux01.dbf tag=TAG20150626T141655
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
input datafile file number= name=/u11/app/oracle/oradata/ora11/example01.dbf
output file name=/u11/app/oracle/oradata/dupdb/example01.dbf tag=TAG20150626T141655
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
input datafile file number= name=/u11/app/oracle/oradata/ora11/UNDOTBS02.dbf
output file name=/u11/app/oracle/oradata/dupdb/UNDOTBS02.dbf tag=TAG20150626T141655
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
input datafile file number= name=/u11/app/oracle/oradata/ora11/yb01.dbf
output file name=/u11/app/oracle/oradata/dupdb/yb01.dbf tag=TAG20150626T141655
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
channel ORA_DISK_1: starting datafile copy
input datafile file number= name=/u11/app/oracle/oradata/ora11/users01.dbf
output file name=/u11/app/oracle/oradata/dupdb/users01.dbf tag=TAG20150626T141655
channel ORA_DISK_1: datafile copy complete, elapsed time: ::
Finished backup at -JUN- :: sql statement: alter system archive log current contents of Memory Script:
{
backup as copy reuse
archivelog like "/u11/app/oracle/fra/ORA11/archivelog/2015_06_26/o1_mf_1_98_brsvojfz_.arc" auxiliary format
"/u11/app/oracle/fra/DUPDB/archivelog/2015_06_26/o1_mf_1_98_%u_.arc" ;
catalog clone recovery area;
switch clone datafile all;
}
executing Memory Script Starting backup at -JUN- ::
using channel ORA_DISK_1
channel ORA_DISK_1: starting archived log copy
input archived log thread= sequence= RECID= STAMP=
output file name=/u11/app/oracle/fra/DUPDB/archivelog/2015_06_26/o1_mf_1_98_4mqafc9h_.arc RECID= STAMP=
channel ORA_DISK_1: archived log copy complete, elapsed time: ::
Finished backup at -JUN- :: searching for all files in the recovery area List of Files Unknown to the Database
=====================================
File Name: /u11/app/oracle/fra/DUPDB/archivelog/2015_06_26/o1_mf_1_98_4mqafc9h_.arc
cataloging files...
cataloging done List of Cataloged Files
=======================
File Name: /u11/app/oracle/fra/DUPDB/archivelog/2015_06_26/o1_mf_1_98_4mqafc9h_.arc datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u11/app/oracle/oradata/dupdb/system01.dbf
datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u11/app/oracle/oradata/dupdb/sysaux01.dbf
datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u11/app/oracle/oradata/dupdb/yb01.dbf
datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u11/app/oracle/oradata/dupdb/users01.dbf
datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u11/app/oracle/oradata/dupdb/example01.dbf
datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u11/app/oracle/oradata/dupdb/UNDOTBS02.dbf contents of Memory Script:
{
set until scn ;
recover
clone database
delete archivelog
;
}
executing Memory Script executing command: SET until clause Starting recover at -JUN- ::
using channel ORA_AUX_DISK_1 starting media recovery archived log for thread with sequence is already on disk as file /u11/app/oracle/fra/DUPDB/archivelog/2015_06_26/o1_mf_1_98_4mqafc9h_.arc
archived log file name=/u11/app/oracle/fra/DUPDB/archivelog/2015_06_26/o1_mf_1_98_4mqafc9h_.arc thread= sequence=
media recovery complete, elapsed time: ::
Finished recover at -JUN- :: contents of Memory Script:
{
shutdown clone immediate;
startup clone nomount;
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 database dismounted
Oracle instance shut down connected to auxiliary database (not started)
Oracle instance started Total System Global Area bytes Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes 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 bytes Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "DUPDB" RESETLOGS ARCHIVELOG
MAXLOGFILES
MAXLOGMEMBERS
MAXDATAFILES
MAXINSTANCES
MAXLOGHISTORY
LOGFILE
GROUP ( '/u11/app/oracle/oradata/dupdb/redo01.log', '/u11/app/oracle/oradata/dupdb/redo01b.log' ) SIZE M REUSE,
GROUP ( '/u11/app/oracle/oradata/dupdb/redo02b.log', '/u11/app/oracle/oradata/dupdb/redo02.log' ) SIZE M REUSE,
GROUP ( '/u11/app/oracle/oradata/dupdb/redo03b.log', '/u11/app/oracle/oradata/dupdb/redo03.log' ) SIZE M REUSE
DATAFILE
'/u11/app/oracle/oradata/dupdb/system01.dbf'
CHARACTER SET AL32UTF8 contents of Memory Script:
{
set newname for tempfile to
"/u11/app/oracle/oradata/dupdb/temp01.dbf";
switch clone tempfile all;
catalog clone datafilecopy "/u11/app/oracle/oradata/dupdb/sysaux01.dbf",
"/u11/app/oracle/oradata/dupdb/yb01.dbf",
"/u11/app/oracle/oradata/dupdb/users01.dbf",
"/u11/app/oracle/oradata/dupdb/example01.dbf",
"/u11/app/oracle/oradata/dupdb/UNDOTBS02.dbf";
switch clone datafile all;
}
executing Memory Script executing command: SET NEWNAME renamed tempfile to /u11/app/oracle/oradata/dupdb/temp01.dbf in control file cataloged datafile copy
datafile copy file name=/u11/app/oracle/oradata/dupdb/sysaux01.dbf RECID= STAMP=
cataloged datafile copy
datafile copy file name=/u11/app/oracle/oradata/dupdb/yb01.dbf RECID= STAMP=
cataloged datafile copy
datafile copy file name=/u11/app/oracle/oradata/dupdb/users01.dbf RECID= STAMP=
cataloged datafile copy
datafile copy file name=/u11/app/oracle/oradata/dupdb/example01.dbf RECID= STAMP=
cataloged datafile copy
datafile copy file name=/u11/app/oracle/oradata/dupdb/UNDOTBS02.dbf RECID= STAMP= datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u11/app/oracle/oradata/dupdb/sysaux01.dbf
datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u11/app/oracle/oradata/dupdb/yb01.dbf
datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u11/app/oracle/oradata/dupdb/users01.dbf
datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u11/app/oracle/oradata/dupdb/example01.dbf
datafile switched to datafile copy
input datafile copy RECID= STAMP= file name=/u11/app/oracle/oradata/dupdb/UNDOTBS02.dbf contents of Memory Script:
{
Alter clone database open resetlogs;
}
executing Memory Script database opened
Finished Duplicate Db at -JUN- :: RMAN>

完成!

"active database duplication"过程完成的操作:
·数据文件从source库被copy到duplicate库
·重建控制文件;如果是standby库,控制文件会从source库拷贝到standby
·根据参数db_create_file_dest设置,重建temp文件
·重建online redo log
·根据需要,拷贝归档日志文件
·如果只是指定了spfile,会拷贝spfile文件
·standby库需要拷贝口令文件;如果只是duplicate库,看duplicate database命令是否指定
·快速闪回区不会被copy,闪回日志文件、口令文件和块改变跟踪文件不会被创建

使用duplicate target database ... from active database复制数据库的更多相关文章

  1. Oracle Database 12c Using duplicate standby database from active database Created Active DataGuard

    primary database db_name=zwc, db_unique_name=zwc standby database db_name=zwc, db_unique_name=standb ...

  2. RMAN duplicate from active database

    在Oracle 11G有二种方法实现duplicate: 1.Active database duplication 2.Backup-based duplication Active databas ...

  3. 使用RMAN DUPLICATE...FROM ACTIVE DATABASE创建物理standby database

    Applies to: Oracle Server - Enterprise Edition - Version 11.1.0.6 to 11.2.0.4 [Release 11.1 to 11.2] ...

  4. Duplicate 复制数据库 搭建Dataguard

    1 操作系统环境 此处隐藏具体信息 System IP-address db_name db_version Comment         Target DB         Auxiliary D ...

  5. Oracle 11gR2 使用RMAN Duplicate复制数据库

    Oracle 11gR2 使用RMAN Duplicate复制数据库     前言:     上周刚做完一个项目,用户要求RAC的数据库可以自己主动备份到另外一个单节点上,单节点可以正常拿起来就能用. ...

  6. Oracle DB 复制数据库

    • 列出创建副本数据库的目的 • 选择用于复制数据库的方法 • 使用RMAN 复制数据库 • 使用RMAN 备份复制数据库 • 基于正在运行的实例复制数据库 使用副本数据库 • 使用副本数据库可执行以 ...

  7. oracle RMAN复制数据库

    列出创建副本数据库的目的 • 选择用于复制数据库的方法 • 使用RMAN 复制数据库 • 使用RMAN 备份复制数据库 • 基于正在运行的实例复制数据库   使用副本数据库 • 使用副本数据库可执行以 ...

  8. Creating Physical Standby Using RMAN DUPLICATE...FROM ACTIVE DATABASE执行结果

    > run { > allocate channel prmy1 type disk; > allocate channel prmy2 type disk; > alloca ...

  9. RMAN 'Duplicate From Active Database' Feature in Oracle11g (Doc ID 452868.1)

    RMAN 'Duplicate From Active Database' Feature in Oracle11g (Doc ID 452868.1) APPLIES TO: Oracle Data ...

随机推荐

  1. php isset() empty() 区别, 判断 变量存在与否神器

    先看PHP手册: bool empty ( mixed $var ) 判断一个变量是否被认为是空的.当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在.如果变量不存在的话,empty ...

  2. Javascript 笔记与总结(2-7)对象

    html: <h1>找对象</h1> <div id="div1"> <p>p1</p> <p>p2< ...

  3. 【IOS笔记】Resource Management in View Controllers

    Resource Management in View Controllers 视图控制器的资源管理 View controllers are an essential part of managin ...

  4. JqueryMobile 跳转问题

    解决办法: 禁止ajxa跳转有两种情况: 1.禁止局部ajax跳转 2.禁止全局ajax跳转    对于#1只需要在a标签中添加下面的属性: data-ajax=“false” 有时我们要用正常的ht ...

  5. MySQL 5.6.3

    SHOW VARIABLES LIKE '%version%'; https://dev.mysql.com/doc/refman/5.6/en/explain.html As of MySQL 5. ...

  6. delphi 向其他程序发送模拟按键

    向其他程序发送模拟按键: 1.用keybd_event: varh : THandle;beginh := FindWindow('TFitForm', '1stOpt - [Untitled1]') ...

  7. day12

    JSP指令   JSP指令概述 JSP指令的格式:<%@指令名 attr1="" attr2="" %>,一般都会把JSP指令放到JSP文件的最上方 ...

  8. FastReport的交叉表实际使用的一个例子

    计算发行-->定义份数月表(打开)出现 PosFraisPaysInput选择时间段后,点击“打印”.这个设计表格,就是交叉表. 交叉表的特点是:数据库是一条一条并列的但是出来的结果却是:横向是 ...

  9. Qt 之 去除窗口部件被选中后的焦点虚线框(设置Qt::NoFocus即可)

    http://blog.csdn.net/goforwardtostep/article/details/53420529

  10. android Listview item 中有button,item就不响应触摸事件

    为button设置 beanButton.getButton().setFocusable(false); beanButton.getButton().setFocusableInTouchMode ...