首先模拟資料庫故障。
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
1 1 10 52428800 1 NO CURRENT 475533 2011-10-18 05:26:01
2 1 8 52428800 1 YES INACTIVE 475528 2011-10-18 05:25:54
3 1 9 52428800 1 YES INACTIVE 475531 2011-10-18 05:26:00
SQL> select file_name from dba_data_files;
FILE_NAME
------------------------------------------------------------
/u01/app/oracle/oradata/orcl/users01.dbf
/u01/app/oracle/oradata/orcl/sysaux01.dbf
/u01/app/oracle/oradata/orcl/undotbs01.dbf
/u01/app/oracle/oradata/orcl/system01.dbf
/u01/app/oracle/oradata/orcl/tb1.dbf
SQL> ! rm -rf /u01/app/oracle/oradata/orcl/tb1.dbf
SQL> shutdown abort;
ORACLE 例程已經關閉。
SQL> startup mount
ORACLE 例程已經啟動。
Total System Global Area 167772160 bytes
Fixed Size 1266392 bytes
Variable Size 88083752 bytes
Database Buffers 75497472 bytes
Redo Buffers 2924544 bytes
資料庫裝載完畢。
然後恢複
[[email protected] ~]$ rman target /
恢複管理器: Release 10.2.0.4.0 - Production on 星期二 10月 18 05:28:19 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
已連接配接到目标資料庫: ORCL (DBID=1292118315, 未打開)
RMAN> run {
2> set until sequence=9;
3> restore database;
4> recover database;
5> alter database open resetlogs; }
正在執行指令: SET until clause
使用目标資料庫控制檔案替代恢複目錄
啟動 restore 于 18-10月-11
配置設定的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=155 devtype=DISK
通道 ORA_DISK_1: 正在開始恢複資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案
正将資料檔案00001還原到/u01/app/oracle/oradata/orcl/system01.dbf
正将資料檔案00002還原到/u01/app/oracle/oradata/orcl/undotbs01.dbf
正将資料檔案00003還原到/u01/app/oracle/oradata/orcl/sysaux01.dbf
正将資料檔案00004還原到/u01/app/oracle/oradata/orcl/users01.dbf
正将資料檔案00005還原到/u01/app/oracle/oradata/orcl/tb1.dbf
通道 ORA_DISK_1: 正在讀取備份片段 /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_18/o1_mf_nnndf_TAG20111018T045948_79s5t51d_.bkp
通道 ORA_DISK_1: 已還原備份片段 1
段句柄 = /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_10_18/o1_mf_nnndf_TAG20111018T045948_79s5t51d_.bkp 标記 = TAG20111018T045948
通道 ORA_DISK_1: 還原完成, 用時: 00:00:25
完成 restore 于 18-10月-11
啟動 recover 于 18-10月-11
使用通道 ORA_DISK_1
正在開始媒體的恢複
存檔日志線程 1 序列 8 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_8_79s5w7pt_.arc 存在于磁盤上
存檔日志線程 1 序列 9 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_9_79s6h7gh_.arc 存在于磁盤上
存檔日志線程 1 序列 1 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_1_79s71zhg_.arc 存在于磁盤上
存檔日志線程 1 序列 2 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_2_79s7bt9q_.arc 存在于磁盤上
存檔日志線程 1 序列 3 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_3_79s7bzmk_.arc 存在于磁盤上
存檔日志線程 1 序列 4 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_4_79s7c0fv_.arc 存在于磁盤上
存檔日志線程 1 序列 5 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_5_79s7c18t_.arc 存在于磁盤上
存檔日志線程 1 序列 6 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_6_79s7c1w0_.arc 存在于磁盤上
存檔日志線程 1 序列 7 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_7_79s7c2oc_.arc 存在于磁盤上
存檔日志線程 1 序列 8 已作為檔案 /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_8_79s7c8no_.arc 存在于磁盤上
存檔日志檔案名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_8_79s5w7pt_.arc 線程 =1 序列 =8
存檔日志檔案名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_9_79s6h7gh_.arc 線程 =1 序列 =9
存檔日志檔案名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_1_79s71zhg_.arc 線程 =1 序列 =1
存檔日志檔案名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_1_79s7bnv9_.arc 線程 =1 序列 =1
存檔日志檔案名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_2_79s7bt9q_.arc 線程 =1 序列 =2
存檔日志檔案名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_3_79s7bzmk_.arc 線程 =1 序列 =3
存檔日志檔案名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_4_79s7c0fv_.arc 線程 =1 序列 =4
存檔日志檔案名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_5_79s7c18t_.arc 線程 =1 序列 =5
存檔日志檔案名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_6_79s7c1w0_.arc 線程 =1 序列 =6
存檔日志檔案名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_7_79s7c2oc_.arc 線程 =1 序列 =7
存檔日志檔案名 =/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_18/o1_mf_1_8_79s7c8no_.arc 線程 =1 序列 =8
媒體恢複完成, 用時: 00:00:04
完成 recover 于 18-10月-11
最後可以看見資料庫已經打開。
SQL> select status from v$instance;
STATUS
------------
OPEN