ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 通过rman duplicate database!

通过rman duplicate database!

原创 Linux操作系统 作者:warehouse 时间:2007-01-05 00:00:00 0 删除 编辑

注意:没有catalog也可以duplicate

要确保一个database full backup!
9i 下大致过程!

C:>rman catalog rman/rman@dmt target sys/system@lmt

恢复管理器: 版本9.2.0.1.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.

连接到目标数据库: LMT (DBID=2004730922)
连接到恢复目录数据库

RMAN> run {
2> set newname for datafile 1 to 'c:oracleoradatadupsystem01.dbf';
3> set newname for datafile 2 to 'c:oracleoradatadupundotbs01.dbf';
4> duplicate target database to dup
5> pfile='c:oracleadminduppfileinit.ora'
6> logfile
7> 'c:oracleoradatadupredo01.log' size 1m,
8> 'c:oracleoradatadupredo02.log' size 1m,
9> 'c:oracleoradatadupredo03.log' size 1m;
10> }

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 Duplicate Db 于 03-6月 -06
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 06/03/2006 20:39:38
RMAN-06174: not connected to auxiliary database

RMAN> connect auxiliary sys/system@dup

已连接到备用数据库: DUP (未安装)

RMAN> run {
2> set newname for datafile 1 to 'c:oracleoradatadupsystem01.dbf';
3> set newname for datafile 2 to 'c:oracleoradatadupundotbs01.dbf';
4> duplicate target database to dup
5> pfile='c:oracleadminduppfileinit.ora'
6> logfile
7> 'c:oracleoradatadupredo01.log' size 1m,
8> 'c:oracleoradatadupredo02.log' size 1m,
9> 'c:oracleoradatadupredo03.log' size 1m;
10> }

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 Duplicate Db 于 03-6月 -06
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=10 devtype=DISK

正在打印存储的脚本: Memory Script
{
set until scn 51885;
set newname for datafile 1 to
"C:ORACLEORADATADUPSYSTEM01.DBF";
set newname for datafile 2 to
"C:ORACLEORADATADUPUNDOTBS01.DBF";
restore
check readonly
clone database
;
}
正在执行脚本: Memory Script

正在执行命令: SET until clause

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 restore 于 03-6月 -06

使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到C:ORACLEORADATADUPSYSTEM01.DBF
正将数据文件00002恢复到C:ORACLEORADATADUPUNDOTBS01.DBF
通道 ORA_AUX_DISK_1: 已恢复备份段 1
段 handle=C:ORACLEORA92DATABASE8HKNE2A_1_1 tag=TAG20060603T181538 params=NU
LL
通道 ORA_AUX_DISK_1: 恢复完成
完成 restore 于 03-6月 -06
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "dup" RESETLOGS ARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 453
LOGFILE
GROUP 1 'c:oracleoradatadupredo01.log' SIZE 1048576 ,
GROUP 2 'c:oracleoradatadupredo02.log' SIZE 1048576 ,
GROUP 3 'c:oracleoradatadupredo03.log' SIZE 1048576
DATAFILE
'C:ORACLEORADATADUPSYSTEM01.DBF'
CHARACTER SET ZHS16GBK


正在打印存储的脚本: Memory Script
{
switch clone datafile all;
}
正在执行脚本: Memory Script

数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=592173637 文件名=C:ORACLEORADATADUPUNDOTBS01.
DBF

正在打印存储的脚本: Memory Script
{
set until scn 51885;
recover
clone database
delete archivelog
;
}
正在执行脚本: Memory Script

正在执行命令: SET until clause

启动 recover 于 03-6月 -06
使用通道 ORA_AUX_DISK_1

正在开始介质的恢复

存档日志线程 1 序列 2 已作为文件 C:ORACLEORA92RDBMSARC00002.001 存在于磁盘上

存档日志文件名 =C:ORACLEORA92RDBMSARC00002.001 线程 =1 序列 =2
完成介质的恢复
完成 recover 于 03-6月 -06

正在打印存储的脚本: Memory Script
{
shutdown clone;
startup clone nomount pfile= 'c:oracleadminduppfileinit.ora';
}
正在执行脚本: Memory Script

数据库已卸载
Oracle 例程已关闭

已连接到备用数据库 (未启动)
Oracle 例程已启动

系统全局区域总计 101784276 字节

Fixed Size 453332 字节
Variable Size 75497472 字节
Database Buffers 25165824 字节
Redo Buffers 667648 字节
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "dup" RESETLOGS ARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 453
LOGFILE
GROUP 1 'c:oracleoradatadupredo01.log' SIZE 1048576 ,
GROUP 2 'c:oracleoradatadupredo02.log' SIZE 1048576 ,
GROUP 3 'c:oracleoradatadupredo03.log' SIZE 1048576
DATAFILE
'C:ORACLEORADATADUPSYSTEM01.DBF'
CHARACTER SET ZHS16GBK


正在打印存储的脚本: Memory Script
{
catalog clone datafilecopy "C:ORACLEORADATADUPUNDOTBS01.DBF";
switch clone datafile all;
}
正在执行脚本: Memory Script

已将数据文件副本列入目录
数据文件副本 filename=C:ORACLEORADATADUPUNDOTBS01.DBF recid=1 stamp=59217380
1

数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=592173801 文件名=C:ORACLEORADATADUPUNDOTBS01.
DBF

正在打印存储的脚本: Memory Script
{
Alter clone database open resetlogs;
}
正在执行脚本: Memory Script

数据库已打开
完成 Duplicate Db 于 03-6月 -06

RMAN>

--==============================================

10g下大致过程:

duplicate database时没有catalog也行!
C:>rman target sys/system@orcl catalog rman/rman@test auxiliary sys/system@dup

恢复管理器: Release 10.2.0.1.0 - Production on 星期一 12月 25 14:09:14 2006

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

连接到目标数据库: ORCL (DBID=1136768294)
连接到恢复目录数据库
已连接到辅助数据库: DUP (未装载)

RMAN> run{
2> set newname for datafile 1 to 'E:ORACLEPRODUCT10.2.0ORADATAdupSYSTEM01.
DBF';
3> set newname for datafile 2 to 'E:ORACLEPRODUCT10.2.0ORADATAdupUNDOTBS01
.DBF';
4> set newname for datafile 3 to 'E:ORACLEPRODUCT10.2.0ORADATAdupSYSAUX01.
DBF';
5> set newname for datafile 4 to 'E:ORACLEPRODUCT10.2.0ORADATAdupUSERS01.D
BF';
6> set newname for datafile 5 to 'E:ORACLEPRODUCT10.2.0ORADATAdupTEST.DBF'
;
7> set newname for datafile 8 to 'E:ORACLEPRODUCT10.2.0ORADATAdupTEST3.DBF
';
8> duplicate target database to dup skip tablespace test1
9> logfile
10> 'E:ORACLEPRODUCT10.2.0ORADATAdupredo01.log' size 10m,
11> 'E:ORACLEPRODUCT10.2.0ORADATAdupredo02.log' size 10m,
12> 'E:ORACLEPRODUCT10.2.0ORADATAdupredo03.log' size 10m;
13> }

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 Duplicate Db 于 25-12月-06
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=24 devtype=DISK
根据请求跳过数据文件 6
根据请求跳过数据文件 7

内存脚本的内容:
{
set until scn 742507;
set newname for datafile 1 to
"E:ORACLEPRODUCT10.2.0ORADATADUPSYSTEM01.DBF";
set newname for datafile 2 to
"E:ORACLEPRODUCT10.2.0ORADATADUPUNDOTBS01.DBF";
set newname for datafile 3 to
"E:ORACLEPRODUCT10.2.0ORADATADUPSYSAUX01.DBF";
set newname for datafile 4 to
"E:ORACLEPRODUCT10.2.0ORADATADUPUSERS01.DBF";
set newname for datafile 5 to
"E:ORACLEPRODUCT10.2.0ORADATADUPTEST.DBF";
set newname for datafile 8 to
"E:ORACLEPRODUCT10.2.0ORADATADUPTEST3.DBF";
restore
check readonly
clone database
skip tablespace TEST1 ;
}
正在执行内存脚本

正在执行命令: SET until clause

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 restore 于 25-12月-06
使用通道 ORA_AUX_DISK_1

通道 ORA_AUX_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:ORACLEPRODUCT10.2.0ORADATADUPSYSTEM01.DBF
正将数据文件00002恢复到E:ORACLEPRODUCT10.2.0ORADATADUPUNDOTBS01.DBF
正将数据文件00003恢复到E:ORACLEPRODUCT10.2.0ORADATADUPSYSAUX01.DBF
正将数据文件00004恢复到E:ORACLEPRODUCT10.2.0ORADATADUPUSERS01.DBF
正将数据文件00005恢复到E:ORACLEPRODUCT10.2.0ORADATADUPTEST.DBF
正将数据文件00008恢复到E:ORACLEPRODUCT10.2.0ORADATADUPTEST3.DBF
通道 ORA_AUX_DISK_1: 正在读取备份段 E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREA
ORCLBACKUPSET2006_12_23O1_MF_NNNDF_TAG20061223T164719_2RSV8VM1_.BKP
通道 ORA_AUX_DISK_1: 已恢复备份段 1
段句柄 = E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLBACKUPSET2006_12_23
O1_MF_NNNDF_TAG20061223T164719_2RSV8VM1_.BKP 标记 = TAG20061223T164719
通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:00:55
完成 restore 于 25-12月-06
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "DUP" RESETLOGS ARCHIVELOG
MAXLOGFILES 4220
MAXLOGMEMBERS 5
MAXDATAFILES 65534
MAXINSTANCES 1055
MAXLOGHISTORY 10225
LOGFILE
GROUP 1 'E:ORACLEPRODUCT10.2.0ORADATAdupredo01.log' SIZE 10 M ,
GROUP 2 'E:ORACLEPRODUCT10.2.0ORADATAdupredo02.log' SIZE 10 M ,
GROUP 3 'E:ORACLEPRODUCT10.2.0ORADATAdupredo03.log' SIZE 10 M
DATAFILE
'E:ORACLEPRODUCT10.2.0ORADATADUPSYSTEM01.DBF'
CHARACTER SET ZHS16GBK


内存脚本的内容:
{
switch clone datafile all;
}
正在执行内存脚本

释放的通道: ORA_AUX_DISK_1
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=610121450 文件名=E:ORACLEPRODUCT10.2.0ORADATA
DUPUNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=610121450 文件名=E:ORACLEPRODUCT10.2.0ORADATA
DUPSYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=610121450 文件名=E:ORACLEPRODUCT10.2.0ORADATA
DUPUSERS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=610121450 文件名=E:ORACLEPRODUCT10.2.0ORADATA
DUPTEST.DBF
数据文件 8 已转换成数据文件副本
输入数据文件副本 recid=5 stamp=610121450 文件名=E:ORACLEPRODUCT10.2.0ORADATA
DUPTEST3.DBF

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

正在执行命令: SET until clause

启动 recover 于 25-12月-06
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=23 devtype=DISK
数据文件6未被处理, 因为文件已脱机
数据文件7未被处理, 因为文件已脱机

正在开始介质的恢复

存档日志线程 1 序列 5 已作为文件 E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAOR
CLARCHIVELOG2006_12_24O1_MF_1_5_2RVZ8K8S_.ARC 存在于磁盘上
存档日志线程 1 序列 6 已作为文件 E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAOR
CLARCHIVELOG2006_12_25O1_MF_1_6_2RYQRF0Z_.ARC 存在于磁盘上
存档日志文件名 =E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG200
6_12_24O1_MF_1_5_2RVZ8K8S_.ARC 线程 =1 序列 =5
存档日志文件名 =E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG200
6_12_25O1_MF_1_6_2RYQRF0Z_.ARC 线程 =1 序列 =6
介质恢复完成, 用时: 00:00:10
完成 recover 于 25-12月-06

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

数据库已卸载
Oracle 实例已关闭

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

系统全局区域总计 167772160 字节

Fixed Size 1247900 字节
Variable Size 58721636 字节
Database Buffers 104857600 字节
Redo Buffers 2945024 字节
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "DUP" RESETLOGS ARCHIVELOG
MAXLOGFILES 4220
MAXLOGMEMBERS 5
MAXDATAFILES 65534
MAXINSTANCES 1055
MAXLOGHISTORY 10225
LOGFILE
GROUP 1 'E:ORACLEPRODUCT10.2.0ORADATAdupredo01.log' SIZE 10 M ,
GROUP 2 'E:ORACLEPRODUCT10.2.0ORADATAdupredo02.log' SIZE 10 M ,
GROUP 3 'E:ORACLEPRODUCT10.2.0ORADATAdupredo03.log' SIZE 10 M
DATAFILE
'E:ORACLEPRODUCT10.2.0ORADATADUPSYSTEM01.DBF'
CHARACTER SET ZHS16GBK


内存脚本的内容:
{
catalog clone datafilecopy "E:ORACLEPRODUCT10.2.0ORADATADUPUNDOTBS01.D
BF";
catalog clone datafilecopy "E:ORACLEPRODUCT10.2.0ORADATADUPSYSAUX01.DB
F";
catalog clone datafilecopy "E:ORACLEPRODUCT10.2.0ORADATADUPUSERS01.DBF
";
catalog clone datafilecopy "E:ORACLEPRODUCT10.2.0ORADATADUPTEST.DBF";
catalog clone datafilecopy "E:ORACLEPRODUCT10.2.0ORADATADUPTEST3.DBF";

switch clone datafile all;
}
正在执行内存脚本

已将数据文件副本列入目录
数据文件副本 filename=E:ORACLEPRODUCT10.2.0ORADATADUPUNDOTBS01.DBF recid=1
stamp=610122070

已将数据文件副本列入目录
数据文件副本 filename=E:ORACLEPRODUCT10.2.0ORADATADUPSYSAUX01.DBF recid=2
stamp=610122072

已将数据文件副本列入目录
数据文件副本 filename=E:ORACLEPRODUCT10.2.0ORADATADUPUSERS01.DBF recid=3 s
tamp=610122073

已将数据文件副本列入目录
数据文件副本 filename=E:ORACLEPRODUCT10.2.0ORADATADUPTEST.DBF recid=4 stam
p=610122074

已将数据文件副本列入目录
数据文件副本 filename=E:ORACLEPRODUCT10.2.0ORADATADUPTEST3.DBF recid=5 sta
mp=610122076

数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=610122070 文件名=E:ORACLEPRODUCT10.2.0ORADATA
DUPUNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=610122072 文件名=E:ORACLEPRODUCT10.2.0ORADATA
DUPSYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=610122073 文件名=E:ORACLEPRODUCT10.2.0ORADATA
DUPUSERS01.DBF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=610122074 文件名=E:ORACLEPRODUCT10.2.0ORADATA
DUPTEST.DBF
数据文件 8 已转换成数据文件副本
输入数据文件副本 recid=5 stamp=610122076 文件名=E:ORACLEPRODUCT10.2.0ORADATA
DUPTEST3.DBF

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

数据库已打开

内存脚本的内容:
{
# drop offline and skipped tablespaces
sql clone "drop tablespace TEST1 including contents cascade constraints";
}
正在执行内存脚本

sql 语句: drop tablespace TEST1 including contents cascade constraints
完成 Duplicate Db 于 25-12月-06

RMAN>


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

请登录后发表评论 登录
全部评论

注册时间:2007-12-07

  • 博文量
    717
  • 访问量
    5145418