window下rman工具恢复

使用rman实现正确的备份后,如果数据文件出现介质错误,可以使用rman,通过不同的恢复模式,将系统恢复到某个状态。

15.4.1 数据库非归档恢复




15.4.2 数据库归档恢复


与非归档模式的额数据库恢复相比,使用数据库归档模式恢复的基本特点是归档重做日志文件的内容将应用到数据文件上,在恢复过程中,rman会自动确定恢复数据库需要哪些归档重做日志文件

例15.13下面在归档模式下,对数据库进行归档恢复。实现步骤如下:

<1>确认数据库处于archivelog模式下,如果不是,切换到模式为archivelog

<2>启动rman,连接到目标数据库。

<3>备份整个数据库

<4>模拟介质故障。关闭目标数据库后,通过操作系统移动或者删除表空间users对应的user01.dbf

<5>执行下面的命令来恢复数据库,语句如下:

run{

allocate channel ch1 type disk;

restore database;

sql "alter database mount";

recover database;

sql "alter database open resetlogs";

release channel ch1;

}


15.4.3数据块恢复


例15.14查询v$database_block_corruption视图,查看已经损坏的数据块的信息,具体如下:

SQL> select * from v$database_block_corruption;

C:\>rman target/
恢复管理器: Release 11.2.0.1.0 - Production on 星期六 12月 12 23:31:54 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到目标数据库: ORACLE (DBID=1768241175)
RMAN> recover datafile 2 block 14 from backupset;


启动 recover 于 12-12月-15
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=20 设备类型=DISK


正在开始介质的恢复
介质恢复完成, 用时: 00:00:00


完成 recover 于 12-12月-15



15.4.4恢复表空间

在数据库启动时发现数据文件孙华,从数据字典视图v$datafile_header中查询到数据文件所属的表空间。

1、启动数据库(mount状态。这个状态就够了)

请输入用户名:  sys/sys as sysdba
已连接到空闲例程。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 1486495744 bytes
Fixed Size                  2175888 bytes
Variable Size             973081712 bytes
Database Buffers          503316480 bytes
Redo Buffers                7921664 bytes
数据库装载完毕。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01157: 无法标识/锁定数据文件 4 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 4: 'F:\ORACLEINTALL\INTALL1\ORADATA\ORACLE\USERS01.DBF'

(模仿故障,在关闭数据库下删除user表空间对应的物理文件USERS01.DBF)



2、连接目标数据库

C:\>rman target/
恢复管理器: Release 11.2.0.1.0 - Production on 星期六 12月 12 23:12:36 2015
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
已连接到目标数据库: ORACLE (DBID=1768241175, 未打开)

3、执行恢复表空间的命令。


RMAN> restore tablespace users;
启动 restore 于 12-12月-15
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=10 设备类型=DISK
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00004 还原到 F:\ORACLEINTALL\INTALL1\ORADATA\ORACLE\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 F:\ORACLEINTALL\INTALL1\FLASH_RECOVERY_AREA\ORACLE\BACKUPSET\2015_12_12\O1_MF_NNND0_TAG20151212T213054_C6R8DJ4X_.BKP
通道 ORA_DISK_1: 段句柄 = F:\ORACLEINTALL\INTALL1\FLASH_RECOVERY_AREA\ORACLE\BACKUPSET\2015_12_12\O1_MF_NNND0_TAG20151212T213054_C6R8DJ4X_.BKP 标记 = TAG20151212T213054
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:03
完成 restore 于 12-12月-15

RMAN> recover tablespace users;
启动 recover 于 12-12月-15
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始还原增量数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
数据文件 00004 的还原目标: F:\ORACLEINTALL\INTALL1\ORADATA\ORACLE\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 F:\ORACLEINTALL\INTALL1\FLASH_RECOVERY_AREA\ORACLE\BACKUPSET\2015_12_12\O1_MF_NNND1_TAG20151212T214153_C6R913OR_.BKP
通道 ORA_DISK_1: 段句柄 = F:\ORACLEINTALL\INTALL1\FLASH_RECOVERY_AREA\ORACLE\BACKUPSET\2015_12_12\O1_MF_NNND1_TAG20151212T214153_C6R913OR_.BKP 标记 = TAG20151212T214153
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:01


正在开始介质的恢复
介质恢复完成, 用时: 00:00:01


完成 recover 于 12-12月-15

你可能感兴趣的:(window下rman工具恢复)