介质恢复是基于物理备份恢复数据,它包括块恢复、数据文件恢复、表空间恢复和整个数据库的恢复。
介质恢复过程包括还原(RESTORE)和恢复(RECOVER)两个步骤
数据库的恢复过程又分为完全恢复和不完全恢复。
完全恢复是一种没有数据丢失的恢复方式,它能够恢复到最新联机在线日志中已提交的数据。
不完全恢复是一种丢失数据的恢复方式,称为基于时间点的恢复。它只能针对整个数据库的恢复。不完全恢复根据备份情况恢复到与指定时间、日志序列号和SCN具有一致性的数据,之后的数据都将丢失。使用RESTLOGS选项打开数据库
不完全恢复方式 | RMAN选项 |
---|---|
恢复到某个时间点 | until time |
恢复到某个日志序列号 | until suquence |
恢复到某个SCN号 | until SCN |
Oracle数据库中有各种各样的块,如空块、表头块、数据块、索引块、数据文件头块、UNDO段块等。如果损坏的是普通表的数据块,那即不会影响启动数据库,也不会影响其他表的正常访问,只是在访问该表的时候会出现问题。如果损坏的是数据文件的块头,那么将导致数据库无法正常启动和停止,进行块恢复不能修复这个问题,只有数据文件的完全恢复才能恢复数据文件块头的损坏或尝试使用BBED修改数据文件块头。
rman target /
restore datafile 6;
recover datafile 6;
alter database open;
rman target /
run {
shutdown immediate;
startup mount;
SQL "alter session set nls_date_format=‘‘YYYY-MM-DD HH24:MI:SS‘‘";
set until time ‘2021-08-08 18:24:00‘;
restore database;
recover database;
alter database open resetlogs;
}
run {
shutdown immediate;
startup mount;
set until scn 5166390;
restore database;
recover database;
alter database open resetlogs;
}
run {
shutdown immediate;
startup mount;
set until sequence 10350 thread 1;
restore database;
recover database;
alter database open resetlogs;
}
不包含10350序号的日志中redo数据
原文:https://www.cnblogs.com/binliubiao/p/15187185.html