rman不完全恢复

一、不完全恢复特性

1、不完全恢复

      不完全恢复仅仅是将数据恢复到某一个特定的时间点或特定的SCN,而不是当前时间点。不完全恢复会影响整个数据库,需要在MOUNT状 态下进行。在不完全恢复成功之后,通常需要使用 resetlogs 选项来打开数据库。当使用resetlogs后,SCN 计数器不会被重置,原来的日

  志序号 log sequence 会结束,从新开始新的日志序列号。在Oracle里称之为产生一个新的incarnation。同时Oracle还会重置联机重做日

  志内容,因此resetlogs之后建议重新全备数据库。


2、不完全恢复的情形

      介质故障(media failure)导致部分或全部联机重做日志(online redo log)损坏

      用户操作失误(user error)导致数据丢失,例如,用户由于疏忽而移除了表,提交了无效的数据到表

      由于归档重做日志(archived redo log)丢失而无法进行完全恢复(complete recovery)

      当前控制文件(control file)丢失,必须使用备份的控制文件打开(open)数据库

3、不完全恢复的步骤

      关闭数据库并备份数据库(以防止恢复失败)

      启动数据库到mount 状态

      还原所有数据文件,同时可以选择还原控制文件(注意需要还原所有数据文件,而不仅仅是受损文件)

      将数据库恢复至某个时间点、序列、或系统改变号

      使用RESETLOGS关键字打开数据库

5、不完全介质恢复的几种类型

      基于时间的恢复(Time-based recovery) 将数据恢复到指定的时间点

      基于SCN 的恢复(Change-based recovery) 将数据恢复到指定的SCN

      按重做日志序号恢复(Log sequence recovery)将数据恢复到指定的重做日志序号(仅使用RMAN时有效)



create user weisi_huifu identified by weisi default tablespace RMAN_TBS

grant select on DBA_OBJECTS to WEISI_HUIFU;

grant connect to WEISI_HUIFU;

grant resource to WEISI_HUIFU;

  RMAN> backup database;

sqlplus weisi_huifu/weisi@weisi

create table t as select  * from sys.dba_objects;

select count(1) from t;

      145088

select dbms_flashback.get_system_change_number, SCN_TO_TIMESTAMP(dbms_flashback.get_system_change_number) from dual;

2641340


    t_norecover

22290564

insert into t select * from t;

commit;

alter system switch logfile;

alter system checkpoint;

shutdown immediate;

RMAN> startup mount;

      restore database from /opt/soft/recover/ORCL/backupset/2016_04_23/o1_mf_nnndf_TAG20160423T195019_ckprcw0l_.bkp;

      recover database until scn 22290564;

      alter database open resetlogs;


SQL> select count(1) from t_norecover;

你可能感兴趣的:(rman不完全恢复)