用RMAN备份建立新的数据库 各位大侠请指教,我用RMAN备份了数据库,我想在另外一台机器上建立一个完全一样的数据库,请问使用RMAN备份的那两个数据文件可不可以做到?如果能做到,应该怎么做?如果做不到,有什么办法可以在另一台机器上建立一个完全一样的数据库?是否要用到其他方式的备份?请各位大侠把操作的过程说的详细一些,我ORACLE是个二把刀,谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 RMAN复制数据库虽然麻烦些,但是与EXP相比,不用在新库建相应的数据文件就能得到与原库一样物理结构的新库。具体过程步骤还是比较多,不好写可以去网上搜搜一大堆。帮你搜个:http://hi.baidu.com/dbaeyes/blog/item/78d08d1fc6e5600f304e15bf.html rman能不能恢复一个复制环境,主要看你rman备份是否完全并正确。给你一个例子,讲的比较详细(zt):注意:没有catalog也可以duplicate要确保一个database full backup!9i 下大致过程!C:>rman catalog rman/rman@dmt target sys/system@lmt恢复管理器: 版本9.2.0.1.0 - ProductionCopyright (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 dup5> pfile='c:oracleadminduppfileinit.ora'6> logfile7> '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月 -06RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of Duplicate Db command at 06/03/2006 20:39:38RMAN-06174: not connected to auxiliary databaseRMAN> 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 dup5> pfile='c:oracleadminduppfileinit.ora'6> logfile7> '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";restorecheck readonlyclone 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=NULL通道 ORA_AUX_DISK_1: 恢复完成完成 restore 于 03-6月 -06sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "dup" RESETLOGS ARCHIVELOGMAXLOGFILES 5MAXLOGMEMBERS 3MAXDATAFILES 100MAXINSTANCES 1MAXLOGHISTORY 453LOGFILEGROUP 1 'c:oracleoradatadupredo01.log' SIZE 1048576 ,GROUP 2 'c:oracleoradatadupredo02.log' SIZE 1048576 ,GROUP 3 'c:oracleoradatadupredo03.log' SIZE 1048576DATAFILE'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;recoverclone databasedelete 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 ARCHIVELOGMAXLOGFILES 5MAXLOGMEMBERS 3MAXDATAFILES 100MAXINSTANCES 1MAXLOGHISTORY 453LOGFILEGROUP 1 'c:oracleoradatadupredo01.log' SIZE 1048576 ,GROUP 2 'c:oracleoradatadupredo02.log' SIZE 1048576 ,GROUP 3 'c:oracleoradatadupredo03.log' SIZE 1048576DATAFILE'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=592173801数据文件 2 已转换成数据文件副本输入数据文件副本 recid=1 stamp=592173801 文件名=C:ORACLEORADATADUPUNDOTBS01.DBF正在打印存储的脚本: Memory Script{Alter clone database open resetlogs;}正在执行脚本: Memory Script数据库已打开完成 Duplicate Db 于 03-6月 -06RMAN> --==============================================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 2006Copyright (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.DBF';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 test19> logfile10> '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";restorecheck readonlyclone databaseskip 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_AREAORCLBACKUPSET2006_12_23O1_MF_NNNDF_TAG20061223T164719_2RSV8VM1_.BKP通道 ORA_AUX_DISK_1: 已恢复备份段 1段句柄 = E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLBACKUPSET2006_12_23O1_MF_NNNDF_TAG20061223T164719_2RSV8VM1_.BKP 标记 = TAG20061223T164719通道 ORA_AUX_DISK_1: 恢复完成, 用时: 00:00:55完成 restore 于 25-12月-06sql 语句: CREATE CONTROLFILE REUSE SET DATABASE "DUP" RESETLOGS ARCHIVELOGMAXLOGFILES 4220MAXLOGMEMBERS 5MAXDATAFILES 65534MAXINSTANCES 1055MAXLOGHISTORY 10225LOGFILEGROUP 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 MDATAFILE'E:ORACLEPRODUCT10.2.0ORADATADUPSYSTEM01.DBF'CHARACTER SET ZHS16GBK内存脚本的内容:{switch clone datafile all;}正在执行内存脚本释放的通道: ORA_AUX_DISK_1数据文件 2 已转换成数据文件副本输入数据文件副本 recid=1 stamp=610121450 文件名=E:ORACLEPRODUCT10.2.0ORADATADUPUNDOTBS01.DBF数据文件 3 已转换成数据文件副本输入数据文件副本 recid=2 stamp=610121450 文件名=E:ORACLEPRODUCT10.2.0ORADATADUPSYSAUX01.DBF数据文件 4 已转换成数据文件副本输入数据文件副本 recid=3 stamp=610121450 文件名=E:ORACLEPRODUCT10.2.0ORADATADUPUSERS01.DBF数据文件 5 已转换成数据文件副本输入数据文件副本 recid=4 stamp=610121450 文件名=E:ORACLEPRODUCT10.2.0ORADATADUPTEST.DBF数据文件 8 已转换成数据文件副本输入数据文件副本 recid=5 stamp=610121450 文件名=E:ORACLEPRODUCT10.2.0ORADATADUPTEST3.DBF内存脚本的内容:{set until scn 742507;recoverclone databasedelete 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_AREAORCLARCHIVELOG2006_12_24O1_MF_1_5_2RVZ8K8S_.ARC 存在于磁盘上存档日志线程 1 序列 6 已作为文件 E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG2006_12_25O1_MF_1_6_2RYQRF0Z_.ARC 存在于磁盘上存档日志文件名 =E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG2006_12_24O1_MF_1_5_2RVZ8K8S_.ARC 线程 =1 序列 =5存档日志文件名 =E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREAORCLARCHIVELOG2006_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 ARCHIVELOGMAXLOGFILES 4220MAXLOGMEMBERS 5MAXDATAFILES 65534MAXINSTANCES 1055MAXLOGHISTORY 10225LOGFILEGROUP 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 MDATAFILE'E:ORACLEPRODUCT10.2.0ORADATADUPSYSTEM01.DBF'CHARACTER SET ZHS16GBK内存脚本的内容:{catalog clone datafilecopy "E:ORACLEPRODUCT10.2.0ORADATADUPUNDOTBS01.DBF";catalog clone datafilecopy "E:ORACLEPRODUCT10.2.0ORADATADUPSYSAUX01.DBF";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=1stamp=610122070已将数据文件副本列入目录数据文件副本 filename=E:ORACLEPRODUCT10.2.0ORADATADUPSYSAUX01.DBF recid=2stamp=610122072已将数据文件副本列入目录数据文件副本 filename=E:ORACLEPRODUCT10.2.0ORADATADUPUSERS01.DBF recid=3 stamp=610122073已将数据文件副本列入目录数据文件副本 filename=E:ORACLEPRODUCT10.2.0ORADATADUPTEST.DBF recid=4 stamp=610122074已将数据文件副本列入目录数据文件副本 filename=E:ORACLEPRODUCT10.2.0ORADATADUPTEST3.DBF recid=5 stamp=610122076数据文件 2 已转换成数据文件副本输入数据文件副本 recid=1 stamp=610122070 文件名=E:ORACLEPRODUCT10.2.0ORADATADUPUNDOTBS01.DBF数据文件 3 已转换成数据文件副本输入数据文件副本 recid=2 stamp=610122072 文件名=E:ORACLEPRODUCT10.2.0ORADATADUPSYSAUX01.DBF数据文件 4 已转换成数据文件副本输入数据文件副本 recid=3 stamp=610122073 文件名=E:ORACLEPRODUCT10.2.0ORADATADUPUSERS01.DBF数据文件 5 已转换成数据文件副本输入数据文件副本 recid=4 stamp=610122074 文件名=E:ORACLEPRODUCT10.2.0ORADATADUPTEST.DBF数据文件 8 已转换成数据文件副本输入数据文件副本 recid=5 stamp=610122076 文件名=E:ORACLEPRODUCT10.2.0ORADATADUPTEST3.DBF内存脚本的内容:{Alter clone database open resetlogs;}正在执行内存脚本数据库已打开内存脚本的内容:{# drop offline and skipped tablespacessql clone "drop tablespace TEST1 including contents cascade constraints";}正在执行内存脚本sql 语句: drop tablespace TEST1 including contents cascade constraints完成 Duplicate Db 于 25-12月-06RMAN> 当然你也可以使用dg方式直接生成一个数据库,然后使用failover方式切换成primary database. 不太会用RMAN,不熟悉这个的情况我一般用 exp/imp 来实现从一台机器到另一台机器的数据库移动。 完全可以。不过想简单点的话,oracle安装路径,参数设置需要和原来的一模一样 如果急的话,可以用imp/exp来做,简单一些 我现在就有用RMAN备份的两个文件,和一台新的机器啊,请问如何恢复,谢谢了 http://ningoo.itpub.net/post/2149/190772 实际上也不一定需要clone。直接restore也是可以的,从原库将控制文件备份一个复制过去,然后就和原库损坏要做恢复一样的操作。看看rman的手册吧,会备份,还要会恢复才行,不要要备份做什么用 我做了次实验,按以下步骤成功了:1. 首先我们需要创建新的instance 请准备好相应的目录结构。2.然后需要创建参数文件pfile(你可以使用原库的pfile进行修改)新增(后为备库):DB_FILE_NAME_CONVERT=('E:\oracle\oradata\ning\','E:\oracle\oradata\test\') LOG_FILE_NAME_CONVERT=('E:\oracle\oradata\ning\','E:\oracle\oradata\test\')3.使用oradim创建新的instance 4.使用orapwd创建password文件 5.配置好监听和tnsnames6.使用rman备份原库:backup full database;7.备库nomount8.使用rman复制数据库:rman target sys/ning@ning AUXILIARY sys/test@test DUPLICATE TARGET DATABASE TO '备库sid';9.然后去掉inittest.ora的DB_FILE_NAME_CONVERT和LOG_FILE_NAME_CONVERT参数,再使用该文件生成spfile 8.使用rman复制数据库:rman target sys/ning@ning AUXILIARY sys/test@testDUPLICATE TARGET DATABASE TO '备库sid'; 这是22楼朋友回复里的一条,看这个样子,还需要用到原库啊?我前面说了,只有RMAN备份的文件和一台新服务器啊 sql优化问题 如何将文本文件的内容导入ORACLE linux下oracle问题?? DOS界面的字符排版问题 oracle存储过程问题 oracle中怎么实现主健自动生成 大哥们,我快郁闷死了,关于数据库资源占用问题!!救我!!!!!!!!!!!!!!!!!!! 求和,SQl语句,算法 oracle中用c++如何存取longraw型的数据?有现成的程序段最好! JDBC连接ORACLE数据库时报java.sql.SQLException:违反协议 跪求CNOUG的邀请码 请问 oracle 12个月份
具体过程步骤还是比较多,不好写可以去网上搜搜一大堆。
帮你搜个:http://hi.baidu.com/dbaeyes/blog/item/78d08d1fc6e5600f304e15bf.html
给你一个例子,讲的比较详细(zt):
注意:没有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>
新增(后为备库):
DB_FILE_NAME_CONVERT=('E:\oracle\oradata\ning\','E:\oracle\oradata\test\')
LOG_FILE_NAME_CONVERT=('E:\oracle\oradata\ning\','E:\oracle\oradata\test\')3.使用oradim创建新的instance 4.使用orapwd创建password文件 5.配置好监听和tnsnames6.使用rman备份原库:backup full database;7.备库nomount8.使用rman复制数据库:
rman target sys/ning@ning AUXILIARY sys/test@test
DUPLICATE TARGET DATABASE TO '备库sid';9.然后去掉inittest.ora的DB_FILE_NAME_CONVERT和LOG_FILE_NAME_CONVERT参数,再使用该文件生成spfile
rman target sys/ning@ning AUXILIARY sys/test@test
DUPLICATE TARGET DATABASE TO '备库sid'; 这是22楼朋友回复里的一条,看这个样子,还需要用到原库啊?我前面说了,只有RMAN备份的文件和一台新服务器啊