此命令的输出可以看出,Oracle RMAN的duplicate 命令内部执行的情况,对克隆有更深刻的理解。
之前的步骤演示请参考:
c:\oracle\product\10.2.0\client_1\BIN>rman target sys/password@DGP
恢复管理器: Release 10.2.0.1.0 - Production on 星期二 1月 31 00:59:06 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: DG (DBID=1686618574)
RMAN> connect auxiliary sys/password@DGS
已连接到辅助数据库: DGC (未装载)
RMAN> duplicate target database to dgc;
启动 Duplicate Db 于 31-1月 -12
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=155 devtype=DISK
内存脚本的内容:
{
set until scn 526998;
set newname for datafile 1 to
"/u01/app/oracle/oradata/dgc/system01.dbf";
set newname for datafile 2 to
"/u01/app/oracle/oradata/dgc/undotbs01.dbf";
set newname for datafile 3 to
"/u01/app/oracle/oradata/dgc/sysaux01.dbf";
set newname for datafile 4 to
"/u01/app/oracle/oradata/dgc/users01.dbf";
restore
check readonly
clone database
;
}
正在执行内存脚本
正在执行命令: SET until clause
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 restore 于 31-1月 -12
使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到/u01/app/oracle/oradata/dgc/system01.dbf
正将数据文件00002恢复到/u01/app/oracle/oradata/dgc/undotbs01.dbf
正将数据文件00003恢复到/u01/app/oracle/oradata/dgc/sysaux01.dbf
正将数据文件00004恢复到/u01/app/oracle/oradata/dgc/users01.dbf
通道 ORA_AUX_DISK_1: 正在读取备份段 /home/oracle/all_DG_2.bak
通道 ORA_AUX_DISK_1: 已恢复备份段 1
段句柄 = /home/oracle/all_DG_2.bak 标记 = TAG20120125T110557
通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:00:54
完成 restore 于 31-1月 -12
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "DGC" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( '/u01/app/oracle/oradata/dgc/redo01.log' ) SIZE 50 M REUSE,
GROUP 2 ( '/u01/app/oracle/oradata/dgc/redo02.log' ) SIZE 50 M REUSE,
GROUP 3 ( '/u01/app/oracle/oradata/dgc/redo03.log' ) SIZE 50 M REUSE
DATAFILE
'/u01/app/oracle/oradata/dgc/system01.dbf'
CHARACTER SET ZHS16GBK
内存脚本的内容:
{
switch clone datafile all;
}
正在执行内存脚本
释放的通道: ORA_AUX_DISK_1
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=773487060 文件名=/u01/app/oracle/oradata/dgc/undo
tbs01.dbf
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=773487060 文件名=/u01/app/oracle/oradata/dgc/sysa
ux01.dbf
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=773487060 文件名=/u01/app/oracle/oradata/dgc/user
s01.dbf
内存脚本的内容:
{
set until scn 526998;
recover
clone database
delete archivelog
;
}
正在执行内存脚本
正在执行命令: SET until clause
启动 recover 于 31-1月 -12
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=155 devtype=DISK
正在开始介质的恢复
存档日志线程 1 序列 14 已作为文件 /u01/app/oracle/flash_recovery_area/DGP/archiv
elog/2012_01_25/o1_mf_1_14_7kywg5q6_.arc 存在于磁盘上
存档日志文件名 =/u01/app/oracle/flash_recovery_area/DGP/archivelog/2012_01_25/o1
_mf_1_14_7kywg5q6_.arc 线程 =1 序列 =14
介质恢复完成, 用时: 00:00:01
完成 recover 于 31-1月 -12
内存脚本的内容:
{
shutdown clone;
startup clone nomount ;
}
正在执行内存脚本
数据库已卸载
Oracle 实例已关闭
已连接到辅助数据库 (未启动)
Oracle 实例已启动
系统全局区域总计 167772160 字节
Fixed Size 1218316 字节
Variable Size 96471284 字节
Database Buffers 67108864 字节
Redo Buffers 2973696 字节
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "DGC" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ( '/u01/app/oracle/oradata/dgc/redo01.log' ) SIZE 50 M REUSE,
GROUP 2 ( '/u01/app/oracle/oradata/dgc/redo02.log' ) SIZE 50 M REUSE,
GROUP 3 ( '/u01/app/oracle/oradata/dgc/redo03.log' ) SIZE 50 M REUSE
DATAFILE
'/u01/app/oracle/oradata/dgc/system01.dbf'
CHARACTER SET ZHS16GBK
内存脚本的内容:
{
set newname for tempfile 1 to
"/u01/app/oracle/oradata/dgc/temp01.dbf";
switch clone tempfile all;
catalog clone datafilecopy "/u01/app/oracle/oradata/dgc/undotbs01.dbf";
catalog clone datafilecopy "/u01/app/oracle/oradata/dgc/sysaux01.dbf";
catalog clone datafilecopy "/u01/app/oracle/oradata/dgc/users01.dbf";
switch clone datafile all;
}
正在执行内存脚本
正在执行命令: SET NEWNAME
临时文件 1 在控制文件中已重命名为 /u01/app/oracle/oradata/dgc/temp01.dbf
已将数据文件副本列入目录
数据文件副本 filename=/u01/app/oracle/oradata/dgc/undotbs01.dbf recid=1 stamp=77
3487080
已将数据文件副本列入目录
数据文件副本 filename=/u01/app/oracle/oradata/dgc/sysaux01.dbf recid=2 stamp=773
487081
已将数据文件副本列入目录
数据文件副本 filename=/u01/app/oracle/oradata/dgc/users01.dbf recid=3 stamp=7734
87081
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=773487080 文件名=/u01/app/oracle/oradata/dgc/undo
tbs01.dbf
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=773487081 文件名=/u01/app/oracle/oradata/dgc/sysa
ux01.dbf
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=773487081 文件名=/u01/app/oracle/oradata/dgc/user
s01.dbf
内存脚本的内容:
{
Alter clone database open resetlogs;
}
正在执行内存脚本
数据库已打开
完成 Duplicate Db 于 31-1月 -12
RMAN>
本文转自andylhz 51CTO博客,原文链接:http://blog.51cto.com/andylhz2009/769170
,如需转载请自行联系原作者