--必须在Archivelog归档模式下
C:\>RMAN
RMAN> connect target sys/oracle@testdb --连接到目标数据库(需要备份的数据库)
RMAN> backup database; --
/*
启动 backup 于 07-2月 -14
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=133 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF
输入数据文件 fno=00002 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\UNDOTBS01.DBF
输入数据文件 fno=00003 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSAUX01.DBF
输入数据文件 fno=00004 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF
输入数据文件 fno=00005 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A.ORA
输入数据文件 fno=00006 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A1.ORA
输入数据文件 fno=00007 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\UNDOTBS02.DBF
通道 ORA_DISK_1: 正在启动段 1 于 07-2月 -14
通道 ORA_DISK_1: 已完成段 1 于 07-2月 -14
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140
207T143250_9H8ZJMC7_.BKP 标记=TAG20140207T143250 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:36
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 07-2月 -14
通道 ORA_DISK_1: 已完成段 1 于 07-2月 -14
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NCSNF_TAG20140
207T143250_9H8ZKR2X_.BKP 标记=TAG20140207T143250 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:07
完成 backup 于 07-2月 -14
*/
保存到C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07
--*********************
手动指定通道及备份内容
--*********************
RMAN> run{
2> allocate channel c1 device type disk; --指定通道c1的存储类型是磁盘
3> allocate channel c2 device type disk; --指定通道c2(多核CPU使用多通道才能提高效率)
4> backup as compressed backupset database; --以压缩的备份集存在,备份时间增加,但是节省空间
5> }
/*
释放的通道: ORA_DISK_1
分配的通道: c1
通道 c1: sid=133 devtype=DISK
分配的通道: c2
通道 c2: sid=141 devtype=DISK
启动 backup 于 07-2月 -14
通道 c1: 启动压缩的全部数据文件备份集
通道 c1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF
输入数据文件 fno=00004 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF
输入数据文件 fno=00007 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\UNDOTBS02.DBF
通道 c1: 正在启动段 1 于 07-2月 -14
通道 c2: 启动压缩的全部数据文件备份集
通道 c2: 正在指定备份集中的数据文件
输入数据文件 fno=00002 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\UNDOTBS01.DBF
输入数据文件 fno=00003 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSAUX01.DBF
输入数据文件 fno=00005 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A.ORA
输入数据文件 fno=00006 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A1.ORA
通道 c2: 正在启动段 1 于 07-2月 -14
通道 c1: 已完成段 1 于 07-2月 -14
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140
207T144753_9H90DSOH_.BKP 标记=TAG20140207T144753 注释=NONE
通道 c1: 备份集已完成, 经过时间:00:00:16
通道 c1: 启动压缩的全部数据文件备份集
通道 c1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
通道 c1: 正在启动段 1 于 07-2月 -14
通道 c2: 已完成段 1 于 07-2月 -14
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140
207T144753_9H90DVC7_.BKP 标记=TAG20140207T144753 注释=NONE
通道 c2: 备份集已完成, 经过时间:00:00:17
通道 c2: 启动压缩的全部数据文件备份集
通道 c2: 正在指定备份集中的数据文件
通道 c1: 已完成段 1 于 07-2月 -14
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NCNNF_TAG20140
207T144753_9H90FB6T_.BKP 标记=TAG20140207T144753 注释=NONE
通道 c1: 备份集已完成, 经过时间:00:00:02
在备份集中包含当前的 SPFILE
通道 c2: 正在启动段 1 于 07-2月 -14
通道 c2: 已完成段 1 于 07-2月 -14
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNSNF_TAG20140
207T144753_9H90FCD6_.BKP 标记=TAG20140207T144753 注释=NONE
通道 c2: 备份集已完成, 经过时间:00:00:02
完成 backup 于 07-2月 -14
释放的通道: c1
释放的通道: c2
*/
RMAN> list backup;
备份集列表 --默认一个通道产生一个备份集
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
1 Full 547.87M DISK 00:00:31 07-2月 -14
1 Full 547.87M DISK 00:00:31 07-2月 -14
BP 关键字: 1 状态: AVAILABLE 已压缩: NO 标记: TAG20140207T143250 --备份集1有一个备份片,一个备份集可以对应多个备份片
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140207T143250_9H8ZJMC7_.BKP
备份集 1 中的数据文件列表 --包含的数据文件
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 614505 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF
2 Full 614505 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\UNDOTBS01.DBF
3 Full 614505 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSAUX01.DBF
4 Full 614505 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF
5 Full 614505 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A.ORA
6 Full 614505 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A1.ORA
7 Full 614505 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\UNDOTBS02.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
2 Full 6.80M DISK 00:00:02 07-2月 -14
BP 关键字: 2 状态: AVAILABLE 已压缩: NO 标记: TAG20140207T143250 --TAG标记时间,同一批次的tag是相同的
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NCSNF_TAG20140207T143250_9H8ZKR2X_.BKP
包括的控制文件: Ckp SCN: 614519 Ckp 时间: 07-2月 -14 --包含的控制文件
包含的 SPFILE: 修改时间: 07-2月 -14 --包含的SPFILE
--....省略
--*****************
RMAN的恢复
--*****************
Select * From V$LOG; --GROUP 1
Select * From System.T
Insert Into System.T Values(1,'A',Sysdate);
Commit;
Alter System Switch Logfile; --切换日志
Select * From V$LOG; --GROUP 2
Insert Into System.T Values(2,'B',Sysdate);
Commit;
Alter System Switch Logfile; --切换日志
Select * From V$LOG; --GROUP 3
Insert Into System.T Values(3,'C',Sysdate);
Commit;
Alter System Switch Logfile; --切换日志
Select * From V$LOG; --GROUP 1
Insert Into System.T Values(4,'D',Sysdate);
Commit;
Alter System Switch Logfile; --切换日志
Select * From V$LOG; --GROUP 2 CURRENT 1,3 ACTIVE
Alter System Checkpoint; --切换检查点,强制让数据库模块中的内容写入系统模块
Select * From V$LOG; --GROUP 2 CURRENT 1,3 INACTIVE
Insert Into System.T Values(5,'E',Sysdate);
Commit;
Shutdown Immediate --没有提交日志,直接关闭数据库
删除REDO和CONTROL以外的表空间,模拟数据文件损坏
C:\>rman
RMAN> connect target /
已连接到目标数据库: TESTDB (DBID=2614920292, 未打开)
RMAN> shutdown immediate
使用目标数据库控制文件替代恢复目录
数据库已卸载
Oracle 实例已关闭
RMAN> startup mount
已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
系统全局区域总计 272629760 字节
Fixed Size 1248476 字节
Variable Size 92275492 字节
Database Buffers 171966464 字节
Redo Buffers 7139328 字节
RMAN> alter database open;
ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF'
RMAN> List Backup; --显示RMAN备份的列表
RMAN> List Backup Of Database; --显示RMAN备份的数据文件的列表
RMAN> List Backup Of Controlfile; --显示RMAN备份的控制文件的列表
RMAN> List Backup Of spfile; --显示RMAN备份的spfile的列表
RMAN> restore preview database; --预览进行恢复时,使用的是哪个备份集
/* --使用备份集3,4 并且要用到归档日志9-12
启动 restore 于 07-2月 -14
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
3 Full 44.70M DISK 00:00:13 07-2月 -14
BP 关键字: 3 状态: AVAILABLE 已压缩: YES 标记: TAG20140207T144753
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140207T144753_9H90DSOH_.BKP
备份集 3 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 616925 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF
4 Full 616925 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF
7 Full 616925 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\UNDOTBS02.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
4 Full 38.45M DISK 00:00:15 07-2月 -14
BP 关键字: 4 状态: AVAILABLE 已压缩: YES 标记: TAG20140207T144753
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140207T144753_9H90DVC7_.BKP
备份集 4 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
2 Full 616926 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\UNDOTBS01.DBF
3 Full 616926 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSAUX01.DBF
5 Full 616926 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A.ORA
6 Full 616926 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A1.ORA
使用通道 ORA_DISK_1
已存档的日志副本列表
关键字 Thrd Seq S 短时间 名称
------- ---- ------- - ---------- ----
9 1 31 A 24-1月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_31_9H9544M1_.ARC
10 1 32 A 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_32_9H955R6T_.ARC
11 1 33 A 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_33_9H956VPG_.ARC
12 1 34 A 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_34_9H9584LK_.ARC
介质恢复启动 SCN 是 616925
恢复范围必须超出 SCN 616926 才能清除数据文件模糊性
完成 restore 于 07-2月 -14
*/
RMAN> restore database; --开始用oracle指定的备份集恢复
RMAN> restore Database From tag TAG20140207T143250; --手动指定备份集,指定tag就可以,这里指定的是备份集1,2的tag
/*启动 restore 于 07-2月 -14
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF
正将数据文件00002恢复到C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\UNDOTBS01.DBF
正将数据文件00003恢复到C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSAUX01.DBF
正将数据文件00004恢复到C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF
正将数据文件00005恢复到C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A.ORA
正将数据文件00006恢复到C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A1.ORA
正将数据文件00007恢复到C:\ORACLE\PRODUCT\10.2.0\ORADATA\UNDOTBS02.DBF
通道 ORA_DISK_1: 正在读取备份段 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140207T143250_9H8ZJMC7_.BKP
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140207T143250_9H8ZJMC7_.BKP 标记 = TAG20140207T143250
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:26
完成 restore 于 07-2月 -14
*/
RMAN> alter database open; --此处相当于将备份的文件刚解压拷贝回去,并将归档中的数据恢复,即SCN号还不一致
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF'
SQL> select file#,checkpoint_change# from v$datafile;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 629174
2 629174
3 629174
4 629174
5 629174
6 629174
7 629174
已选择7行。
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 614505
2 614505
3 614505
4 614505
5 614505
6 614505
7 614505
RMAN> recover database; --此处在RMAN和SQLPLUS中都可以执行
/*
启动 recover 于 07-2月 -14
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 31 已作为文件 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_31_9H9544M1_.ARC 存在于磁盘上
存档日志线程 1 序列 32 已作为文件 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_32_9H955R6T_.ARC 存在于磁盘上
存档日志线程 1 序列 33 已作为文件 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_33_9H956VPG_.ARC 存在于磁盘上
存档日志线程 1 序列 34 已作为文件 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_34_9H9584LK_.ARC 存在于磁盘上
存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_31_9H9544M1_.ARC 线程 =1 序列 =31
存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_32_9H955R6T_.ARC 线程 =1 序列 =32
介质恢复完成, 用时: 00:00:06
完成 recover 于 07-2月 -14
*/
RMAN> alter database open;
/*数据库已打开*/
Select * From System.t --id=1到5的5条数据都在
C:\>RMAN
RMAN> connect target sys/oracle@testdb --连接到目标数据库(需要备份的数据库)
RMAN> backup database; --
/*
启动 backup 于 07-2月 -14
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=133 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF
输入数据文件 fno=00002 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\UNDOTBS01.DBF
输入数据文件 fno=00003 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSAUX01.DBF
输入数据文件 fno=00004 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF
输入数据文件 fno=00005 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A.ORA
输入数据文件 fno=00006 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A1.ORA
输入数据文件 fno=00007 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\UNDOTBS02.DBF
通道 ORA_DISK_1: 正在启动段 1 于 07-2月 -14
通道 ORA_DISK_1: 已完成段 1 于 07-2月 -14
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140
207T143250_9H8ZJMC7_.BKP 标记=TAG20140207T143250 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:36
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 07-2月 -14
通道 ORA_DISK_1: 已完成段 1 于 07-2月 -14
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NCSNF_TAG20140
207T143250_9H8ZKR2X_.BKP 标记=TAG20140207T143250 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:07
完成 backup 于 07-2月 -14
*/
保存到C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07
--*********************
手动指定通道及备份内容
--*********************
RMAN> run{
2> allocate channel c1 device type disk; --指定通道c1的存储类型是磁盘
3> allocate channel c2 device type disk; --指定通道c2(多核CPU使用多通道才能提高效率)
4> backup as compressed backupset database; --以压缩的备份集存在,备份时间增加,但是节省空间
5> }
/*
释放的通道: ORA_DISK_1
分配的通道: c1
通道 c1: sid=133 devtype=DISK
分配的通道: c2
通道 c2: sid=141 devtype=DISK
启动 backup 于 07-2月 -14
通道 c1: 启动压缩的全部数据文件备份集
通道 c1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF
输入数据文件 fno=00004 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF
输入数据文件 fno=00007 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\UNDOTBS02.DBF
通道 c1: 正在启动段 1 于 07-2月 -14
通道 c2: 启动压缩的全部数据文件备份集
通道 c2: 正在指定备份集中的数据文件
输入数据文件 fno=00002 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\UNDOTBS01.DBF
输入数据文件 fno=00003 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSAUX01.DBF
输入数据文件 fno=00005 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A.ORA
输入数据文件 fno=00006 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A1.ORA
通道 c2: 正在启动段 1 于 07-2月 -14
通道 c1: 已完成段 1 于 07-2月 -14
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140
207T144753_9H90DSOH_.BKP 标记=TAG20140207T144753 注释=NONE
通道 c1: 备份集已完成, 经过时间:00:00:16
通道 c1: 启动压缩的全部数据文件备份集
通道 c1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
通道 c1: 正在启动段 1 于 07-2月 -14
通道 c2: 已完成段 1 于 07-2月 -14
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140
207T144753_9H90DVC7_.BKP 标记=TAG20140207T144753 注释=NONE
通道 c2: 备份集已完成, 经过时间:00:00:17
通道 c2: 启动压缩的全部数据文件备份集
通道 c2: 正在指定备份集中的数据文件
通道 c1: 已完成段 1 于 07-2月 -14
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NCNNF_TAG20140
207T144753_9H90FB6T_.BKP 标记=TAG20140207T144753 注释=NONE
通道 c1: 备份集已完成, 经过时间:00:00:02
在备份集中包含当前的 SPFILE
通道 c2: 正在启动段 1 于 07-2月 -14
通道 c2: 已完成段 1 于 07-2月 -14
段句柄=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNSNF_TAG20140
207T144753_9H90FCD6_.BKP 标记=TAG20140207T144753 注释=NONE
通道 c2: 备份集已完成, 经过时间:00:00:02
完成 backup 于 07-2月 -14
释放的通道: c1
释放的通道: c2
*/
RMAN> list backup;
备份集列表 --默认一个通道产生一个备份集
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
1 Full 547.87M DISK 00:00:31 07-2月 -14
1 Full 547.87M DISK 00:00:31 07-2月 -14
BP 关键字: 1 状态: AVAILABLE 已压缩: NO 标记: TAG20140207T143250 --备份集1有一个备份片,一个备份集可以对应多个备份片
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140207T143250_9H8ZJMC7_.BKP
备份集 1 中的数据文件列表 --包含的数据文件
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 614505 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF
2 Full 614505 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\UNDOTBS01.DBF
3 Full 614505 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSAUX01.DBF
4 Full 614505 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF
5 Full 614505 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A.ORA
6 Full 614505 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A1.ORA
7 Full 614505 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\UNDOTBS02.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
2 Full 6.80M DISK 00:00:02 07-2月 -14
BP 关键字: 2 状态: AVAILABLE 已压缩: NO 标记: TAG20140207T143250 --TAG标记时间,同一批次的tag是相同的
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NCSNF_TAG20140207T143250_9H8ZKR2X_.BKP
包括的控制文件: Ckp SCN: 614519 Ckp 时间: 07-2月 -14 --包含的控制文件
包含的 SPFILE: 修改时间: 07-2月 -14 --包含的SPFILE
--....省略
--*****************
RMAN的恢复
--*****************
Select * From V$LOG; --GROUP 1
Select * From System.T
Insert Into System.T Values(1,'A',Sysdate);
Commit;
Alter System Switch Logfile; --切换日志
Select * From V$LOG; --GROUP 2
Insert Into System.T Values(2,'B',Sysdate);
Commit;
Alter System Switch Logfile; --切换日志
Select * From V$LOG; --GROUP 3
Insert Into System.T Values(3,'C',Sysdate);
Commit;
Alter System Switch Logfile; --切换日志
Select * From V$LOG; --GROUP 1
Insert Into System.T Values(4,'D',Sysdate);
Commit;
Alter System Switch Logfile; --切换日志
Select * From V$LOG; --GROUP 2 CURRENT 1,3 ACTIVE
Alter System Checkpoint; --切换检查点,强制让数据库模块中的内容写入系统模块
Select * From V$LOG; --GROUP 2 CURRENT 1,3 INACTIVE
Insert Into System.T Values(5,'E',Sysdate);
Commit;
Shutdown Immediate --没有提交日志,直接关闭数据库
删除REDO和CONTROL以外的表空间,模拟数据文件损坏
C:\>rman
RMAN> connect target /
已连接到目标数据库: TESTDB (DBID=2614920292, 未打开)
RMAN> shutdown immediate
使用目标数据库控制文件替代恢复目录
数据库已卸载
Oracle 实例已关闭
RMAN> startup mount
已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
系统全局区域总计 272629760 字节
Fixed Size 1248476 字节
Variable Size 92275492 字节
Database Buffers 171966464 字节
Redo Buffers 7139328 字节
RMAN> alter database open;
ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF'
RMAN> List Backup; --显示RMAN备份的列表
RMAN> List Backup Of Database; --显示RMAN备份的数据文件的列表
RMAN> List Backup Of Controlfile; --显示RMAN备份的控制文件的列表
RMAN> List Backup Of spfile; --显示RMAN备份的spfile的列表
RMAN> restore preview database; --预览进行恢复时,使用的是哪个备份集
/* --使用备份集3,4 并且要用到归档日志9-12
启动 restore 于 07-2月 -14
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
3 Full 44.70M DISK 00:00:13 07-2月 -14
BP 关键字: 3 状态: AVAILABLE 已压缩: YES 标记: TAG20140207T144753
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140207T144753_9H90DSOH_.BKP
备份集 3 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 616925 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF
4 Full 616925 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF
7 Full 616925 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\UNDOTBS02.DBF
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
4 Full 38.45M DISK 00:00:15 07-2月 -14
BP 关键字: 4 状态: AVAILABLE 已压缩: YES 标记: TAG20140207T144753
段名:C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140207T144753_9H90DVC7_.BKP
备份集 4 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
2 Full 616926 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\UNDOTBS01.DBF
3 Full 616926 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSAUX01.DBF
5 Full 616926 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A.ORA
6 Full 616926 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A1.ORA
使用通道 ORA_DISK_1
已存档的日志副本列表
关键字 Thrd Seq S 短时间 名称
------- ---- ------- - ---------- ----
9 1 31 A 24-1月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_31_9H9544M1_.ARC
10 1 32 A 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_32_9H955R6T_.ARC
11 1 33 A 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_33_9H956VPG_.ARC
12 1 34 A 07-2月 -14 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_34_9H9584LK_.ARC
介质恢复启动 SCN 是 616925
恢复范围必须超出 SCN 616926 才能清除数据文件模糊性
完成 restore 于 07-2月 -14
*/
RMAN> restore database; --开始用oracle指定的备份集恢复
RMAN> restore Database From tag TAG20140207T143250; --手动指定备份集,指定tag就可以,这里指定的是备份集1,2的tag
/*启动 restore 于 07-2月 -14
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF
正将数据文件00002恢复到C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\UNDOTBS01.DBF
正将数据文件00003恢复到C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSAUX01.DBF
正将数据文件00004恢复到C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF
正将数据文件00005恢复到C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A.ORA
正将数据文件00006恢复到C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\A1.ORA
正将数据文件00007恢复到C:\ORACLE\PRODUCT\10.2.0\ORADATA\UNDOTBS02.DBF
通道 ORA_DISK_1: 正在读取备份段 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140207T143250_9H8ZJMC7_.BKP
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\BACKUPSET\2014_02_07\O1_MF_NNNDF_TAG20140207T143250_9H8ZJMC7_.BKP 标记 = TAG20140207T143250
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:26
完成 restore 于 07-2月 -14
*/
RMAN> alter database open; --此处相当于将备份的文件刚解压拷贝回去,并将归档中的数据恢复,即SCN号还不一致
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF'
SQL> select file#,checkpoint_change# from v$datafile;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 629174
2 629174
3 629174
4 629174
5 629174
6 629174
7 629174
已选择7行。
SQL> select file#,checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 614505
2 614505
3 614505
4 614505
5 614505
6 614505
7 614505
RMAN> recover database; --此处在RMAN和SQLPLUS中都可以执行
/*
启动 recover 于 07-2月 -14
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 31 已作为文件 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_31_9H9544M1_.ARC 存在于磁盘上
存档日志线程 1 序列 32 已作为文件 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_32_9H955R6T_.ARC 存在于磁盘上
存档日志线程 1 序列 33 已作为文件 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_33_9H956VPG_.ARC 存在于磁盘上
存档日志线程 1 序列 34 已作为文件 C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_34_9H9584LK_.ARC 存在于磁盘上
存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_31_9H9544M1_.ARC 线程 =1 序列 =31
存档日志文件名 =C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2014_02_07\O1_MF_1_32_9H955R6T_.ARC 线程 =1 序列 =32
介质恢复完成, 用时: 00:00:06
完成 recover 于 07-2月 -14
*/
RMAN> alter database open;
/*数据库已打开*/
Select * From System.t --id=1到5的5条数据都在
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15810196/viewspace-1130247/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15810196/viewspace-1130247/