目标:使用rman将数据库A备份,并恢复到到数据库B,目录由 d:\oracle 变更为 d:\oracle_rman
步骤:
对数据库A进行rman全量备份:- C:\Documents and Settings\xGss2000> rman target /
-
-
恢复管理器: Release 10.2.0.1.0 - Production on 星期一 8月 15 21:51:08 2011
-
-
Copyright (c) 1982, 2005, Oracle. All rights reserved.
-
-
连接到目标数据库: ORCL (DBID=1286878859)
-
-
RMAN> backup database plus archivelog;
-
启动 backup 于 15-8月 -11
-
当前日志已存档
-
使用通道 ORA_DISK_1
-
通道 ORA_DISK_1: 正在启动存档日志备份集
-
通道 ORA_DISK_1: 正在指定备份集中的存档日志
-
输入存档日志线程 =1 序列 =1 记录 ID=13 时间戳=759275353
-
输入存档日志线程 =1 序列 =2 记录 ID=14 时间戳=759275439
-
输入存档日志线程 =1 序列 =3 记录 ID=15 时间戳=759277330
-
通道 ORA_DISK_1: 正在启动段 1 于 15-8月 -11
-
通道 ORA_DISK_1: 已完成段 1 于 15-8月 -11
-
段句柄=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_08_15\O1_MF_ANNNN_TAG20110815T222210_74LBWN0Z_.BKP 标记=TAG20110815T222210 注释=NONE
-
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:09
-
通道 ORA_DISK_1: 正在启动存档日志备份集
-
通道 ORA_DISK_1: 正在指定备份集中的存档日志
-
输入存档日志线程 =1 序列 =1 记录 ID=6 时间戳=759272681
-
输入存档日志线程 =1 序列 =4 记录 ID=10 时间戳=759272898
-
输入存档日志线程 =1 序列 =5 记录 ID=11 时间戳=759272899
-
输入存档日志线程 =1 序列 =6 记录 ID=12 时间戳=759272899
-
通道 ORA_DISK_1: 正在启动段 1 于 15-8月 -11
-
通道 ORA_DISK_1: 已完成段 1 于 15-8月 -11
-
段句柄=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_08_15\O1_MF_ANNNN_TAG20110815T222210_74LBWW8S_.BKP 标记=TAG20110815T222210 注释=NONE
-
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:04
-
完成 backup 于 15-8月 -11
-
-
启动 backup 于 15-8月 -11
-
使用通道 ORA_DISK_1
-
通道 ORA_DISK_1: 启动全部数据文件备份集
-
通道 ORA_DISK_1: 正在指定备份集中的数据文件
-
输入数据文件 fno=00001 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
-
输入数据文件 fno=00003 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
-
输入数据文件 fno=00005 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
-
输入数据文件 fno=00002 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
-
输入数据文件 fno=00004 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
-
通道 ORA_DISK_1: 正在启动段 1 于 15-8月 -11
-
通道 ORA_DISK_1: 已完成段 1 于 15-8月 -11
-
段句柄=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_08_15\O1_MF_NNNDF_TAG20110815T222223_74LBX0VC_.BKP 标记=TAG20110815T222223 注释=NONE
-
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:25
-
通道 ORA_DISK_1: 启动全部数据文件备份集
-
通道 ORA_DISK_1: 正在指定备份集中的数据文件
-
备份集中包括当前控制文件
-
在备份集中包含当前的 SPFILE
-
通道 ORA_DISK_1: 正在启动段 1 于 15-8月 -11
-
通道 ORA_DISK_1: 已完成段 1 于 15-8月 -11
-
段句柄=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_08_15\O1_MF_NCSNF_TAG20110815T222223_74LBZQ3X_.BKP 标记=TAG20110815T222223 注释=NONE
-
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
-
完成 backup 于 15-8月 -11
-
-
启动 backup 于 15-8月 -11
-
当前日志已存档
-
使用通道 ORA_DISK_1
-
通道 ORA_DISK_1: 正在启动存档日志备份集
-
通道 ORA_DISK_1: 正在指定备份集中的存档日志
-
输入存档日志线程 =1 序列 =4 记录 ID=16 时间戳=759277432
-
通道 ORA_DISK_1: 正在启动段 1 于 15-8月 -11
-
通道 ORA_DISK_1: 已完成段 1 于 15-8月 -11
-
段句柄=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_08_15\O1_MF_ANNNN_TAG20110815T222352_74LBZT0H_.BKP 标记=TAG20110815T222352 注释=NONE
-
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
-
完成 backup 于 15-8月 -11
将备份文件复制到要恢复的机器上略。
以下操作均在新系统操作。使用dbca创建数据库,shutdown,删除orcl目录下所有文件,然后启动到nomount状态,注意sid要相同。- SQL> shutdown immediate;
-
-
ORACLE 例程已经关闭。
-- 此时,删除orcl目录下所有文件。注意:要保留orcl目录,即orcl目录状态为空。
-
SQL> startup nomount;
-
ORACLE 例程已经启动。
-
-
Total System Global Area 171966464 bytes
-
Fixed Size 1247924 bytes
-
Variable Size 71304524 bytes
-
Database Buffers 96468992 bytes
-
Redo Buffers 2945024 bytes
-
SQL>
通过rman的备份文件 恢复control文件- C:\Documents and Settings\xGss2000>rman target /
-
-
恢复管理器: Release 10.2.0.1.0 - Production on 星期一 8月 15 23:17:23 2011
-
-
Copyright (c) 1982, 2005, Oracle. All rights reserved.
-
-
连接到目标数据库: orcl (未装载)
-
-
RMAN> restore controlfile from 'D:\oracle_rman\product\10.2.0\flash_recovery_area\ORCL\BACKUPSET\2011_08_15\O1_MF_NCSNF_TAG20110815T222223_74LBZQ3X_.BKP';
-
-
启动 restore 于 15-8月 -11
-
使用目标数据库控制文件替代恢复目录
-
分配的通道: ORA_DISK_1
-
通道 ORA_DISK_1: sid=156 devtype=DISK
-
-
通道 ORA_DISK_1: 正在复原控制文件
-
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:05
-
输出文件名=D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL
-
输出文件名=D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL
-
输出文件名=D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL
-
完成 restore 于 15-8月 -11
将数据库mount,并且备份control文件到trace(为了重建control文件,因为目录变更,control文件内容是错误的。)- SQL> alter database mount;
-
-
数据库已更改。
-
-
SQL> alter database backup controlfile to trace as 'd:\control_new.trc';
-
-
数据库已更改。
再次登录rman,观察backup file,此时,我们已经可以看到backupset了。- RMAN> list backup;
-
-
-
备份集列表
-
===================
-
-
BS 关键字 大小 设备类型占用时间 完成时间
-
------- ---------- ----------- ------------ ----------
-
17 30.81M DISK 00:00:06 15-8月 -11
-
BP 关键字: 17 状态: AVAILABLE 已压缩: NO 标记: TAG20110815T222210
-
段名:D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_08_15\O1_MF_ANNNN_TAG20110815T222210_74LBWN0Z_.BKP
-
-
备份集 17 中的已存档日志列表
-
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
-
---- ------- ---------- ---------- ---------- ---------
-
1 1 646698 15-8月 -11 648491 15-8月 -11
-
1 2 648491 15-8月 -11 648533 15-8月 -11
-
1 3 648533 15-8月 -11 655356 15-8月 -11
-
-
BS 关键字 大小 设备类型占用时间 完成时间
-
------- ---------- ----------- ------------ ----------
-
18 3.15M DISK 00:00:02 15-8月 -11
-
BP 关键字: 18 状态: AVAILABLE 已压缩: NO 标记: TAG20110815T222210
-
段名:D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_08_15\O1_MF_ANNNN_TAG20110815T222210_74LBWW8S_.BKP
-
-
备份集 18 中的已存档日志列表
-
Thrd Seq 低 SCN 短时间 下一个 SCN 下一次
-
---- ------- ---------- ---------- ---------- ---------
-
1 1 581730 14-8月 -11 602775 14-8月 -11
-
1 4 641802 15-8月 -11 642356 15-8月 -11
-
1 5 642356 15-8月 -11 642477 15-8月 -11
-
1 6 642477 15-8月 -11 646698 15-8月 -11
-
-
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
-
------- ---- -- ---------- ----------- ------------ ----------
-
19 Full 609.91M DISK 00:01:19 15-8月 -11
-
BP 关键字: 19 状态: AVAILABLE 已压缩: NO 标记: TAG20110815T222223
-
段名:D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_08_15\O1_MF_NNNDF_TAG20110815T222223_74LBX0VC_.BKP
-
备份集 19 中的数据文件列表
-
文件 LV 类型 Ckp SCN Ckp 时间 名称
-
---- -- ---- ---------- ---------- ----
-
1 Full 655370 15-8月 -11 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
-
2 Full 655370 15-8月 -11 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
-
3 Full 655370 15-8月 -11 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
-
4 Full 655370 15-8月 -11 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
-
5 Full 655370 15-8月 -11 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
我们发现,backup中datafile路径是错误的,需要修正。- RMAN> run {
-
2> set newname for datafile 1 to 'D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF';
-
3> set newname for datafile 2 to 'D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF';
-
4> set newname for datafile 3 to 'D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF';
-
5> set newname for datafile 4 to 'D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF';
-
6> set newname for datafile 5 to 'D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF';
-
7> restore database;
-
8> switch datafile all;
-
9> }
-
-
正在执行命令: SET NEWNAME
-
-
正在执行命令: SET NEWNAME
-
-
正在执行命令: SET NEWNAME
-
-
正在执行命令: SET NEWNAME
-
-
正在执行命令: SET NEWNAME
-
-
启动 restore 于 15-8月 -11
-
使用通道 ORA_DISK_1
-
-
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
-
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
-
正将数据文件00001恢复到D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
-
正将数据文件00002恢复到D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
-
正将数据文件00003恢复到D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
-
正将数据文件00004恢复到D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
-
正将数据文件00005恢复到D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
-
通道 ORA_DISK_1: 正在读取备份段 D:\ORACLE_RMAN\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_08_15\O1_MF_NNNDF_TAG20110815T222223_74LBX0VC_.BKP
-
通道 ORA_DISK_1: 已恢复备份段 1
-
段句柄 = D:\ORACLE_RMAN\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_08_15\O1_MF_NNNDF_TAG20110815T222223_74LBX0VC_.BKP 标记 = TAG20110815T222223
-
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:35
-
完成 restore 于 15-8月 -11
-
-
数据文件 1 已转换成数据文件副本
-
输入数据文件副本 recid=16 stamp=759282825 文件名=D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
-
数据文件 2 已转换成数据文件副本
-
输入数据文件副本 recid=17 stamp=759282825 文件名=D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
-
数据文件 3 已转换成数据文件副本
-
输入数据文件副本 recid=18 stamp=759282825 文件名=D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
-
数据文件 4 已转换成数据文件副本
-
输入数据文件副本 recid=19 stamp=759282825 文件名=D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
-
数据文件 5 已转换成数据文件副本
-
输入数据文件副本 recid=20 stamp=759282825 文件名=D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
通过刚才的trc文件重建control 文件,注意需要修改相关路径。- ## 重建control需要nomount状态
SQL> shutdown immediate; -
-
ORA-01109: ??????
-
-
已经卸载数据库。
-
ORACLE 例程已经关闭。
- SQL> startup nomount;
-
ORACLE 例程已经启动。
-
-
Total System Global Area 171966464 bytes
-
Fixed Size 1247924 bytes
-
Variable Size 71304524 bytes
-
Database Buffers 96468992 bytes
-
Redo Buffers 2945024 bytes
重建control文件脚本(从backup to trace 的文件得来)- CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS FORCE LOGGING ARCHIVELOG
-
MAXLOGFILES 16
-
MAXLOGMEMBERS 3
-
MAXDATAFILES 100
-
MAXINSTANCES 8
-
MAXLOGHISTORY 292
-
LOGFILE
-
GROUP 1 'D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG' SIZE 50M,
-
GROUP 2 'D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG' SIZE 50M,
-
GROUP 3 'D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG' SIZE 50M
-
-- STANDBY LOGFILE
-
-
DATAFILE
-
'D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF',
-
'D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF',
-
'D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF',
-
'D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF',
-
'D:\ORACLE_RMAN\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF'
-
CHARACTER SET ZHS16GBK
-
;
recover and open- RMAN> recover database;
-
-
启动 recover 于 15-8月 -11
-
使用目标数据库控制文件替代恢复目录
-
分配的通道: ORA_DISK_1
-
通道 ORA_DISK_1: sid=155 devtype=DISK
-
-
正在开始介质的恢复
-
-
无法找到存档日志
-
存档日志线程 =1 序列=4
-
MAN-00571: ===========================================================
-
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
-
RMAN-00571: ===========================================================
-
RMAN-03002: recover 命令 (在 08/15/2011 23:59:52 上) 失败
-
RMAN-06054: 介质恢复正请求未知的日志: 线程 1 seq 4 lowscn 655370
-
-
RMAN> alter database open resetlogs;
-
-
数据库已打开
阅读(12564) | 评论(0) | 转发(1) |