天天看點

RMAN備份與恢複(8)——基于日志序列号的不完全恢複!

首先模拟資料庫故障。

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