step 1:确定哪些文件发生了介质失效事件
·RMAN或SQL*Plus显示的错误提示信息
·Alert.log文件和跟踪文件
·数据字典视图
·Date Recovery Advisor
Date Recovery Advisor的4种模式:
1)显示故障的详细信息
2)提供处理建议
3)运行修复故障的命令
4)更改故障的状态
=================================
DRA(Date Recovery Advisor)详解:
1.显示故障的详细信息
RMAN>list failure
RMAN>list failure [failure id] [detail]显示故障的更多信息
RMAN>validate database --验证数据库是否出现介质失效的情况
2.提供处理建议
RMAN>advise failure [failure id] (会生成一个恢复脚本)
3.修复故障
RMAN>repair failure(在运行了list failure和advise failure之后,如果你接受建议,就可以运行repair failure)
4.更改故障的状态
RMAN>change failure [failure id] priority [hight|low]
--如果你认为此次故障不重要,可以使用这条命令修改其优先级
======================================================
完全恢复满足的条件:
·数据库必须处于归档模式
·必须拥有数据文件的良好基点备份
·必须拥有执行上次备份操作后生成的所有重做日志
·必须拥有执行上次备份操作后生成的所有归档重做日志
·必须拥有执行RMAN恢复操作所必须的所有增量备份
·必须拥有还未归档的联机重做日志
1.预览将用于恢复操作的备份
RMAN>restore database preview;
RMAN>restore database preview summary;
RMAN>restore tablespace system preview;
RMAN>restore archivelog from time 'susdate -1' preview;
RMAN>restore datafile 1,2,3 preview;
2.在执行恢复操作前检查备份文件
RMAN>restore database validate header;
--检查备份文件是否存在以及他们的头部是否正确
RMAN>restore database validate;
--仅检查备份文件中的物理坏块
RMAN>restore database validate check logical;
--检查备份文件的逻辑坏块
RMAN>restore datafile 1,2.3 validate;
RMAN>restore archivelog all validate;
RMAN>restore controlfile validate;
RMAN>restore tablespace system validate;
3.测试介质恢复操作
RAMN>recover tablespace users test;
RAMN>recover database test;
RAMN>recover datafile 1 test;
==================================================
恢复数据库
1.使用当前的控制文件:
RMAN>restore database;
RMAN>recover database;
RMAN>alter database open;(open模式下不允许对与system表空间相关的数据文件执行恢复操作)
2.使用备份的控制文件:
RMAN>startup nomount;
RMAN>restore controlfile from autobackup;
RMAN>alter database mount;
RMAN>restore database;
RMAN>recover database;
RMAN>alter database open resetlogs;
3.恢复表空间:
1)open模式下
RMAN>sql 'alter tablespace users offline immediate';
RMAN>restore tablespace users;
RMAN>recover tablespace users;
RMAN>sql 'alter tablespace users online';
2)mount模式下:
RMAN>restore tablespace system;
RMAN>recover tablespace system;
RMAN>alter database open;
4.恢复只读表空间:
1)11g版本
RMAN>restore database check readonly;
2)12g及更高版本
RMAN>restore database;(附带恢复只读表空间)
5.恢复临时表空间:
10g开始,无需恢复或创建以本地方式管理的临时表空间的数据文件。
在打开数据库库时,oracle自动检查并重建以本地方式管理的表空间
6.恢复数据文件:
1)open模式下
RMAM>alter database datafile 1 offline [immediate];
RMAM>restore datafile 1;
RMAM>recover datafile 1;
RMAM>alter database datafile 1 online;
2)mount模式下:
RMAM>restore datafile 1;
RMAM>recover datafile 1;
RMAM>alter database open;
7.将数据文件恢复到非默认位置(原挂在点失效)
SQL>startup mount; --set newname和switch必须在run块中运行
RMAM>run{
set newname for datafile 4 to '/u01/dbfile/012c/users01.dbf';
set newname for datafile 5 to '/u01/dbfile/012c/users02.dbf'
restore datafile 4,5;
switch datafile all; #updates repository with new datafile location.
recover datafile 4,5;
alter database open;
--------open模式下,先将数据文件脱机后再执行
8.数据块级恢复
未完,待续!!!
浙公网安备 33010602011771号