1、对库进行全备:BACKUP DATABASE;2、插入数据:SQL> alter system switch logfile;SQL> insert into tt values(6,'a');SQL> insert into tt values(7,'a');SQL> insert into tt values(8,'a');SQL> alter system switch logfile;SQL> select * from tt;ID N---------- -1 a2 a3 a4 a5 a6 a7 a8 a3、shutdown,删除控制文件。4、启动DB到NOMOUNT5、重新连接RMAN.C:\ >rman target sys/admin@orcl catalog rman/rman@rman恢复管理器: Release 10.2.0.1.0 - Production on 星期日 5月 27 11:06:15 2012Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到目标数据库: hunt (未装载)连接到恢复目录数据库RMAN> list backup of controlfile;备份集列表===================BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间------- ---- -- ---------- ----------- ------------ ----------5809 Incr 0 1.13M DISK 00:00:04 16-5月 -12BP 关键字: 5819 状态: AVAILABLE 已压缩: YES 标记: LEVEL_0_DATA_20120526段名:E:\RMAN\ORACLE10G_HUNT_DATA_0_20120516_8RNB5J3E_1_1.RMAN包括的控制文件: Ckp SCN: 1264052 Ckp 时间: 16-5月 -12BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间------- ---- -- ---------- ----------- ------------ ----------7490 Incr 0 1.03M DISK 00:00:07 27-5月 -12BP 关键字: 7494 状态: AVAILABLE 已压缩: YES 标记: LEVEL_0_DATA段名:E:\RMAN\ORACLE10G_HUNT_DATA_0_20120527_03NC19NH_1_1.RMAN包括的控制文件: Ckp SCN: 1287238 Ckp 时间: 27-5月 -126、恢复控制文件RMAN> restore controlfile;----默认情况会备份中使用最新的控制文件启动 restore 于 27-5月 -12分配的通道: ORA_DISK_1通道 ORA_DISK_1: sid=155 devtype=DISK通道 ORA_DISK_1: 正在开始恢复数据文件备份集通道 ORA_DISK_1: 正在复原控制文件通道 ORA_DISK_1: 正在读取备份段 E:\RMAN\ORACLE10G_HUNT_DATA_0_20120527_03NC19NH_1_1.RMAN-----备份集中最新控制文件通道 ORA_DISK_1: 已恢复备份段 1段句柄 = E:\RMAN\ORACLE10G_HUNT_DATA_0_20120527_03NC19NH_1_1.RMAN 标记 = LEVEL_0_DATA通道 ORA_DISK_1: 恢复完成, 用时: 00:00:03输出文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\HUNT\CONTROL01.CTL输出文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\HUNT\CONTROL02.CTL输出文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\HUNT\CONTROL03.CTL完成 restore 于 27-5月 -127、MOUNT数据库:SQL> alter database mount;SQL> select file#,checkpoint_change# from v$datafile;FILE# CHECKPOINT_CHANGE#---------- ------------------1 12871622 12871653 12871654 12871625 12871626 12871627 12871658 1287165SQL> select file#,checkpoint_change# from v$datafile_header;FILE# CHECKPOINT_CHANGE#---------- ------------------1 12897612 12897613 12897614 12897615 12897616 12897617 12897618 1289761此时可以看到数据文件的SCN号要比控制文件的大。此时需要使用recover database using backup controlfile;SQL> recover database using backup controlfile;ORA-00279: change 1287238 generated at 05/27/2012 10:38:04 needed for thread 1ORA-00289: suggestion :E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\HUNT\ARCHIVELOG\2012_05_27\O1_MF_1_16_%U_.ARCORA-00280: change 1287238 for thread 1 is in sequence #16Specify log: {<RET>=suggested | filename | AUTO | CANCEL}此时有三个SCN号:v$datafile:1287162v$datafile_header:1289761恢复目标SCN: 1287238我们可以从备份中知道:RMAN> list backup;List of Backup Sets===================BS Key Type LV Size Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ ---------------7490 Incr 0 1.03M DISK 00:00:07 27-MAY-12BP Key: 7494 Status: AVAILABLE Compressed: YES Tag: LEVEL_0_DATAPiece Name: E:\RMAN\ORACLE10G_HUNT_DATA_0_20120527_03NC19NH_1_1.RMANControl File Included: Ckp SCN: 1287238 Ckp time: 27-MAY-12 ----控制文件备份时SCNBS Key Type LV Size Device Type Elapsed Time Completion Time------- ---- -- ---------- ----------- ------------ ---------------7492 Incr 0 136.16M DISK 00:01:50 27-MAY-12BP Key: 7496 Status: AVAILABLE Compressed: YES Tag: LEVEL_0_DATAPiece Name: E:\RMAN\ORACLE10G_HUNT_DATA_0_20120527_02NC19KE_1_1.RMANList of Datafiles in backup set 7492File LV Type Ckp SCN Ckp Time Name---- -- ---- ---------- --------- ----2 0 Incr 1287165 27-MAY-12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HUNT\UNDOTBS01.DBF3 0 Incr 1287165 27-MAY-12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HUNT\SYSAUX01.DBF7 0 Incr 1287165 27-MAY-12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HUNT\TEST_001.DBF8 0 Incr 1287165 27-MAY-12 E:\ORACLE\PRODUCT\10.2.0\ORADATA\HUNT\HUNT001.DBF最后一步的日志放在REDO文件中,执行recover database using backup controlfile;后,手动指定REDO的路径,需要一个一个测试。SQL> recover database using backup controlfile;ORA-00279: 更改 579492 (在 05/27/2012 18:29:51 生成) 对于线程 1 是必需的ORA-00289: 建议:E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\HUNT\ARCHIVELOG\2012_05_27\O1_MF_1_7_%U_.ARCORA-00280: 更改 579492 (用于线程 1) 在序列 #7 中指定日志: {<RET>=suggested | filename | AUTO | CANCEL}E:\oracle\product\10.2.0\oradata\HUNT\redo03.log已应用的日志。完成介质恢复。如果我们想知道哪个REDO文件是用来恢复的,可以通过DUMP查看:SQL> alter system dump logfile 'E:\oracle\product\10.2.0\oradata\HUNT\redo03.log';在udump下生成一个文件,打开可发现文件中有以下内容:Low scn: 0x0000.0008d7a4 (579492) 05/27/2012 18:29:51Next scn: 0xffff.ffffffff 01/01/1988 00:00:00 ----下一个SCN为无穷大。SQL> select file#,checkpoint_change# from v$datafile;FILE# CHECKPOINT_CHANGE#---------- ------------------1 12871622 12871653 12871654 12871625 12871626 12871627 12871658 1287165SQL> select file#,checkpoint_change# from v$datafile_header;FILE# CHECKPOINT_CHANGE#---------- ------------------1 12897612 12897613 12897614 12897615 12897616 12897617 12897618 1289761----此时发现所有的SCN并未改变。SQL> select * from tt;ID N---------- -1 a2 a3 a4 a5 a6 a7 a8 a最后:recover database using backup controlfile 指定恢复是不以当前控制文件的SCN号为恢复终点。可完全恢复数据。
oracle 学习笔记 recover database using backup controlfile
原创
©著作权归作者所有:来自51CTO博客作者jsj_007的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Publishing a Database Using the Publishing a Database Using the
This tutorial shows you how to publish a database using the Dat
SQL Server SQL Web JavaScript UP