Oracle 11g Rman Active database duplicate

Active database duplicate,可以在没有备份的情况下复制一个比较新的数据库副本,这样,可以节省对数据库的备份时间。

具体操作:

[@more@]

目标数据库实例准备
C:Userssundog>oradim -new -sid TEST
实例已创建。

C:Userssundog>orapwd file=D:oracleproduct11.2.0dbhome_1databasePWDtest.o
ra password=sys entries=10

创建目标数据库目录结构
admin
oradata
fast_recovery_area

创建目标数据库初始化参数文件
C:Userssundog>sqlplus sys/sys@orcl as sysdba

SQL*Plus: Release 11.2.0.2.0 Production on 星期四 4月 7 14:29:27 2011

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


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
With the Partitioning option

SQL> create pfile='e:inittest.ora' from spfile;

文件已创建。

修改初始化文件,并增加转换参数,将所有源数据库的路径修改为目标数据库的路径,如路径相同,则需要在duplicate database时指定nofilenamecheck
*.db_file_name_convert=('D:oracleoradataorcl','D:oracleoradatatest')
*.log_file_name_convert=('D:oracleoradataorcl','D:oracleoradatatest')

增加listener及tnsnames

目标数据库启动至nomount状态
C:Userssundog>rman target sys/sys@test

恢复管理器: Release 11.2.0.2.0 - Production on 星期四 4月 7 14:41:21 2011

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

已连接到目标数据库 (未启动)

RMAN> startup nomount pfile='e:inittest.ora'

Oracle 实例已启动

系统全局区域总计 548216832 字节

Fixed Size 1384836 字节
Variable Size 176164476 字节
Database Buffers 356515840 字节
Redo Buffers 14151680 字节

复制数据库
C:Userssundog>rman target sys/sys@orcl auxiliary sys/sys@test

恢复管理器: Release 11.2.0.2.0 - Production on 星期四 4月 7 14:43:38 2011

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

已连接到目标数据库: ORCL (DBID=1275518061)
已连接到辅助数据库: TEST (未装载)

RMAN> list backupset;

说明与资料档案库中的任何备份都不匹配

RMAN> list backup;

说明与资料档案库中的任何备份都不匹配

RMAN> duplicate target database to 'test' from active database;

启动 Duplicate Db 于 07-4月 -11
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: SID=585 设备类型=DISK

内存脚本的内容:
{
sql clone "create spfile from memory";
}
正在执行内存脚本

sql 语句: create spfile from memory

内存脚本的内容:
{
shutdown clone immediate;
startup clone nomount;
}
正在执行内存脚本

Oracle 实例已关闭

已连接到辅助数据库 (未启动)

Oracle 实例已启动

系统全局区域总计 548216832 字节

Fixed Size 1384836 字节
Variable Size 176164476 字节
Database Buffers 356515840 字节
Redo Buffers 14151680 字节

内存脚本的内容:
{
sql clone "alter system set db_name =
''ORCL'' comment=
''Modified by RMAN duplicate'' scope=spfile";
sql clone "alter system set db_unique_name =
''TEST'' comment=
''Modified by RMAN duplicate'' scope=spfile";
shutdown clone immediate;
startup clone force nomount
backup as copy current controlfile auxiliary format 'D:ORACLEORADATATEST
CONTROL01.CTL';
restore clone controlfile to 'D:ORACLEFAST_RECOVERY_AREATESTCONTROL02.CT
L' from
'D:ORACLEORADATATESTCONTROL01.CTL';
alter clone database mount;
}
正在执行内存脚本

sql 语句: alter system set db_name = ''ORCL'' comment= ''Modified by RMAN dupl
icate'' scope=spfile

sql 语句: alter system set db_unique_name = ''TEST'' comment= ''Modified by RM
AN duplicate'' scope=spfile

Oracle 实例已关闭

Oracle 实例已启动

系统全局区域总计 548216832 字节

Fixed Size 1384836 字节
Variable Size 176164476 字节
Database Buffers 356515840 字节
Redo Buffers 14151680 字节

启动 backup 于 07-4月 -11
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=10 设备类型=DISK
通道 ORA_DISK_1: 启动数据文件副本
复制当前控制文件
输出文件名=D:ORACLEPRODUCT11.2.0DBHOME_1DATABASESNCFORCL.ORA 标记=TAG20110
407T144610 RECID=3 STAMP=747845171
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:03
完成 backup 于 07-4月 -11

启动 restore 于 07-4月 -11
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: SID=580 设备类型=DISK

通道 ORA_AUX_DISK_1: 已复制控制文件副本
完成 restore 于 07-4月 -11

数据库已装载

内存脚本的内容:
{
set newname for datafile 1 to
"D:ORACLEORADATATESTSYSTEM01.DBF";
set newname for datafile 2 to
"D:ORACLEORADATATESTSYSAUX01.DBF";
set newname for datafile 3 to
"D:ORACLEORADATATESTUNDOTBS01.DBF";
set newname for datafile 4 to
"D:ORACLEORADATATESTUSERS01.DBF";
set newname for datafile 5 to
"D:ORACLEORADATATESTMGMT_ECM_DEPOT1.DBF";
set newname for datafile 6 to
"D:ORACLEORADATATESTMGMT.DBF";
set newname for datafile 7 to
"D:ORACLEORADATATESTMGMT_AD4J.DBF";
backup as copy reuse
datafile 1 auxiliary format
"D:ORACLEORADATATESTSYSTEM01.DBF" datafile
2 auxiliary format
"D:ORACLEORADATATESTSYSAUX01.DBF" datafile
3 auxiliary format
"D:ORACLEORADATATESTUNDOTBS01.DBF" datafile
4 auxiliary format
"D:ORACLEORADATATESTUSERS01.DBF" datafile
5 auxiliary format
"D:ORACLEORADATATESTMGMT_ECM_DEPOT1.DBF" datafile
6 auxiliary format
"D:ORACLEORADATATESTMGMT.DBF" datafile
7 auxiliary format
"D:ORACLEORADATATESTMGMT_AD4J.DBF" ;
sql 'alter system archive log current';
}
正在执行内存脚本

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 backup 于 07-4月 -11
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00006 名称=D:ORACLEORADATAORCLMGMT.DBF
输出文件名=D:ORACLEORADATATESTMGMT.DBF 标记=TAG20110407T144622
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:01:05
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00001 名称=D:ORACLEORADATAORCLSYSTEM01.DBF
输出文件名=D:ORACLEORADATATESTSYSTEM01.DBF 标记=TAG20110407T144622
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:35
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00002 名称=D:ORACLEORADATAORCLSYSAUX01.DBF
输出文件名=D:ORACLEORADATATESTSYSAUX01.DBF 标记=TAG20110407T144622
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:35
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00003 名称=D:ORACLEORADATAORCLUNDOTBS01.DBF
输出文件名=D:ORACLEORADATATESTUNDOTBS01.DBF 标记=TAG20110407T144622
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:15
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00007 名称=D:ORACLEORADATAORCLMGMT_AD4J.DBF
输出文件名=D:ORACLEORADATATESTMGMT_AD4J.DBF 标记=TAG20110407T144622
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:15
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00005 名称=D:ORACLEORADATAORCLMGMT_ECM_DEPOT1.DBF
输出文件名=D:ORACLEORADATATESTMGMT_ECM_DEPOT1.DBF 标记=TAG20110407T144622
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:03
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00004 名称=D:ORACLEORADATAORCLUSERS01.DBF
输出文件名=D:ORACLEORADATATESTUSERS01.DBF 标记=TAG20110407T144622
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:01
完成 backup 于 07-4月 -11

sql 语句: alter system archive log current

内存脚本的内容:
{
backup as copy reuse
archivelog like "D:ORACLEFAST_RECOVERY_AREAORCLARCHIVELOG2011_04_07O1_
MF_1_15_6STQMC5S_.ARC" auxiliary format
"D:ORACLEFAST_RECOVERY_AREATESTARCHIVELOG2011_04_07O1_MF_1_15_%U_.ARC"
;
catalog clone recovery area;
switch clone datafile all;
}
正在执行内存脚本

启动 backup 于 07-4月 -11
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始复制归档日志
输入归档日志线程=1 序列=15 RECID=15 STAMP=747845355
输出文件名=D:ORACLEFAST_RECOVERY_AREATESTARCHIVELOG2011_04_07O1_MF_1_15_AR
CH_D-ORCL_ID-1275518061_S-15_T-1_A-747757455_1DM96DNC_.ARC RECID=0 STAMP=0
通道 ORA_DISK_1: 归档日志复制完成, 经过时间: 00:00:01
完成 backup 于 07-4月 -11

搜索恢复区中的所有文件

数据库未知文件的列表
=====================================
文件名: D:ORACLEFAST_RECOVERY_AREATESTARCHIVELOG2011_04_07O1_MF_1_15_ARCH_
D-ORCL_ID-1275518061_S-15_T-1_A-747757455_1DM96DNC_.ARC
正在编制文件目录...
目录编制完毕

已列入目录的文件的列表
=======================
文件名: D:ORACLEFAST_RECOVERY_AREATESTARCHIVELOG2011_04_07O1_MF_1_15_ARCH_
D-ORCL_ID-1275518061_S-15_T-1_A-747757455_1DM96DNC_.ARC

恢复区中的文件列表不由数据库管理
==========================================================
文件名: D:ORACLEFAST_RECOVERY_AREATESTCONTROL02.CTL
RMAN-07526: 原因: 文件不是 Oracle Managed File

不由恢复区管理的文件数为 1, 总计 9.28MB

数据文件 1 已转换成数据文件副本
输入数据文件副本 RECID=3 STAMP=747845358 文件名=D:ORACLEORADATATESTSYSTEM01.
DBF
数据文件 2 已转换成数据文件副本
输入数据文件副本 RECID=4 STAMP=747845358 文件名=D:ORACLEORADATATESTSYSAUX01.
DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 RECID=5 STAMP=747845358 文件名=D:ORACLEORADATATESTUNDOTBS01
.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 RECID=6 STAMP=747845358 文件名=D:ORACLEORADATATESTUSERS01.D
BF
数据文件 5 已转换成数据文件副本
输入数据文件副本 RECID=7 STAMP=747845358 文件名=D:ORACLEORADATATESTMGMT_ECM_
DEPOT1.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 RECID=8 STAMP=747845358 文件名=D:ORACLEORADATATESTMGMT.DBF
数据文件 7 已转换成数据文件副本
输入数据文件副本 RECID=9 STAMP=747845359 文件名=D:ORACLEORADATATESTMGMT_AD4J
.DBF

内存脚本的内容:
{
set until scn 646231;
recover
clone database
delete archivelog
;
}
正在执行内存脚本

正在执行命令: SET until clause

启动 recover 于 07-4月 -11
使用通道 ORA_AUX_DISK_1

正在开始介质的恢复

线程 1 序列 15 的归档日志已作为文件 D:ORACLEFAST_RECOVERY_AREATESTARCHIVELOG
2011_04_07O1_MF_1_15_ARCH_D-ORCL_ID-1275518061_S-15_T-1_A-747757455_1DM96DNC_.
ARC 存在于磁盘上
归档日志文件名=D:ORACLEFAST_RECOVERY_AREATESTARCHIVELOG2011_04_07O1_MF_1_1
5_ARCH_D-ORCL_ID-1275518061_S-15_T-1_A-747757455_1DM96DNC_.ARC 线程=1 序列=15
介质恢复完成, 用时: 00:00:02
完成 recover 于 07-4月 -11
Oracle 实例已启动

系统全局区域总计 548216832 字节

Fixed Size 1384836 字节
Variable Size 176164476 字节
Database Buffers 356515840 字节
Redo Buffers 14151680 字节

内存脚本的内容:
{
sql clone "alter system set db_name =
''TEST'' 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;
}
正在执行内存脚本

sql 语句: alter system set db_name = ''TEST'' comment= ''Reset to original val
ue by RMAN'' scope=spfile

sql 语句: alter system reset db_unique_name scope=spfile

Oracle 实例已关闭

已连接到辅助数据库 (未启动)
Oracle 实例已启动

系统全局区域总计 548216832 字节

Fixed Size 1384836 字节
Variable Size 176164476 字节
Database Buffers 356515840 字节
Redo Buffers 14151680 字节
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "TEST" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( 'D:ORACLEORADATATESTREDO01.LOG' ) SIZE 50 M REUSE,
GROUP 2 ( 'D:ORACLEORADATATESTREDO02.LOG' ) SIZE 50 M REUSE,
GROUP 3 ( 'D:ORACLEORADATATESTREDO03.LOG' ) SIZE 50 M REUSE
DATAFILE
'D:ORACLEORADATATESTSYSTEM01.DBF'
CHARACTER SET ZHS16GBK


内存脚本的内容:
{
set newname for tempfile 1 to
"D:ORACLEORADATATESTTEMP01.DBF";
switch clone tempfile all;
catalog clone datafilecopy "D:ORACLEORADATATESTSYSAUX01.DBF",
"D:ORACLEORADATATESTUNDOTBS01.DBF",
"D:ORACLEORADATATESTUSERS01.DBF",
"D:ORACLEORADATATESTMGMT_ECM_DEPOT1.DBF",
"D:ORACLEORADATATESTMGMT.DBF",
"D:ORACLEORADATATESTMGMT_AD4J.DBF";
switch clone datafile all;
}
正在执行内存脚本

正在执行命令: SET NEWNAME

临时文件 1 在控制文件中已重命名为 D:ORACLEORADATATESTTEMP01.DBF

已将数据文件副本列入目录
数据文件副本文件名=D:ORACLEORADATATESTSYSAUX01.DBF RECID=1 STAMP=747845437
已将数据文件副本列入目录
数据文件副本文件名=D:ORACLEORADATATESTUNDOTBS01.DBF RECID=2 STAMP=747845437
已将数据文件副本列入目录
数据文件副本文件名=D:ORACLEORADATATESTUSERS01.DBF RECID=3 STAMP=747845437
已将数据文件副本列入目录
数据文件副本文件名=D:ORACLEORADATATESTMGMT_ECM_DEPOT1.DBF RECID=4 STAMP=7478
45437
已将数据文件副本列入目录
数据文件副本文件名=D:ORACLEORADATATESTMGMT.DBF RECID=5 STAMP=747845437
已将数据文件副本列入目录
数据文件副本文件名=D:ORACLEORADATATESTMGMT_AD4J.DBF RECID=6 STAMP=747845438

数据文件 2 已转换成数据文件副本
输入数据文件副本 RECID=1 STAMP=747845437 文件名=D:ORACLEORADATATESTSYSAUX01.
DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 RECID=2 STAMP=747845437 文件名=D:ORACLEORADATATESTUNDOTBS01
.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 RECID=3 STAMP=747845437 文件名=D:ORACLEORADATATESTUSERS01.D
BF
数据文件 5 已转换成数据文件副本
输入数据文件副本 RECID=4 STAMP=747845437 文件名=D:ORACLEORADATATESTMGMT_ECM_
DEPOT1.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 RECID=5 STAMP=747845437 文件名=D:ORACLEORADATATESTMGMT.DBF
数据文件 7 已转换成数据文件副本
输入数据文件副本 RECID=6 STAMP=747845438 文件名=D:ORACLEORADATATESTMGMT_AD4J
.DBF
对辅助数据库重新启用控制文件选项
执行: alter database force logging

内存脚本的内容:
{
Alter clone database open resetlogs;
}
正在执行内存脚本

数据库已打开
完成 Duplicate Db 于 07-4月 -11

RMAN>

数据库复制完成,如果有需要的话,可以创建spfile

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/19423/viewspace-1048333/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/19423/viewspace-1048333/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值