最初由 orientzkd 发布
[B].
怎么用rman复制数据库,有详细的步骤么 [/B]
1,用rman做一个数据库的全备份
2,新创建一个辅助的instance,将instance startup nomount
3,根据数据库的rman备份来复制产生一个新库
下面是我做的测试例子,具体还是看看
Oracle9i Recovery Manager User's Guide
Release 2 (9.2)
Part Number A96566-01
6 RMAN Concepts II: Restore, Recovery, and Duplication
C:\>rmantarget / auxiliary sys/test@test
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation.All rights reserved.
连接到目标数据库: WORLD (DBID=516573805)
已连接到备用数据库: test (未安装)
RMAN> run{
2>allocateauxiliary channel ch1 type disk;
3>duplicate target database to'test'
4>logfile group1 ('c:\oracle\oradata\test\redo01.log') size100k,
5> group2 ('c:\oracle\oradata\test\redo02.log') size100k;
6>release channel ch1;
7>}
正在使用目标数据库控制文件替代恢复目录
分配的通道: ch1
通道 ch1: sid=12 devtype=DISK
启动 Duplicate Db 于 25-8月 -05
正在打印存储的脚本: Memory Script
{
set until scn2593883;
set newname for datafile1 to
"C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF";
set newname for datafile2 to
"C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF";
set newname for datafile3 to
"C:\ORACLE\ORADATA\TEST\CWMLITE01.DBF";
set newname for datafile4 to
"C:\ORACLE\ORADATA\TEST\DRSYS01.DBF";
set newname for datafile5 to
"C:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF";
set newname for datafile6 to
"C:\ORACLE\ORADATA\TEST\INDX01.DBF";
set newname for datafile7 to
"C:\ORACLE\ORADATA\TEST\ODM01.DBF";
set newname for datafile8 to
"C:\ORACLE\ORADATA\TEST\TOOLS01.DBF";
set newname for datafile9 to
"C:\ORACLE\ORADATA\TEST\USERS01.DBF";
set newname for datafile10 to
"C:\ORACLE\ORADATA\TEST\XDB01.DBF";
restore
check readonly
clone database
;
}
正在执行脚本: Memory Script
正在执行命令: SET until clause
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 restore 于 25-8月 -05
通道 ch1: 正在开始恢复数据文件备份集
通道 ch1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF
正将数据文件00002恢复到C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF
正将数据文件00003恢复到C:\ORACLE\ORADATA\TEST\CWMLITE01.DBF
正将数据文件00004恢复到C:\ORACLE\ORADATA\TEST\DRSYS01.DBF
正将数据文件00005恢复到C:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF
正将数据文件00006恢复到C:\ORACLE\ORADATA\TEST\INDX01.DBF
正将数据文件00007恢复到C:\ORACLE\ORADATA\TEST\ODM01.DBF
正将数据文件00008恢复到C:\ORACLE\ORADATA\TEST\TOOLS01.DBF
正将数据文件00009恢复到C:\ORACLE\ORADATA\TEST\USERS01.DBF
正将数据文件00010恢复到C:\ORACLE\ORADATA\TEST\XDB01.DBF
通道 ch1: 已恢复备份段 1
段 handle=C:\ORACLE\ORA92\DATABASE\02GSTTOQ_1_1 tag=TAG0824T225002 params=N
LL
通道 ch1: 恢复完成
完成 restore 于 25-8月 -05
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "test" RESETLOGS ARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP1 ( 'c:\oracle\oradata\test\redo01.log' ) SIZE 102400 ,
GROUP2 ( 'c:\oracle\oradata\test\redo02.log' ) SIZE 102400
DATAFILE
'C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
正在打印存储的脚本: Memory Script
{
switch clone datafile all;
}
正在执行脚本: Memory Script
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=567248609 文件名=C:\ORACLE\ORADATA\TEST\UNDOTBS0
.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=567248609 文件名=C:\ORACLE\ORADATA\TEST\CWMLITE0
.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=567248609 文件名=C:\ORACLE\ORADATA\TEST\DRSYS01.
BF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=567248610 文件名=C:\ORACLE\ORADATA\TEST\EXAMPLE0
.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=5 stamp=567248610 文件名=C:\ORACLE\ORADATA\TEST\INDX01.D
F
数据文件 7 已转换成数据文件副本
输入数据文件副本 recid=6 stamp=567248610 文件名=C:\ORACLE\ORADATA\TEST\ODM01.DB
数据文件 8 已转换成数据文件副本
输入数据文件副本 recid=7 stamp=567248610 文件名=C:\ORACLE\ORADATA\TEST\TOOLS01.
BF
数据文件 9 已转换成数据文件副本
输入数据文件副本 recid=8 stamp=567248610 文件名=C:\ORACLE\ORADATA\TEST\USERS01.
BF
数据文件 10 已转换成数据文件副本
输入数据文件副本 recid=9 stamp=567248610 文件名=C:\ORACLE\ORADATA\TEST\XDB01.DB
正在打印存储的脚本: Memory Script
{
set until scn2593883;
recover
clone database
delete archivelog
;
}
正在执行脚本: Memory Script
正在执行命令: SET until clause
启动 recover 于 25-8月 -05
正在开始介质的恢复
存档日志线程 1 序列 25 已作为文件 C:\ORACLE\ORA92\RDBMS\ARC00025.001 存在于磁盘
上
存档日志线程 1 序列 26 已作为文件 C:\ORACLE\ORA92\RDBMS\ARC00026.001 存在于磁盘
上
存档日志线程 1 序列 27 已作为文件 C:\ORACLE\ORA92\RDBMS\ARC00027.001 存在于磁盘
上
存档日志文件名 =C:\ORACLE\ORA92\RDBMS\ARC00025.001 线程 =1 序列 =25
存档日志文件名 =C:\ORACLE\ORA92\RDBMS\ARC00026.001 线程 =1 序列 =26
存档日志文件名 =C:\ORACLE\ORA92\RDBMS\ARC00027.001 线程 =1 序列 =27
完成介质的恢复
完成 recover 于 25-8月 -05
正在打印存储的脚本: Memory Script
{
shutdown clone;
startup clone nomount ;
}
正在执行脚本: Memory Script
数据库已卸载
Oracle 例程已关闭
已连接到备用数据库 (未启动)
Oracle 例程已启动
系统全局区域总计 105978600 字节
Fixed Size 453352 字节
Variable Size83886080 字节
Database Buffers 20971520 字节
Redo Buffers667648 字节
sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "test" RESETLOGS ARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP1 ( 'c:\oracle\oradata\test\redo01.log' ) SIZE 102400 ,
GROUP2 ( 'c:\oracle\oradata\test\redo02.log' ) SIZE 102400
DATAFILE
'C:\ORACLE\ORADATA\TEST\SYSTEM01.DBF'
CHARACTER SET ZHS16GBK
正在打印存储的脚本: Memory Script
{
catalog clone datafilecopy"C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF";
catalog clone datafilecopy"C:\ORACLE\ORADATA\TEST\CWMLITE01.DBF";
catalog clone datafilecopy"C:\ORACLE\ORADATA\TEST\DRSYS01.DBF";
catalog clone datafilecopy"C:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF";
catalog clone datafilecopy"C:\ORACLE\ORADATA\TEST\INDX01.DBF";
catalog clone datafilecopy"C:\ORACLE\ORADATA\TEST\ODM01.DBF";
catalog clone datafilecopy"C:\ORACLE\ORADATA\TEST\TOOLS01.DBF";
catalog clone datafilecopy"C:\ORACLE\ORADATA\TEST\USERS01.DBF";
catalog clone datafilecopy"C:\ORACLE\ORADATA\TEST\XDB01.DBF";
switch clone datafile all;
}
正在执行脚本: Memory Script
已将数据文件副本列入目录
数据文件副本 filename=C:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF recid=1 stamp=567248
43
已将数据文件副本列入目录
数据文件副本 filename=C:\ORACLE\ORADATA\TEST\CWMLITE01.DBF recid=2 stamp=567248
43
已将数据文件副本列入目录
数据文件副本 filename=C:\ORACLE\ORADATA\TEST\DRSYS01.DBF recid=3 stamp=56724864
已将数据文件副本列入目录
数据文件副本 filename=C:\ORACLE\ORADATA\TEST\EXAMPLE01.DBF recid=4 stamp=567248
43
已将数据文件副本列入目录
数据文件副本 filename=C:\ORACLE\ORADATA\TEST\INDX01.DBF recid=5 stamp=567248644
已将数据文件副本列入目录
数据文件副本 filename=C:\ORACLE\ORADATA\TEST\ODM01.DBF recid=6 stamp=567248644
已将数据文件副本列入目录
数据文件副本 filename=C:\ORACLE\ORADATA\TEST\TOOLS01.DBF recid=7 stamp=56724864
已将数据文件副本列入目录
数据文件副本 filename=C:\ORACLE\ORADATA\TEST\USERS01.DBF recid=8 stamp=56724864
已将数据文件副本列入目录
数据文件副本 filename=C:\ORACLE\ORADATA\TEST\XDB01.DBF recid=9 stamp=567248645
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=1 stamp=567248643 文件名=C:\ORACLE\ORADATA\TEST\UNDOTBS0
.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 recid=2 stamp=567248643 文件名=C:\ORACLE\ORADATA\TEST\CWMLITE0
.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=3 stamp=567248643 文件名=C:\ORACLE\ORADATA\TEST\DRSYS01.
BF
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=4 stamp=567248643 文件名=C:\ORACLE\ORADATA\TEST\EXAMPLE0
.DBF
数据文件 6 已转换成数据文件副本
输入数据文件副本 recid=5 stamp=567248644 文件名=C:\ORACLE\ORADATA\TEST\INDX01.D
F
数据文件 7 已转换成数据文件副本
输入数据文件副本 recid=6 stamp=567248644 文件名=C:\ORACLE\ORADATA\TEST\ODM01.DB
数据文件 8 已转换成数据文件副本
输入数据文件副本 recid=7 stamp=567248644 文件名=C:\ORACLE\ORADATA\TEST\TOOLS01.
BF
数据文件 9 已转换成数据文件副本
输入数据文件副本 recid=8 stamp=567248644 文件名=C:\ORACLE\ORADATA\TEST\USERS01.
BF
数据文件 10 已转换成数据文件副本
输入数据文件副本 recid=9 stamp=567248645 文件名=C:\ORACLE\ORADATA\TEST\XDB01.DB
正在打印存储的脚本: Memory Script
{
Alter clone database open resetlogs;
}
正在执行脚本: Memory Script
数据库已打开
完成 Duplicate Db 于 25-8月 -05