Welcome 微信登录

首页 / 数据库 / MySQL / Oracle基于cancel的不完全恢复

实验:Oracle基于cancel的不完全恢复实验环境查看lsnrctl status
select open_mode from v$database;
  --监听与数据库状态show parameter recovery;
select flashback_on from v$database;
archive log list;
  --闪回与归档的配置1)准备环境:RMAN全库备份
RMAN> backup as compressed backupset full database;
      --压缩备份
      --backup full database ;备份集备份Starting backup at 20-MAR-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=45 device type=DISK
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/ORA11GR2/system01.dbf
input datafile file number=00002 name=/u01/app/oracle/oradata/ORA11GR2/sysaux01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/ORA11GR2/undotbs01.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/ORA11GR2/example01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/ORA11GR2/users01.dbf
channel ORA_DISK_1: starting piece 1 at 20-MAR-13
channel ORA_DISK_1: finished piece 1 at 20-MAR-13
piece handle=/u01/app/FRA/ORA11GR2/backupset/2013_03_20/o1_mf_nnndf_TAG20130320T151949_8nlrrrfm_.bkp tag=TAG20130320T151949 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:02:17
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 20-MAR-13
channel ORA_DISK_1: finished piece 1 at 20-MAR-13
piece handle=/u01/app/FRA/ORA11GR2/backupset/2013_03_20/o1_mf_ncsnf_TAG20130320T151949_8nlrx2qs_.bkp tag=TAG20130320T151949 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 20-MAR-13  2)创建测试数据
SYS@ORA11GR2>create table scott.t1 as select 1 as id from dual;Table created.SYS@ORA11GR2>alter system archive log current;System altered.SYS@ORA11GR2>create table scott.t2 as select 2 as id from dual;Table created.SYS@ORA11GR2>alter system archive log current;System altered.SYS@ORA11GR2>create table scott.t3 as select 3 as id from dual;Table created.SYS@ORA11GR2>alter system archive log current;System altered.SYS@ORA11GR2>
SYS@ORA11GR2>select table_name,tablespace_name from dba_tables where owner="SCOTT" AND table_name LIKE "T_";TABLE_NAME                  TABLESPACE_NAME
------------------------- ------------------------------
T3                            USERS
T2                            USERS
T1                            USERS完成测试数据构造后,查看生成的归档日志
ls /u01/app/oracle/fast_recovery_area/PROD/archivelog/2014_10_08
ls -lrt
3)删除所有数据文件和在线数据文件在sqlplus里面删除:
SYS@PROD>select name from v$datafile;NAME
--------------------
/u01/app/oracle/oradata/PROD/datafile/o1_mf_system_b2251bs1_.dbf/u01/app/oracle/oradata/PROD/datafile/o1_mf_sysaux_b2251bvo_.dbf/u01/app/oracle/oradata/PROD/datafile/o1_mf_undotbs1_b2251bw5_.dbf/u01/app/oracle/oradata/PROD/datafile/o1_mf_users_b2251byw_.dbf/u01/app/oracle/oradata/PROD/datafile/o1_mf_example_b2257d0c_.dbf/u01/app/oracle/oradata/PROD/datafile/tbs_move_01.dbfSYS@PROD>select member from v$logfile;MEMBER
----------------------------------------------------------------------------------------------------------------------------------
/u01/app/oracle/oradata/PROD/onlinelog/o1_mf_3_b22567o2_.log
/u01/app/oracle/fast_recovery_area/PROD/onlinelog/o1_mf_3_b2256827_.log
/u01/app/oracle/oradata/PROD/onlinelog/o1_mf_2_b2255zsg_.log
/u01/app/oracle/fast_recovery_area/PROD/onlinelog/o1_mf_2_b22560gb_.log
/u01/app/oracle/oradata/PROD/onlinelog/o1_mf_1_b2255npg_.log
/u01/app/oracle/fast_recovery_area/PROD/onlinelog/o1_mf_1_b2255nxl_.log
SYS@PROD>!rm /u01/app/oracle/oradata/PROD/datafile/*.dbf;SYS@PROD>!rm /u01/app/oracle/oradata/PROD/onlinelog/*.log;SYS@PROD>!rm /u01/app/oracle/fast_recovery_area/PROD/onlinelog/*.log;
在OS里面删除:
[oracle@ocmu ORA11GR2]$ pwd
/u01/app/oracle/oradata/ORA11GR2
[oracle@ocmu ORA11GR2]$ ls
control01.ctl  example01.dbf  redo02.log  sysaux01.dbf  temp01.dbf    users01.dbf
control02.ctl  redo01.log    redo03.log  system01.dbf  undotbs01.dbf
[oracle@ocmu ORA11GR2]$ rm *.log
[oracle@ocmu ORA11GR2]$ ls
control01.ctl  example01.dbf  system01.dbf  undotbs01.dbf
control02.ctl  sysaux01.dbf  temp01.dbf    users01.dbf
[oracle@ocmu ORA11GR2]$
4)数据库启动到mount模式
SYS@ORA11GR2>shutdown abort;
ORACLE instance shut down.
SYS@ORA11GR2>startup mount;
ORACLE instance started.Total System Global Area  841162752 bytes
Fixed Size                  1339768 bytes
Variable Size            532680328 bytes
Database Buffers          301989888 bytes
Redo Buffers                5152768 bytes
Database mounted.
SYS@ORA11GR2>
5)RMAN还原数据库
RMAN> restore database;Starting restore at 20-MAR-13
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 device type=DISKchannel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/ORA11GR2/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/ORA11GR2/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/ORA11GR2/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/ORA11GR2/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/ORA11GR2/example01.dbf
channel ORA_DISK_1: reading from backup piece /u01/app/FRA/ORA11GR2/backupset/2013_03_20/o1_mf_nnndf_TAG20130320T151949_8nlrrrfm_.bkp
channel ORA_DISK_1: piece handle=/u01/app/FRA/ORA11GR2/backupset/2013_03_20/o1_mf_nnndf_TAG20130320T151949_8nlrrrfm_.bkp tag=TAG20130320T151949
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:03:26
Finished restore at 20-MAR-13RMAN>
6)基于cancel恢复
SYS@ORA11GR2>recover database until cancel;
  --在sqlplus中完成ORA-00279: change 883460 generated at 03/20/2013 15:19:50 needed for thread 1
ORA-00289: suggestion :
/u01/app/FRA/ORA11GR2/archivelog/2013_03_20/o1_mf_1_8_8nlrzy8w_.arc
ORA-00280: change 883460 for thread 1 is in sequence #8
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}  --应用sequence #8为8,名字为o1_mf_1_8_8nlrzy8w_.arc的归档日志文件,直接按回车键ORA-00279: change 884069 generated at 03/20/2013 15:23:42 needed for thread 1
ORA-00289: suggestion :
/u01/app/FRA/ORA11GR2/archivelog/2013_03_20/o1_mf_1_9_8nls091w_.arc
ORA-00280: change 884069 for thread 1 is in sequence #9
ORA-00278: log file
"/u01/app/FRA/ORA11GR2/archivelog/2013_03_20/o1_mf_1_8_8nlrzy8w_.arc" no longer
needed for this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}  --应用sequence #9为9的这个归档日志文件,直接按回车键ORA-00279: change 884101 generated at 03/20/2013 15:23:53 needed for thread 1
ORA-00289: suggestion :
/u01/app/FRA/ORA11GR2/archivelog/2013_03_20/o1_mf_1_10_8nls0os6_.arc
ORA-00280: change 884101 for thread 1 is in sequence #10
ORA-00278: log file
"/u01/app/FRA/ORA11GR2/archivelog/2013_03_20/o1_mf_1_9_8nls091w_.arc" no longer
needed for this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
  --手动输入cancel结束恢复,不管后面有没有可恢复文件,都会结束;
Media recovery cancelled.
SYS@ORA11GR2>
SYS@ORA11GR2>alter database open resetlogs;Database altered.SYS@ORA11GR2>
7)检查
SYS@ORA11GR2>select table_name,tablespace_name from dba_tables where owner="SCOTT" AND table_name LIKE "T_";TABLE_NAME                  TABLESPACE_NAME
------------------------- ------------------------------
T2                            USERS
T1                            USERSSYS@ORA11GR2>
注 应用了两个归档日志,第三个归档日志cancel了,从结果中也可以看到,恢复以后的数据库中,只
 存在T1,T2两张表,它们俩的重做日志就在前两个归档中,T3表的所有重做条目都在第三个归档中,
 由于采取了cancel,所以,T3表并未恢复还有一篇供参考: http://www.linuxidc.com/Linux/2014-10/1077p2.htm
  • 1
  • 2
  • 下一页
RAC的一些服务是UNKOWN状态的解决Oracle不可恢复的nologging数据库对象相关资讯      Oracle恢复 
  • Oracle数据表被drop后的恢复  (10/15/2014 10:43:07)
  • Oracle手工恢复案例(非归档模式)  (06/30/2013 07:21:38)
  • Oracle手工恢复控制文件的深入解析  (06/16/2013 09:12:06)
  • Oracle手工完全恢复案例(归档模式  (06/30/2013 07:23:39)
  • Oracle控制文件新增,备份,恢复  (06/22/2013 09:11:04)
  • Oracle 备份恢复概要介绍  (05/11/2013 07:00:58)
本文评论 查看全部评论 (0)
表情: 姓名: 字数