分类: Oracle
2010-09-08 21:47:05
RMAN 完全恢复和不完全恢复只适用于ARCHIVELOG 模式。
11.1 RMAN 恢复综述
1. RMAN 完全恢复
RMAN 完全恢复是指当数据文件出现介质失败时,用RESTORE 命令转储数据文件备份,并使用RECOVER 命令将数据文件恢复到失败点的状态。
2. RMAN 不完全恢复
RMAN 不完全恢复是指当数据库出现介质失败或逻辑失败时,使用RESTORE 命令转储备份,并使用RECOVER 命令将数据库恢复到备份点与失败点之间某个时刻的状态。
3. RMAN 转储命令
(1) RESTORE DATABASE。
转储数据库的所有数据文件。该命令只能在MOUNT 下使用。
(2) RESTORE TABLESPACE。
转储特定表空间的数据文件。该命令只能在OPEN 下使用。
(3) RESTORE DATAFILE。
转储特定数据文件。该命令既可以在OPEN 下使用,也可以在MOUNT 下使用。
(4) RESTORE CONTROLFILE。
转储控制文件。该命令只能在NOMOUNT 下使用。
(5) RESTORE ARCHIVELOG。
转储归档日志。该命令既可以在MOUNT 下使用,也可以在OPEN 下使用。
(6) RESTORE SPFILE。
转储服务器参数文件。该命令只能在NOMOUNT 状态下使用。
4. RMAN 恢复命令
(1) RECOVER DATABASE。
恢复数据库所有数据文件。该命令只能在MOUNT 状态下使用。
(2) RECOVER TABLESPACE。
恢复特定表空间的所有数据文件。该命令只能在OPEN 状态下使用。
(3) RECOVER DATAFILE。
恢复特定数据文件。该命令既可以在MOUNT 状态下使用,也可以在OPEN 状态下使用。
11.2 RMAN 完全恢复
11.2.1 恢复数据库
(1) 所有数据文件被删除。
RMAN> shutdown immediate
数据库已关闭
数据库已卸载
Oracle 实例已关闭
RMAN> run
2> {
3> host "del D:\DEMO\SYSTEM01.DBF";
4>
host "del D:\DEMO\SYSAUX01.DBF";
5> host "del D:\DEMO\USERS01.DBF";
6> host "del D:\DEMO\UNDOTBS01.DBF";
7> }
主机命令完成
主机命令完成
主机命令完成
主机命令完成
RMAN> startup force mount
Oracle 实例已启动
数据库已装载
系统全局区域总计 167772160 字节
Fixed Size 1247900 字节
Variable Size
79693156 字节
Database Buffers 83886080 字节
Redo
Buffers 2945024 字节
SQL * PLUS 查询需要恢复的文件。
SQL> conn / as sysdba
已连接。
SQL> select file#,error from
v$recover_file;
FILE# ERROR
----------
-----------------------------------------------------------------
1
FILE NOT FOUND
2 FILE NOT FOUND
3 FILE NOT FOUND
4 FILE NOT FOUND
RMAN> run
2> {
3> restore database;
4> recover
database;
5> sql 'alter database open';
6> }
启动 restore 于 08-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=155
devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00002恢复到D:\DEMO\UNDOTBS01.DBF
正将数据文件00003恢复到D:\DEMO\SYSAUX01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\1008\DEMO_116_1.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\1008\DEMO_116_1.DBF 标记 = TAG20081008T145913
通道 ORA_DISK_1:
正在读取备份段 D:\1008\DEMO_116_2.DBF
通道 ORA_DISK_1: 已恢复备份段 2
段句柄 =
D:\1008\DEMO_116_2.DBF 标记 = TAG20081008T145913
通道 ORA_DISK_1: 恢复完成, 用时:
00:01:00
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00004恢复到D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\1008\USERS_119.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\1008\USERS_119.DBF 标记 = TAG20081008T150644
通道 ORA_DISK_1: 恢复完成, 用时:
00:00:25
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\DEMO\SYSTEM01.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\1008\SYSTEM_120.DBF
故障转移到上一个备份
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\DEMO\SYSTEM01.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\1008\DEMO_116_1.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\1008\DEMO_116_1.DBF 标记 = TAG20081008T145913
通道 ORA_DISK_1: 正在读取备份段
D:\1008\DEMO_116_2.DBF
通道 ORA_DISK_1: 已恢复备份段 2
段句柄 =
D:\1008\DEMO_116_2.DBF 标记 = TAG20081008T145913
通道 ORA_DISK_1: 恢复完成, 用时:
00:01:10
完成 restore 于 08-10月-08
启动 recover 于 08-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 25 已作为文件 C:\DEMO\ARCHIVE\25_1_667054810.LOG 存在于磁盘上
存档日志线程 1
序列 26 已作为文件 C:\DEMO\ARCHIVE\26_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 27 已作为文件
C:\DEMO\ARCHIVE\27_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 28 已作为文件
C:\DEMO\ARCHIVE\28_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 29 已作为文件
C:\DEMO\ARCHIVE\29_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 30 已作为文件
C:\DEMO\ARCHIVE\30_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 31 已作为文件
C:\DEMO\ARCHIVE\31_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 32 已作为文件
C:\DEMO\ARCHIVE\32_1_667054810.LOG 存在于磁盘上
存档日志文件名
=C:\DEMO\ARCHIVE\25_1_667054810.LOG 线程 =1 序列 =25
存档日志文件名
=C:\DEMO\ARCHIVE\26_1_667054810.LOG 线程 =1 序列 =26
存档日志文件名
=C:\DEMO\ARCHIVE\27_1_667054810.LOG 线程 =1 序列 =27
存档日志文件名
=C:\DEMO\ARCHIVE\28_1_667054810.LOG 线程 =1 序列 =28
存档日志文件名
=C:\DEMO\ARCHIVE\29_1_667054810.LOG 线程 =1 序列 =29
存档日志文件名
=C:\DEMO\ARCHIVE\30_1_667054810.LOG 线程 =1 序列 =30
介质恢复完成, 用时: 00:00:02
完成
recover 于 08-10月-08
sql 语句: alter database open
(2) 数据文件所在磁盘出现硬件故障。
RMAN> report schema;
数据库方案报表
永久数据文件列表
===========================
文件大小 (MB) 表空间
回退段数据文件名称
---- -------- -------------------- -------
------------------------
1 490 SYSTEM ***
E:\DEMO\SYSTEM01.DBF
2 120 UNDOTBS1 ***
E:\DEMO\UNDOTBS01.DBF
3 270 SYSAUX ***
E:\DEMO\SYSAUX01.DBF
4 241 USERS ***
E:\DEMO\USERS01.DBF
临时文件列表
=======================
文件大小 (MB) 表空间 最大大小 (MB)
临时文件名称
---- -------- -------------------- ----------- --------------------
1 50 TEMP 50 D:\DEMO\TEMP01.DBF
RMAN> run
2> {
3> shutdown immediate;
4> startup
force mount;
5> set newname for datafile 1 to 'd:\DEMO\SYSTEM01.DBF';
6> set newname for datafile 2 to 'd:\DEMO\UNDOTBS01.DBF';
7> set
newname for datafile 3 to 'd:\DEMO\SYSAUX01.DBF';
8> set newname for
datafile 4 to 'd:\DEMO\USERS01.DBF';
9> restore database;
10>
switch datafile all;
11> recover database;
12> sql 'alter database
open';
13> }
数据库已关闭
数据库已卸载
Oracle 实例已关闭
Oracle 实例已启动
数据库已装载
系统全局区域总计 167772160 字节
Fixed Size 1247900 字节
Variable Size
79693156 字节
Database Buffers 83886080 字节
Redo
Buffers 2945024 字节
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
启动 restore 于 08-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156
devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\DEMO\SYSTEM01.DBF
正将数据文件00002恢复到D:\DEMO\UNDOTBS01.DBF
正将数据文件00003恢复到D:\DEMO\SYSAUX01.DBF
正将数据文件00004恢复到D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\1008\DEMO_129_1.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\1008\DEMO_129_1.DBF 标记 = TAG20081008T215013
通道 ORA_DISK_1:
正在读取备份段 D:\1008\DEMO_129_2.DBF
通道 ORA_DISK_1: 已恢复备份段 2
段句柄 =
D:\1008\DEMO_129_2.DBF 标记 = TAG20081008T215013
通道 ORA_DISK_1: 恢复完成, 用时:
00:02:10
完成 restore 于 08-10月-08
数据文件 1 已转换成数据文件副本
输入数据文件副本 recid=98 stamp=667606684
文件名=D:\DEMO\SYSTEM01.DBF
数据文件 2 已转换成数据文件副本
输入数据文件副本 recid=99
stamp=667606684 文件名=D:\DEMO\UNDOTBS01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本
recid=100 stamp=667606685 文件名=D:\DEMO\SYSAUX01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=101 stamp=667606685 文件名=D:\DEMO\USERS01.DBF
启动 recover 于 08-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 48 已作为文件 C:\DEMO\ARCHIVE\48_1_667054810.LOG 存在于磁盘上
存档日志线程 1
序列 49 已作为文件 C:\DEMO\ARCHIVE\49_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 50 已作为文件
C:\DEMO\ARCHIVE\50_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 51 已作为文件
C:\DEMO\ARCHIVE\51_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 52 已作为文件
C:\DEMO\ARCHIVE\52_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 53 已作为文件
C:\DEMO\ARCHIVE\53_1_667054810.LOG 存在于磁盘上
存档日志文件名
=C:\DEMO\ARCHIVE\48_1_667054810.LOG 线程 =1 序列 =48
存档日志文件名
=C:\DEMO\ARCHIVE\49_1_667054810.LOG 线程 =1 序列 =49
存档日志文件名
=C:\DEMO\ARCHIVE\50_1_667054810.LOG 线程 =1 序列 =50
存档日志文件名
=C:\DEMO\ARCHIVE\51_1_667054810.LOG 线程 =1 序列 =51
介质恢复完成, 用时: 00:00:11
完成
recover 于 08-10月-08
sql 语句: alter database open
RMAN> report schema;
数据库方案报表
永久数据文件列表
===========================
文件大小 (MB) 表空间
回退段数据文件名称
---- -------- -------------------- -------
------------------------
1 490 SYSTEM ***
D:\DEMO\SYSTEM01.DBF
2 120 UNDOTBS1 ***
D:\DEMO\UNDOTBS01.DBF
3 270 SYSAUX ***
D:\DEMO\SYSAUX01.DBF
4 241 USERS ***
D:\DEMO\USERS01.DBF
临时文件列表
=======================
文件大小 (MB) 表空间 最大大小 (MB)
临时文件名称
---- -------- -------------------- ----------- --------------------
1 50 TEMP 50 D:\DEMO\TEMP01.DBF
11.2.2 恢复SYSTEM 表空间的数据文件
失败信息:
RMAN> startup;
已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
MAN-00571:
===========================================================
RMAN-00569:
=============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571:
===========================================================
RMAN-03002:
startup 命令 (在 10/09/2008 11:16:32 上) 失败
ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR
跟踪文件
ORA-01110: 数据文件 1: 'D:\DEMO\SYSTEM01.DBF'
恢复管理器完成。
(1) SYSTEM 表空间的数据文件被误删除。
RMAN> run
2> {
3> shutdown immediate;
4> startup
force mount;
5> restore datafile 1;
6> recover datafile 1;
7> sql 'alter database open';
8> }
9>
数据库已卸载
Oracle
实例已关闭
Oracle 实例已启动
数据库已装载
系统全局区域总计 167772160 字节
Fixed Size 1247900 字节
Variable Size
67110244 字节
Database Buffers 96468992 字节
Redo
Buffers 2945024 字节
启动 restore 于 09-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157
devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\DEMO\SYSTEM01.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\1009\DEMO_133_1.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\1009\DEMO_133_1.DBF 标记 = TAG20081009T105051
通道 ORA_DISK_1: 恢复完成, 用时:
00:00:45
完成 restore 于 09-10月-08
启动 recover 于 09-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 55 已作为文件 C:\DEMO\ARCHIVE\55_1_667054810.LOG 存在于磁盘上
存档日志线程 1
序列 56 已作为文件 C:\DEMO\ARCHIVE\56_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 57 已作为文件
C:\DEMO\ARCHIVE\57_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 58 已作为文件
C:\DEMO\ARCHIVE\58_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 59 已作为文件
C:\DEMO\ARCHIVE\59_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 60 已作为文件
C:\DEMO\ARCHIVE\60_1_667054810.LOG 存在于磁盘上
存档日志文件名
=C:\DEMO\ARCHIVE\55_1_667054810.LOG 线程 =1 序列 =55
存档日志文件名
=C:\DEMO\ARCHIVE\56_1_667054810.LOG 线程 =1 序列 =56
存档日志文件名
=C:\DEMO\ARCHIVE\57_1_667054810.LOG 线程 =1 序列 =57
存档日志文件名
=C:\DEMO\ARCHIVE\58_1_667054810.LOG 线程 =1 序列 =58
介质恢复完成, 用时: 00:00:01
完成
recover 于 09-10月-08
sql 语句: alter database open
恢复管理器完成。
(2) SYSTEM 表空间数据文件所在磁盘出现故障。
RMAN> run
2> {
3> shutdown immediate;
4> startup
force mount;
5> set newname for datafile 1 to 'e:\demo\system01.dbf';
6> restore datafile 1;
7> switch datafile 1;
8> recover
datafile 1;
9> sql 'alter database open';
10> }
11>
数据库已关闭
数据库已卸载
Oracle 实例已关闭
Oracle 实例已启动
数据库已装载
系统全局区域总计 167772160 字节
Fixed Size 1247900 字节
Variable Size
67110244 字节
Database Buffers 96468992 字节
Redo
Buffers 2945024 字节
正在执行命令: SET NEWNAME
启动 restore 于 09-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156
devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到E:\DEMO\SYSTEM01.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\1009\DEMO_133_1.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\1009\DEMO_133_1.DBF 标记 = TAG20081009T105051
通道 ORA_DISK_1: 恢复完成, 用时:
00:00:45
完成 restore 于 09-10月-08
数据文件 1 已转换成数据文件副本
输入数据文件副本 recid=113 stamp=667654504
文件名=E:\DEMO\SYSTEM01.DBF
启动 recover 于 09-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 55 已作为文件 C:\DEMO\ARCHIVE\55_1_667054810.LOG 存在于磁盘上
存档日志线程 1
序列 56 已作为文件 C:\DEMO\ARCHIVE\56_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 57 已作为文件
C:\DEMO\ARCHIVE\57_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 58 已作为文件
C:\DEMO\ARCHIVE\58_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 59 已作为文件
C:\DEMO\ARCHIVE\59_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 60 已作为文件
C:\DEMO\ARCHIVE\60_1_667054810.LOG 存在于磁盘上
存档日志文件名
=C:\DEMO\ARCHIVE\55_1_667054810.LOG 线程 =1 序列 =55
存档日志文件名
=C:\DEMO\ARCHIVE\56_1_667054810.LOG 线程 =1 序列 =56
存档日志文件名
=C:\DEMO\ARCHIVE\57_1_667054810.LOG 线程 =1 序列 =57
存档日志文件名
=C:\DEMO\ARCHIVE\58_1_667054810.LOG 线程 =1 序列 =58
介质恢复完成, 用时: 00:00:03
完成
recover 于 09-10月-08
sql 语句: alter database open
恢复管理器完成。
11.2.3 在OPEN 状态下恢复关闭后意外丢失的数据文件
失败信息:
SQL> conn / as sysdba
已连接到空闲例程。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size
1247900 bytes
Variable Size 71304548 bytes
Database
Buffers 92274688 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 4 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 4:
'D:\DEMO\USERS01.DBF'
(1) 数据文件被误删除。
RMAN> run
2> {
3> shutdown immediate;
4> startup
force mount;
5> sql 'alter database datafile 4 offline';
6> sql
'alter database open';
7> restore datafile 4;
8> recover datafile
4;
9> sql 'alter database datafile 4 online';
10> }
数据库已卸载
Oracle 实例已关闭
Oracle 实例已启动
数据库已装载
系统全局区域总计 167772160 字节
Fixed Size 1247900 字节
Variable Size
71304548 字节
Database Buffers 92274688 字节
Redo
Buffers 2945024 字节
sql 语句: alter database datafile 4 offline
sql 语句: alter database open
启动 restore 于 10-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=146
devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00004恢复到D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\1010\DEMO_135_1.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\1010\DEMO_135_1.DBF 标记 = TAG20081010T224957
通道 ORA_DISK_1: 正在读取备份段
D:\1010\DEMO_135_2.DBF
通道 ORA_DISK_1: 已恢复备份段 2
段句柄 =
D:\1010\DEMO_135_2.DBF 标记 = TAG20081010T224957
通道 ORA_DISK_1: 恢复完成, 用时:
00:00:50
完成 restore 于 10-10月-08
启动 recover 于 10-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 61 已作为文件 C:\DEMO\ARCHIVE\61_1_667054810.LOG 存在于磁盘上
存档日志线程 1
序列 62 已作为文件 C:\DEMO\ARCHIVE\62_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 63 已作为文件
C:\DEMO\ARCHIVE\63_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 64 已作为文件
C:\DEMO\ARCHIVE\64_1_667054810.LOG 存在于磁盘上
存档日志文件名
=C:\DEMO\ARCHIVE\61_1_667054810.LOG 线程 =1 序列 =61
存档日志文件名
=C:\DEMO\ARCHIVE\62_1_667054810.LOG 线程 =1 序列 =62
介质恢复完成, 用时: 00:00:02
完成
recover 于 10-10月-08
sql 语句: alter database datafile 4 online
(2) 数据文件所在磁盘出现介质损坏。
RMAN> run
2> {
3> shutdown immediate;
4> startup
force mount;
5> sql 'alter database datafile 4 offline';
6> sql
'alter database open';
7> set newname for datafile 4 to
'e:\demo\users01.dbf';
8> restore datafile 4;
9> switch datafile
4;
10> recover datafile 4;
11> sql 'alter database datafile 4
online';
12> }
数据库已卸载
Oracle 实例已关闭
Oracle 实例已启动
数据库已装载
系统全局区域总计 167772160 字节
Fixed Size 1247900 字节
Variable Size
62915940 字节
Database Buffers 100663296 字节
Redo
Buffers 2945024 字节
sql 语句: alter database datafile 4 offline
sql 语句: alter database open
正在执行命令: SET NEWNAME
启动 restore 于 11-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=145
devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00004恢复到E:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\DEMO\DEMO_139_1.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\DEMO\DEMO_139_1.DBF 标记 = TAG20081011T002758
通道 ORA_DISK_1: 正在读取备份段
D:\DEMO\DEMO_139_2.DBF
通道 ORA_DISK_1: 已恢复备份段 2
段句柄 =
D:\DEMO\DEMO_139_2.DBF 标记 = TAG20081011T002758
通道 ORA_DISK_1: 恢复完成, 用时:
00:01:10
完成 restore 于 11-10月-08
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=131 stamp=667787697
文件名=E:\DEMO\USERS01.DBF
启动 recover 于 11-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 80 已作为文件 C:\DEMO\ARCHIVE\80_1_667054810.LOG 存在于磁盘上
存档日志线程 1
序列 81 已作为文件 C:\DEMO\ARCHIVE\81_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 82 已作为文件
C:\DEMO\ARCHIVE\82_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 83 已作为文件
C:\DEMO\ARCHIVE\83_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 84 已作为文件
C:\DEMO\ARCHIVE\84_1_667054810.LOG 存在于磁盘上
存档日志文件名
=C:\DEMO\ARCHIVE\80_1_667054810.LOG 线程 =1 序列 =80
存档日志文件名
=C:\DEMO\ARCHIVE\81_1_667054810.LOG 线程 =1 序列 =81
存档日志文件名
=C:\DEMO\ARCHIVE\82_1_667054810.LOG 线程 =1 序列 =82
介质恢复完成, 用时: 00:00:03
完成
recover 于 11-10月-08
sql 语句: alter database datafile 4 online
11.2.4 在OPEN 状态下恢复打开时意外丢失的数据文件。
失败信息:
SQL> select * from scott.emp;
select * from scott.emp
*
第 1
行出现错误:
ORA-00376: 此时无法读取文件 4
ORA-01110: 数据文件 4: 'E:\DEMO\USERS01.DBF'
(1) 数据文件被误删除。
RMAN> run
2> {
3> sql 'alter database datafile 4 offline';
4> restore datafile 4;
5> recover datafile 4;
6> sql 'alter
database datafile 4 online';
7> }
sql 语句: alter database datafile 4 offline
启动 restore 于 11-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=159
devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00004恢复到E:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\DEMO\DEMO_139_1.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\DEMO\DEMO_139_1.DBF 标记 = TAG20081011T002758
通道 ORA_DISK_1: 正在读取备份段
D:\DEMO\DEMO_139_2.DBF
通道 ORA_DISK_1: 已恢复备份段 2
段句柄 =
D:\DEMO\DEMO_139_2.DBF 标记 = TAG20081011T002758
通道 ORA_DISK_1: 恢复完成, 用时:
00:00:50
完成 restore 于 11-10月-08
启动 recover 于 11-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 80 已作为文件 C:\DEMO\ARCHIVE\80_1_667054810.LOG 存在于磁盘上
存档日志线程 1
序列 81 已作为文件 C:\DEMO\ARCHIVE\81_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 82 已作为文件
C:\DEMO\ARCHIVE\82_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 83 已作为文件
C:\DEMO\ARCHIVE\83_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 84 已作为文件
C:\DEMO\ARCHIVE\84_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 85 已作为文件
C:\DEMO\ARCHIVE\85_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 86 已作为文件
C:\DEMO\ARCHIVE\86_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 87 已作为文件
C:\DEMO\ARCHIVE\87_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 88 已作为文件
C:\DEMO\ARCHIVE\88_1_667054810.LOG 存在于磁盘上
存档日志文件名
=C:\DEMO\ARCHIVE\80_1_667054810.LOG 线程 =1 序列 =80
存档日志文件名
=C:\DEMO\ARCHIVE\81_1_667054810.LOG 线程 =1 序列 =81
存档日志文件名
=C:\DEMO\ARCHIVE\82_1_667054810.LOG 线程 =1 序列 =82
存档日志文件名
=C:\DEMO\ARCHIVE\83_1_667054810.LOG 线程 =1 序列 =83
存档日志文件名
=C:\DEMO\ARCHIVE\84_1_667054810.LOG 线程 =1 序列 =84
存档日志文件名
=C:\DEMO\ARCHIVE\85_1_667054810.LOG 线程 =1 序列 =85
存档日志文件名
=C:\DEMO\ARCHIVE\86_1_667054810.LOG 线程 =1 序列 =86
介质恢复完成, 用时: 00:00:04
完成
recover 于 11-10月-08
sql 语句: alter database datafile 4 online
(2) 数据文件所在磁盘出现故障。
RMAN> run
2> {
3> sql 'alter database datafile 4 offline';
4> set newname for datafile 4 to 'd:\demo\users01.dbf';
5> restore
datafile 4;
6> switch datafile 4;
7> recover datafile 4;
8>
sql 'alter database datafile 4 online';
9> }
sql 语句: alter database datafile 4 offline
正在执行命令: SET NEWNAME
启动 restore 于 11-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=158
devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00004恢复到D:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\DEMO\DEMO_139_1.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\DEMO\DEMO_139_1.DBF 标记 = TAG20081011T002758
通道 ORA_DISK_1: 正在读取备份段
D:\DEMO\DEMO_139_2.DBF
通道 ORA_DISK_1: 已恢复备份段 2
段句柄 =
D:\DEMO\DEMO_139_2.DBF 标记 = TAG20081011T002758
通道 ORA_DISK_1: 恢复完成, 用时:
00:00:40
完成 restore 于 11-10月-08
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=142 stamp=667831175
文件名=D:\DEMO\USERS01.DBF
启动 recover 于 11-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 80 已作为文件 C:\DEMO\ARCHIVE\80_1_667054810.LOG 存在于磁盘上
存档日志线程 1
序列 81 已作为文件 C:\DEMO\ARCHIVE\81_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 82 已作为文件
C:\DEMO\ARCHIVE\82_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 83 已作为文件
C:\DEMO\ARCHIVE\83_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 84 已作为文件
C:\DEMO\ARCHIVE\84_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 85 已作为文件
C:\DEMO\ARCHIVE\85_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 86 已作为文件
C:\DEMO\ARCHIVE\86_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 87 已作为文件
C:\DEMO\ARCHIVE\87_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 88 已作为文件
C:\DEMO\ARCHIVE\88_1_667054810.LOG 存在于磁盘上
存档日志文件名
=C:\DEMO\ARCHIVE\80_1_667054810.LOG 线程 =1 序列 =80
存档日志文件名
=C:\DEMO\ARCHIVE\81_1_667054810.LOG 线程 =1 序列 =81
存档日志文件名
=C:\DEMO\ARCHIVE\82_1_667054810.LOG 线程 =1 序列 =82
存档日志文件名
=C:\DEMO\ARCHIVE\83_1_667054810.LOG 线程 =1 序列 =83
存档日志文件名
=C:\DEMO\ARCHIVE\84_1_667054810.LOG 线程 =1 序列 =84
存档日志文件名
=C:\DEMO\ARCHIVE\85_1_667054810.LOG 线程 =1 序列 =85
存档日志文件名
=C:\DEMO\ARCHIVE\86_1_667054810.LOG 线程 =1 序列 =86
介质恢复完成, 用时: 00:00:04
完成
recover 于 11-10月-08
sql 语句: alter database datafile 4 online
11.2.5 在OPEN 状态下恢复未备份的数据文件
失败信息:
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size
1247900 bytes
Variable Size 71304548 bytes
Database
Buffers 92274688 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 5:
'E:\USER03.DBF'
(1) 数据文件被误删除。
RMAN> run
2> {
3> startup force mount;
4> sql 'alter
database datafile 5 offline';
5> sql 'alter database open';
6>
restore datafile 5;
7> recover datafile 5;
8> sql 'alter database
datafile 5 online';
9> }
Oracle 实例已启动
数据库已装载
系统全局区域总计 167772160 字节
Fixed Size 1247900 字节
Variable Size
71304548 字节
Database Buffers 92274688 字节
Redo
Buffers 2945024 字节
sql 语句: alter database datafile 5 offline
sql 语句: alter database open
启动 restore 于 14-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=140
devtype=DISK
创建数据文件 fno = 5 名称 = E:\USER03.DBF
没有完成恢复; 所有文件均为只读或脱机文件或者已经恢复
完成
restore 于 14-10月-08
启动 recover 于 14-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 89 已作为文件 C:\DEMO\ARCHIVE\89_1_667054810.LOG 存在于磁盘上
存档日志线程 1
序列 90 已作为文件 C:\DEMO\ARCHIVE\90_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 91 已作为文件
C:\DEMO\ARCHIVE\91_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 92 已作为文件
C:\DEMO\ARCHIVE\92_1_667054810.LOG 存在于磁盘上
存档日志文件名
=C:\DEMO\ARCHIVE\89_1_667054810.LOG 线程 =1 序列 =89
存档日志文件名
=C:\DEMO\ARCHIVE\90_1_667054810.LOG 线程 =1 序列 =90
介质恢复完成, 用时: 00:00:04
完成
recover 于 14-10月-08
sql 语句: alter database datafile 5 online
(2) 数据文件所在磁盘出现故障。
RMAN> run
2> {
3> shutdown immediate;
4> startup
mount;
5> sql 'alter database datafile 5 offline';
6> sql 'alter
database open';
7> set newname for datafile 5 to 'c:\demo\user03.dbf';
8> restore datafile 5;
9> switch datafile 5;
10> recover
datafile 5;
11> sql 'alter database datafile 5 online';
12> }
数据库已卸载
Oracle 实例已关闭
已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
系统全局区域总计 167772160 字节
Fixed Size 1247900 字节
Variable Size
71304548 字节
Database Buffers 92274688 字节
Redo
Buffers 2945024 字节
sql 语句: alter database datafile 5 offline
sql 语句: alter database open
正在执行命令: SET NEWNAME
启动 restore 于 14-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=142
devtype=DISK
通道 ORA_DISK_1: 正在恢复数据文件00005
输入数据文件副本 recid=143 stamp=668082432
文件名=D:\DEMO\USER03.DBF
数据文件 00005 的恢复目标: C:\DEMO\USER03.DBF
故障转移到上一个备份
创建数据文件 fno = 5 名称 = C:\DEMO\USER03.DBF
完成 restore 于 14-10月-08
数据文件 5 已转换成数据文件副本
输入数据文件副本 recid=145 stamp=668086977
文件名=C:\DEMO\USER03.DBF
启动 recover 于 14-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 89 已作为文件 C:\DEMO\ARCHIVE\89_1_667054810.LOG 存在于磁盘上
存档日志线程 1
序列 90 已作为文件 C:\DEMO\ARCHIVE\90_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 91 已作为文件
C:\DEMO\ARCHIVE\91_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 92 已作为文件
C:\DEMO\ARCHIVE\92_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 93 已作为文件
C:\DEMO\ARCHIVE\93_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 94 已作为文件
C:\DEMO\ARCHIVE\94_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 95 已作为文件
C:\DEMO\ARCHIVE\95_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 96 已作为文件
C:\DEMO\ARCHIVE\96_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 97 已作为文件
C:\DEMO\ARCHIVE\97_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 98 已作为文件
C:\DEMO\ARCHIVE\98_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 99 已作为文件
C:\DEMO\ARCHIVE\99_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 100 已作为文件
C:\DEMO\ARCHIVE\100_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 101 已作为文件
C:\DEMO\ARCHIVE\101_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 102 已作为文件
C:\DEMO\ARCHIVE\102_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 103 已作为文件
C:\DEMO\ARCHIVE\103_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 104 已作为文件
C:\DEMO\ARCHIVE\104_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 105 已作为文件
C:\DEMO\ARCHIVE\105_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 106 已作为文件
C:\DEMO\ARCHIVE\106_1_667054810.LOG 存在于磁盘上
存档日志文件名
=C:\DEMO\ARCHIVE\89_1_667054810.LOG 线程 =1 序列 =89
存档日志文件名
=C:\DEMO\ARCHIVE\90_1_667054810.LOG 线程 =1 序列 =90
存档日志文件名
=C:\DEMO\ARCHIVE\91_1_667054810.LOG 线程 =1 序列 =91
存档日志文件名
=C:\DEMO\ARCHIVE\92_1_667054810.LOG 线程 =1 序列 =92
存档日志文件名
=C:\DEMO\ARCHIVE\93_1_667054810.LOG 线程 =1 序列 =93
存档日志文件名
=C:\DEMO\ARCHIVE\94_1_667054810.LOG 线程 =1 序列 =94
存档日志文件名
=C:\DEMO\ARCHIVE\95_1_667054810.LOG 线程 =1 序列 =95
存档日志文件名
=C:\DEMO\ARCHIVE\96_1_667054810.LOG 线程 =1 序列 =96
存档日志文件名
=C:\DEMO\ARCHIVE\97_1_667054810.LOG 线程 =1 序列 =97
存档日志文件名
=C:\DEMO\ARCHIVE\98_1_667054810.LOG 线程 =1 序列 =98
存档日志文件名
=C:\DEMO\ARCHIVE\99_1_667054810.LOG 线程 =1 序列 =99
存档日志文件名
=C:\DEMO\ARCHIVE\100_1_667054810.LOG 线程 =1 序列 =100
存档日志文件名
=C:\DEMO\ARCHIVE\101_1_667054810.LOG 线程 =1 序列 =101
存档日志文件名
=C:\DEMO\ARCHIVE\102_1_667054810.LOG 线程 =1 序列 =102
存档日志文件名
=C:\DEMO\ARCHIVE\103_1_667054810.LOG 线程 =1 序列 =103
存档日志文件名
=C:\DEMO\ARCHIVE\104_1_667054810.LOG 线程 =1 序列 =104
介质恢复完成, 用时: 00:00:03
完成 recover 于 14-10月-08
sql 语句: alter database datafile 5 online
11.2.6 恢复表空间
失败信息:
SQL> select * from scott.emp;
select * from scott.emp
*
第 1 行出现错误:
ORA-00376: 此时无法读取文件 4
ORA-01110: 数据文件 4: 'D:\DEMO\USERS01.DBF'
(1) 表空间的数据文件被误删除。
RMAN> run
2> {
3> sql 'alter tablespace users offline for
recover';
4> restore tablespace users;
5> recover tablespace
users;
6> sql 'alter tablespace users online';
7> }
sql 语句: alter tablespace users offline for recover
启动 restore 于 14-10月-08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在恢复数据文件00004
输入数据文件副本 recid=150 stamp=668122894
文件名=D:\DEMO\USERS01.DBF
数据文件 00004 的恢复目标: E:\USERS01.DBF
故障转移到上一个备份
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00004恢复到E:\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\DEMO\DEMO_139_1.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\DEMO\DEMO_139_1.DBF 标记 = TAG20081011T002758
通道 ORA_DISK_1: 正在读取备份段
D:\DEMO\DEMO_139_2.DBF
通道 ORA_DISK_1: 已恢复备份段 2
段句柄 =
D:\DEMO\DEMO_139_2.DBF 标记 = TAG20081011T002758
通道 ORA_DISK_1: 恢复完成, 用时:
00:00:50
完成 restore 于 14-10月-08
启动 recover 于 14-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 80 已作为文件 C:\DEMO\ARCHIVE\80_1_667054810.LOG 存在于磁盘上
存档日志线程 1
序列 81 已作为文件 C:\DEMO\ARCHIVE\81_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 82 已作为文件
C:\DEMO\ARCHIVE\82_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 83 已作为文件
C:\DEMO\ARCHIVE\83_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 84 已作为文件
C:\DEMO\ARCHIVE\84_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 85 已作为文件
C:\DEMO\ARCHIVE\85_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 86 已作为文件
C:\DEMO\ARCHIVE\86_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 87 已作为文件
C:\DEMO\ARCHIVE\87_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 88 已作为文件
C:\DEMO\ARCHIVE\88_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 89 已作为文件
C:\DEMO\ARCHIVE\89_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 90 已作为文件
C:\DEMO\ARCHIVE\90_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 91 已作为文件
C:\DEMO\ARCHIVE\91_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 92 已作为文件
C:\DEMO\ARCHIVE\92_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 93 已作为文件
C:\DEMO\ARCHIVE\93_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 94 已作为文件
C:\DEMO\ARCHIVE\94_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 95 已作为文件
C:\DEMO\ARCHIVE\95_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 96 已作为文件
C:\DEMO\ARCHIVE\96_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 97 已作为文件
C:\DEMO\ARCHIVE\97_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 98 已作为文件
C:\DEMO\ARCHIVE\98_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 99 已作为文件
C:\DEMO\ARCHIVE\99_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 100 已作为文件
C:\DEMO\ARCHIVE\100_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 101 已作为文件
C:\DEMO\ARCHIVE\101_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 102 已作为文件
C:\DEMO\ARCHIVE\102_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 103 已作为文件
C:\DEMO\ARCHIVE\103_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 104 已作为文件
C:\DEMO\ARCHIVE\104_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 105 已作为文件
C:\DEMO\ARCHIVE\105_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 106 已作为文件
C:\DEMO\ARCHIVE\106_1_667054810.LOG 存在于磁盘上
存档日志文件名
=C:\DEMO\ARCHIVE\80_1_667054810.LOG 线程 =1 序列 =80
存档日志文件名
=C:\DEMO\ARCHIVE\81_1_667054810.LOG 线程 =1 序列 =81
存档日志文件名
=C:\DEMO\ARCHIVE\82_1_667054810.LOG 线程 =1 序列 =82
存档日志文件名
=C:\DEMO\ARCHIVE\83_1_667054810.LOG 线程 =1 序列 =83
存档日志文件名
=C:\DEMO\ARCHIVE\84_1_667054810.LOG 线程 =1 序列 =84
存档日志文件名
=C:\DEMO\ARCHIVE\85_1_667054810.LOG 线程 =1 序列 =85
存档日志文件名
=C:\DEMO\ARCHIVE\86_1_667054810.LOG 线程 =1 序列 =86
存档日志文件名
=C:\DEMO\ARCHIVE\87_1_667054810.LOG 线程 =1 序列 =87
存档日志文件名
=C:\DEMO\ARCHIVE\88_1_667054810.LOG 线程 =1 序列 =88
存档日志文件名
=C:\DEMO\ARCHIVE\89_1_667054810.LOG 线程 =1 序列 =89
存档日志文件名
=C:\DEMO\ARCHIVE\90_1_667054810.LOG 线程 =1 序列 =90
存档日志文件名
=C:\DEMO\ARCHIVE\91_1_667054810.LOG 线程 =1 序列 =91
存档日志文件名
=C:\DEMO\ARCHIVE\92_1_667054810.LOG 线程 =1 序列 =92
存档日志文件名
=C:\DEMO\ARCHIVE\93_1_667054810.LOG 线程 =1 序列 =93
存档日志文件名
=C:\DEMO\ARCHIVE\94_1_667054810.LOG 线程 =1 序列 =94
存档日志文件名
=C:\DEMO\ARCHIVE\95_1_667054810.LOG 线程 =1 序列 =95
存档日志文件名
=C:\DEMO\ARCHIVE\96_1_667054810.LOG 线程 =1 序列 =96
存档日志文件名
=C:\DEMO\ARCHIVE\97_1_667054810.LOG 线程 =1 序列 =97
存档日志文件名
=C:\DEMO\ARCHIVE\98_1_667054810.LOG 线程 =1 序列 =98
存档日志文件名
=C:\DEMO\ARCHIVE\99_1_667054810.LOG 线程 =1 序列 =99
存档日志文件名
=C:\DEMO\ARCHIVE\100_1_667054810.LOG 线程 =1 序列 =100
存档日志文件名
=C:\DEMO\ARCHIVE\101_1_667054810.LOG 线程 =1 序列 =101
存档日志文件名
=C:\DEMO\ARCHIVE\102_1_667054810.LOG 线程 =1 序列 =102
存档日志文件名
=C:\DEMO\ARCHIVE\103_1_667054810.LOG 线程 =1 序列 =103
存档日志文件名
=C:\DEMO\ARCHIVE\104_1_667054810.LOG 线程 =1 序列 =104
介质恢复完成, 用时: 00:00:07
完成 recover 于 14-10月-08
sql 语句: alter tablespace users online
(2) 表空间的数据文件所在磁盘出现故障。
RMAN> run
2> {
3> sql 'alter tablespace users offline for
recover';
4> set newname for datafile 4 to 'c:\demo\users01.dbf';
5> restore tablespace users;
6> switch datafile all;
7>
recover tablespace users;
8> sql 'alter tablespace users online';
9> }
sql 语句: alter tablespace users offline for recover
正在执行命令: SET NEWNAME
启动 restore 于 14-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=134
devtype=DISK
通道 ORA_DISK_1: 正在恢复数据文件00004
输入数据文件副本 recid=150 stamp=668122894
文件名=D:\DEMO\USERS01.DBF
数据文件 00004 的恢复目标: C:\DEMO\USERS01.DBF
故障转移到上一个备份
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00004恢复到C:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\DEMO\DEMO_139_1.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\DEMO\DEMO_139_1.DBF 标记 = TAG20081011T002758
通道 ORA_DISK_1: 正在读取备份段
D:\DEMO\DEMO_139_2.DBF
通道 ORA_DISK_1: 已恢复备份段 2
段句柄 =
D:\DEMO\DEMO_139_2.DBF 标记 = TAG20081011T002758
通道 ORA_DISK_1: 恢复完成, 用时:
00:00:50
完成 restore 于 14-10月-08
数据文件 4 已转换成数据文件副本
输入数据文件副本 recid=155 stamp=668124361
文件名=C:\DEMO\USERS01.DBF
启动 recover 于 14-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 80 已作为文件 C:\DEMO\ARCHIVE\80_1_667054810.LOG 存在于磁盘上
存档日志线程 1
序列 81 已作为文件 C:\DEMO\ARCHIVE\81_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 82 已作为文件
C:\DEMO\ARCHIVE\82_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 83 已作为文件
C:\DEMO\ARCHIVE\83_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 84 已作为文件
C:\DEMO\ARCHIVE\84_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 85 已作为文件
C:\DEMO\ARCHIVE\85_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 86 已作为文件
C:\DEMO\ARCHIVE\86_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 87 已作为文件
C:\DEMO\ARCHIVE\87_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 88 已作为文件
C:\DEMO\ARCHIVE\88_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 89 已作为文件
C:\DEMO\ARCHIVE\89_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 90 已作为文件
C:\DEMO\ARCHIVE\90_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 91 已作为文件
C:\DEMO\ARCHIVE\91_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 92 已作为文件
C:\DEMO\ARCHIVE\92_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 93 已作为文件
C:\DEMO\ARCHIVE\93_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 94 已作为文件
C:\DEMO\ARCHIVE\94_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 95 已作为文件
C:\DEMO\ARCHIVE\95_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 96 已作为文件
C:\DEMO\ARCHIVE\96_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 97 已作为文件
C:\DEMO\ARCHIVE\97_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 98 已作为文件
C:\DEMO\ARCHIVE\98_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 99 已作为文件
C:\DEMO\ARCHIVE\99_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 100 已作为文件
C:\DEMO\ARCHIVE\100_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 101 已作为文件
C:\DEMO\ARCHIVE\101_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 102 已作为文件
C:\DEMO\ARCHIVE\102_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 103 已作为文件
C:\DEMO\ARCHIVE\103_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 104 已作为文件
C:\DEMO\ARCHIVE\104_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 105 已作为文件
C:\DEMO\ARCHIVE\105_1_667054810.LOG 存在于磁盘上
存档日志线程 1 序列 106 已作为文件
C:\DEMO\ARCHIVE\106_1_667054810.LOG 存在于磁盘上
存档日志文件名
=C:\DEMO\ARCHIVE\80_1_667054810.LOG 线程 =1 序列 =80
存档日志文件名
=C:\DEMO\ARCHIVE\81_1_667054810.LOG 线程 =1 序列 =81
存档日志文件名
=C:\DEMO\ARCHIVE\82_1_667054810.LOG 线程 =1 序列 =82
存档日志文件名
=C:\DEMO\ARCHIVE\83_1_667054810.LOG 线程 =1 序列 =83
存档日志文件名
=C:\DEMO\ARCHIVE\84_1_667054810.LOG 线程 =1 序列 =84
存档日志文件名
=C:\DEMO\ARCHIVE\85_1_667054810.LOG 线程 =1 序列 =85
存档日志文件名
=C:\DEMO\ARCHIVE\86_1_667054810.LOG 线程 =1 序列 =86
存档日志文件名
=C:\DEMO\ARCHIVE\87_1_667054810.LOG 线程 =1 序列 =87
存档日志文件名
=C:\DEMO\ARCHIVE\88_1_667054810.LOG 线程 =1 序列 =88
存档日志文件名
=C:\DEMO\ARCHIVE\89_1_667054810.LOG 线程 =1 序列 =89
存档日志文件名
=C:\DEMO\ARCHIVE\90_1_667054810.LOG 线程 =1 序列 =90
存档日志文件名
=C:\DEMO\ARCHIVE\91_1_667054810.LOG 线程 =1 序列 =91
存档日志文件名
=C:\DEMO\ARCHIVE\92_1_667054810.LOG 线程 =1 序列 =92
存档日志文件名
=C:\DEMO\ARCHIVE\93_1_667054810.LOG 线程 =1 序列 =93
存档日志文件名
=C:\DEMO\ARCHIVE\94_1_667054810.LOG 线程 =1 序列 =94
存档日志文件名
=C:\DEMO\ARCHIVE\95_1_667054810.LOG 线程 =1 序列 =95
存档日志文件名
=C:\DEMO\ARCHIVE\96_1_667054810.LOG 线程 =1 序列 =96
存档日志文件名
=C:\DEMO\ARCHIVE\97_1_667054810.LOG 线程 =1 序列 =97
存档日志文件名
=C:\DEMO\ARCHIVE\98_1_667054810.LOG 线程 =1 序列 =98
存档日志文件名
=C:\DEMO\ARCHIVE\99_1_667054810.LOG 线程 =1 序列 =99
存档日志文件名
=C:\DEMO\ARCHIVE\100_1_667054810.LOG 线程 =1 序列 =100
存档日志文件名
=C:\DEMO\ARCHIVE\101_1_667054810.LOG 线程 =1 序列 =101
存档日志文件名
=C:\DEMO\ARCHIVE\102_1_667054810.LOG 线程 =1 序列 =102
存档日志文件名
=C:\DEMO\ARCHIVE\103_1_667054810.LOG 线程 =1 序列 =103
存档日志文件名
=C:\DEMO\ARCHIVE\104_1_667054810.LOG 线程 =1 序列 =104
介质恢复完成, 用时: 00:00:08
完成 recover 于 14-10月-08
sql 语句: alter tablespace users online
11.2.7 数据块介质恢复
失败信息:
SQL> select * from t04 where c1 between 200 and 300;
select * from t04
where c1 between 200 and 300
*
第 1 行出现错误:
ORA-01578:
ORACLE 数据块损坏 (文件号 5, 块号 12)
ORA-01110: 数据文件 5: 'E:\USER04.DBF'
解决办法:
RMAN> blockrecover device type disk datafile 5 block 12;
启动 blockrecover 于 15-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=158
devtype=DISK
通道 ORA_DISK_1: 正在恢复块
通道 ORA_DISK_1: 正在指定要从备份集恢复的块
正在恢复数据文件 00005 的块
通道 ORA_DISK_1: 正在读取备份段 D:\BACKUP\DEMO_141_1.DBF
通道 ORA_DISK_1: 已从备份段 1
恢复块
段句柄 = D:\BACKUP\DEMO_141_1.DBF 标记 = TAG20081015T231303
通道
ORA_DISK_1: 块恢复完成, 用时: 00:00:01
正在开始介质的恢复
介质恢复完成, 用时: 00:00:07
完成 blockrecover 于 15-10月-08
11.3 RMAN 不完全恢复
11.3.1 基于时间恢复
基于时间恢复是指当出现用户错误时,先用RESTORE DATABASE 命令转储所有数据文件备份,再使用RECOVER DATABASE 命令将数据库恢复到用户错误点的状态,从而恢复用户数据。
模拟截断:
当前日期: 2008-10-16 星期四
输入新日期: (年月日)
当前时间: 10:40:17.15
输入新时间:
SQL> truncate table t04;
表被截断。
恢复:
C:\>set nls_date_format=yyyy-mm-dd hh24:mi:ss
C:\>rman target nocatalog
恢复管理器: Release 10.2.0.1.0 - Production on 星期四 10月 16 10:43:35 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: DEMO (DBID=3408444956)
使用目标数据库控制文件替代恢复目录
RMAN> run
2> {
3> startup force mount;
4> set until
time='2008-10-16 10:40:17';
5> restore database;
6> recover
database;
7> sql 'alter database open resetlogs';
8> }
Oracle 实例已启动
数据库已装载
系统全局区域总计 167772160 字节
Fixed Size 1247900 字节
Variable Size
67110244 字节
Database Buffers 96468992 字节
Redo
Buffers 2945024 字节
正在执行命令: SET until clause
启动 restore 于 2008-10-16 10:46:32
分配的通道: ORA_DISK_1
通道 ORA_DISK_1:
sid=156 devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\DEMO\SYSTEM01.DBF
正将数据文件00002恢复到D:\DEMO\UNDOTBS01.DBF
正将数据文件00003恢复到D:\DEMO\SYSAUX01.DBF
正将数据文件00004恢复到C:\DEMO\USERS01.DBF
正将数据文件00005恢复到E:\USER04.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\BACKUP\DEMO_141_1.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\BACKUP\DEMO_141_1.DBF 标记 = TAG20081015T231303
通道 ORA_DISK_1: 正在读取备份段
D:\BACKUP\DEMO_141_2.DBF
通道 ORA_DISK_1: 已恢复备份段 2
段句柄 =
D:\BACKUP\DEMO_141_2.DBF 标记 = TAG20081015T231303
通道 ORA_DISK_1: 恢复完成, 用时:
00:02:00
完成 restore 于 2008-10-16 10:48:36
启动 recover 于 2008-10-16 10:48:36
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:03
完成 recover 于 2008-10-16 10:48:46
sql 语句: alter database open resetlogs
在ORACLE DATABASE 10G 之前,在不完全恢复之后必须重新备份数据库;从ORACLE DATABASE 10G 开始,ORACLE 提供了安全机制可以确保归档日志不会被覆盖,从而使得在恢复数据库时可以使用早期数据库副本的备份。但在执行了不完全恢复之后,建议删除早期的备份,并重新备份数据库。
RMAN> run
2> {
3> delete noprompt backup;
4> delete
noprompt copy;
5> backup database format='d:\1016\%d_%s_%p.dbf';
6> sql 'alter system archive log current';
7> }
11.3.2 基于SCN 恢复
模拟删除:
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
1569497
SQL> drop table t04;
表已删除。
恢复:
RMAN> run
2> {
3> startup force mount;
4> set until
scn=1569497;
5> restore database;
6> recover database;
7>
sql 'alter database open resetlogs';
8> }
Oracle 实例已启动
数据库已装载
系统全局区域总计 167772160 字节
Fixed Size 1247900 字节
Variable Size
71304548 字节
Database Buffers 92274688 字节
Redo
Buffers 2945024 字节
正在执行命令: SET until clause
启动 restore 于 16-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157
devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\DEMO\SYSTEM01.DBF
正将数据文件00002恢复到D:\DEMO\UNDOTBS01.DBF
正将数据文件00003恢复到D:\DEMO\SYSAUX01.DBF
正将数据文件00004恢复到C:\DEMO\USERS01.DBF
正将数据文件00005恢复到E:\USER04.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\1016\DEMO_145_1.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\1016\DEMO_145_1.DBF 标记 = TAG20081016T111641
通道 ORA_DISK_1: 正在读取备份段
D:\1016\DEMO_145_2.DBF
通道 ORA_DISK_1: 已恢复备份段 2
段句柄 =
D:\1016\DEMO_145_2.DBF 标记 = TAG20081016T111641
通道 ORA_DISK_1: 恢复完成, 用时:
00:02:00
完成 restore 于 16-10月-08
启动 recover 于 16-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:03
完成 recover 于 16-10月-08
sql 语句: alter database open resetlogs
重新备份数据库,并删除以前备份。
RMAN> run
2> {
3> delete noprompt backup;
4> delete
noprompt copy;
5> backup database format='d:\1016\%d_%s_%p.bak';
6> sql 'alter system archive log current';
7> }
11.3.3 基于日志序列号恢复
模拟失败:
RMAN> run
2> {
3> sql 'alter database datafile 5 offline';
4> restore datafile 5;
5> recover datafile 5;
6> sql 'alter
database datafile 5 online';
7> }
sql 语句: alter database datafile 5 offline
启动 restore 于 17-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=140
devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00005恢复到E:\USER04.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\1016\DEMO_147_1.BAK
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\1016\DEMO_147_1.BAK 标记 = TAG20081016T220440
通道 ORA_DISK_1: 恢复完成, 用时:
00:00:01
完成 restore 于 17-10月-08
启动 recover 于 17-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 1 已作为文件 C:\DEMO\ARCHIVE\1_1_668296810.LOG 存在于磁盘上
存档日志线程 1 序列
2 已作为文件 C:\DEMO\ARCHIVE\2_1_668296810.LOG 存在于磁盘上
存档日志线程 1 序列 3 已作为文件
C:\DEMO\ARCHIVE\3_1_668296810.LOG 存在于磁盘上
存档日志线程 1 序列 4 已作为文件
C:\DEMO\ARCHIVE\4_1_668296810.LOG 存在于磁盘上
存档日志线程 1 序列 5 已作为文件
C:\DEMO\ARCHIVE\5_1_668296810.LOG 存在于磁盘上
存档日志线程 1 序列 7 已作为文件
C:\DEMO\ARCHIVE\7_1_668296810.LOG 存在于磁盘上
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 命令 (在 10/17/2008 21:51:06 上) 失败
RMAN-06053:
无法执行介质恢复, 因为缺少日志
RMAN-06025: 未找到要恢复的日志线程 1 seq 6 lowscn 1584210 的备份
恢复:
RMAN> run
2> {
3> startup force mount;
4> set until
sequence=6;
5> restore database;
6> recover database;
7>
sql 'alter database open resetlogs';
8> }
Oracle 实例已启动
数据库已装载
系统全局区域总计 167772160 字节
Fixed Size 1247900 字节
Variable Size
62915940 字节
Database Buffers 100663296 字节
Redo
Buffers 2945024 字节
正在执行命令: SET until clause
启动 restore 于 17-10月-08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157
devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\DEMO\SYSTEM01.DBF
正将数据文件00002恢复到D:\DEMO\UNDOTBS01.DBF
正将数据文件00003恢复到D:\DEMO\SYSAUX01.DBF
正将数据文件00004恢复到C:\DEMO\USERS01.DBF
正将数据文件00005恢复到E:\USER04.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\1016\DEMO_147_1.BAK
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\1016\DEMO_147_1.BAK 标记 = TAG20081016T220440
通道 ORA_DISK_1: 正在读取备份段
D:\1016\DEMO_147_2.BAK
通道 ORA_DISK_1: 已恢复备份段 2
段句柄 =
D:\1016\DEMO_147_2.BAK 标记 = TAG20081016T220440
通道 ORA_DISK_1: 恢复完成, 用时:
00:02:10
完成 restore 于 17-10月-08
启动 recover 于 17-10月-08
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 1 已作为文件 C:\DEMO\ARCHIVE\1_1_668296810.LOG 存在于磁盘上
存档日志线程 1 序列
2 已作为文件 C:\DEMO\ARCHIVE\2_1_668296810.LOG 存在于磁盘上
存档日志线程 1 序列 3 已作为文件
C:\DEMO\ARCHIVE\3_1_668296810.LOG 存在于磁盘上
存档日志线程 1 序列 4 已作为文件
C:\DEMO\ARCHIVE\4_1_668296810.LOG 存在于磁盘上
存档日志线程 1 序列 5 已作为文件
C:\DEMO\ARCHIVE\5_1_668296810.LOG 存在于磁盘上
存档日志文件名
=C:\DEMO\ARCHIVE\1_1_668296810.LOG 线程 =1 序列 =1
存档日志文件名
=C:\DEMO\ARCHIVE\2_1_668296810.LOG 线程 =1 序列 =2
存档日志文件名
=C:\DEMO\ARCHIVE\3_1_668296810.LOG 线程 =1 序列 =3
存档日志文件名
=C:\DEMO\ARCHIVE\4_1_668296810.LOG 线程 =1 序列 =4
存档日志文件名
=C:\DEMO\ARCHIVE\5_1_668296810.LOG 线程 =1 序列 =5
介质恢复完成, 用时: 00:00:06
完成
recover 于 17-10月-08
sql 语句: alter database open resetlogs
重新备份数据库,并删除以前备份。
RMAN> run
2> {
3> delete noprompt backup;
4> delete
noprompt copy;
5> backup database format='d:\1017\%d_%s_%p.bak';
6> sql 'alter system archive log current';
7> }
11.3.4 基于备份控制文件恢复
失败信息:
SQL> drop tablespace user07 including contents;
表空间已删除。
SQL> select * from user07;
select * from user07
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
alert_DEMO.log 文件
Sat Oct 18 09:26:45 2008
drop tablespace user07 including contents
Sat Oct 18 09:26:46 2008
Starting control autobackup
Sat Oct 18
09:26:48 2008
..........................
Control autobackup written to DISK device
handle
'D:\BACKUP\DEMO_C-3408444956-20081018-06.CTL'
Completed: drop tablespace
user07 including contents
恢复:
C:\>set nls_date_format=yyyy-mm-dd hh24:mi:ss
C:\>rman target nocatalog
恢复管理器: Release 10.2.0.1.0 - Production on 星期日 10月 19 10:25:03 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到目标数据库 (未启动)
RMAN> startup force nomount
Oracle 实例已启动
系统全局区域总计 167772160 字节
Fixed Size 1247900 字节
Variable Size
79693156 字节
Database Buffers 83886080 字节
Redo
Buffers 2945024 字节
RMAN> set dbid=3408444956;
正在执行命令: SET DBID
RMAN> restore controlfile from 'd:\backup\DEMO_C-3408444956-20081018-05.CTL';
启动 restore 于 2008-10-19 10:25:35
分配的通道: ORA_DISK_1
通道 ORA_DISK_1:
sid=156 devtype=DISK
通道 ORA_DISK_1: 正在复原控制文件
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:04
输出文件名=D:\DEMO\CONTROL01.CTL
输出文件名=C:\DEMO\CONTROL02.CTL
完成 restore 于
2008-10-19 10:25:39
RMAN> alter database mount;
数据库已装载
释放的通道: ORA_DISK_1
RMAN> run
2> {
3> set until time='2008-10-18 09:26:44';
4> restore database;
5> recover database;
6> sql 'alter
database open resetlogs';
7> }
正在执行命令: SET until clause
启动 restore 于 2008-10-19 10:26:09
启动 implicit crosscheck backup 于
2008-10-19 10:26:09
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156
devtype=DISK
已交叉检验的 128 对象
完成 implicit crosscheck backup 于 2008-10-19
10:26:17
启动 implicit crosscheck copy 于 2008-10-19 10:26:17
使用通道 ORA_DISK_1
已交叉检验的 15 对象
完成 implicit crosscheck copy 于 2008-10-19 10:26:19
搜索恢复区域中的所有文件
正在编制文件目录...
没有为文件编制目录
使用通道 ORA_DISK_1
创建数据文件 fno = 5 名称 = E:\USER07.DBF
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道
ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\DEMO\SYSTEM01.DBF
正将数据文件00002恢复到D:\DEMO\UNDOTBS01.DBF
正将数据文件00003恢复到D:\DEMO\SYSAUX01.DBF
正将数据文件00004恢复到C:\DEMO\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份段
D:\1017\DEMO_149_1.BAK
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 =
D:\1017\DEMO_149_1.BAK 标记 = TAG20081017T222353
通道 ORA_DISK_1: 正在读取备份段
D:\1017\DEMO_149_2.BAK
通道 ORA_DISK_1: 已恢复备份段 2
段句柄 =
D:\1017\DEMO_149_2.BAK 标记 = TAG20081017T222353
通道 ORA_DISK_1: 恢复完成, 用时:
00:02:10
完成 restore 于 2008-10-19 10:28:34
启动 recover 于 2008-10-19 10:28:35
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 1 已作为文件 C:\DEMO\ARCHIVE\1_1_668384006.LOG 存在于磁盘上
存档日志线程 1 序列
2 已作为文件 C:\DEMO\ARCHIVE\2_1_668384006.LOG 存在于磁盘上
存档日志线程 1 序列 3 已作为文件
C:\DEMO\ARCHIVE\3_1_668384006.LOG 存在于磁盘上
存档日志线程 1 序列 4 已作为文件
C:\DEMO\ARCHIVE\4_1_668384006.LOG 存在于磁盘上
存档日志线程 1 序列 5 已作为文件
C:\DEMO\ARCHIVE\5_1_668384006.LOG 存在于磁盘上
存档日志线程 1 序列 6 已作为文件
C:\DEMO\ARCHIVE\6_1_668384006.LOG 存在于磁盘上
存档日志线程 1 序列 7 已作为文件
C:\DEMO\ARCHIVE\7_1_668384006.LOG 存在于磁盘上
存档日志线程 1 序列 9 已作为文件
C:\DEMO\REDO02_2.LOG 存在于磁盘上
存档日志线程 1 序列 10 已作为文件 C:\DEMO\REDO03_2.LOG 存在于磁盘上
存档日志线程 1 序列 11 已作为文件 D:\DEMO\REDO01.LOG 存在于磁盘上
存档日志文件名
=C:\DEMO\ARCHIVE\1_1_668384006.LOG 线程 =1 序列 =1
存档日志文件名
=C:\DEMO\ARCHIVE\2_1_668384006.LOG 线程 =1 序列 =2
存档日志文件名
=C:\DEMO\ARCHIVE\3_1_668384006.LOG 线程 =1 序列 =3
存档日志文件名
=C:\DEMO\ARCHIVE\4_1_668384006.LOG 线程 =1 序列 =4
存档日志文件名
=C:\DEMO\ARCHIVE\5_1_668384006.LOG 线程 =1 序列 =5
存档日志文件名
=C:\DEMO\ARCHIVE\6_1_668384006.LOG 线程 =1 序列 =6
存档日志文件名
=C:\DEMO\ARCHIVE\7_1_668384006.LOG 线程 =1 序列 =7
存档日志文件名
=C:\DEMO\ARCHIVE\8_1_668384006.LOG 线程 =1 序列 =8
存档日志文件名 =C:\DEMO\REDO02_2.LOG
线程 =1 序列 =9
存档日志文件名 =C:\DEMO\REDO03_2.LOG 线程 =1 序列 =10
存档日志文件名
=D:\DEMO\REDO01.LOG 线程 =1 序列 =11
介质恢复完成, 用时: 00:00:11
完成 recover 于
2008-10-19 10:28:57
sql 语句: alter database open resetlogs
重新备份数据库,并删除以前备份。
RMAN> run
2> {
3> delete noprompt copy;
4> delete
noprompt backup;
5> backup database format='d:\backup\%d_%s_%p.bak';
6> sql 'alter system archive log current';
7> }