控制檔案重建後的不完全恢復

尛樣兒發表於2012-04-23
       
        控制檔案是Oracle資料庫的”大腦“,預設情況下(沒有使用恢復目錄),在執行恢復操作時用於指導恢復過程,可謂非常的核心和重要,所以對於控制檔案在不同磁碟的映象,對於控制檔案的備份都是非常必要的。對於控制檔案的保護有以下幾種方式:
1).控制檔案映象(透過CONTROL_FILES引數指定映象檔案)。
2).控制檔案快照(快照也是一種備份)。
3).RMAN控制檔案自動備份。
4).自動排程在備份的時候生成控制檔案TRACE檔案。
        雖然有很多措施保證控制檔案不會丟失,但在一些極端的情況下,也會出現控制檔案過舊或丟失的情況,我將用兩篇文章來討論控制檔案丟失和過舊情況下,資料庫的不完全恢復過程。這篇文章首先討論控制檔案丟失後的不完全恢復。

1.資料庫備份檢查。
        執行下面的檢查,確保有足夠的資料備份和Redo日誌完成資料庫的完全恢復。
RMAN> restore database preview;

啟動 restore 於 22-4月 -12
使用通道 ORA_DISK_1


備份集列表
===================


BS 關鍵字  型別 LV 大小       裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
5       Full    1.02G      DISK        00:00:55     22-4月 -12
        BP 關鍵字: 5   狀態: AVAILABLE  已壓縮: NO  標記: TAG20120422T172315
段名:D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_04_22\O1_MF_NNNDF_TAG20120422T172315_7S7MJ3K9_.BKP
  備份集 5 中的資料檔案列表
  檔案 LV 型別 Ckp SCN    Ckp 時間   名稱
  ---- -- ---- ---------- ---------- ----
  1       Full 2710229    22-4月 -12 D:\APP\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
  2       Full 2710229    22-4月 -12 D:\APP\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
  3       Full 2710229    22-4月 -12 D:\APP\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
  4       Full 2710229    22-4月 -12 D:\APP\ORACLE\ORADATA\ORCL\USERS01.DBF
  5       Full 1341911    28-10月-11 D:\APP\ORACLE\ORADATA\ORCL\TEST01.DBF

在資料檔案庫中未找到 SCN 2705467 後生成的歸檔日誌
介質恢復啟動 SCN 是 2705467
恢復範圍必須超出 SCN 2710229 才能清除資料檔案模糊性
完成 restore 於 22-4月 -12

2.生成控制檔案TRACE指令碼。
C:\Users\LIUBINGLIN>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期日 4月 22 17:29:27 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


連線到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options

SQL> alter database backup controlfile to trace as 'c:\control.txt';

資料庫已更改。

3.重啟資料庫,建立新的控制檔案。
SQL> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。

SQL> startup nomount
ORACLE 例程已經啟動。

Total System Global Area  535662592 bytes
Fixed Size                  1375792 bytes
Variable Size             255853008 bytes
Database Buffers          272629760 bytes
Redo Buffers                5804032 bytes
SQL>
SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  ARCHIVELOG
  2      MAXLOGFILES 16
  3      MAXLOGMEMBERS 3
  4      MAXDATAFILES 100
  5      MAXINSTANCES 8
  6      MAXLOGHISTORY 4672
  7  LOGFILE
  8    GROUP 1 'D:\APP\ORACLE\ORADATA\ORCL\REDO01.LOG'  SIZE 50M BLOCKSIZE 512,
  9    GROUP 2 'D:\APP\ORACLE\ORADATA\ORCL\REDO02.LOG'  SIZE 50M BLOCKSIZE 512,
 10    GROUP 3 'D:\APP\ORACLE\ORADATA\ORCL\REDO03.LOG'  SIZE 50M BLOCKSIZE 512
 11  DATAFILE
 12    'D:\APP\ORACLE\ORADATA\ORCL\SYSTEM01.DBF',
 13    'D:\APP\ORACLE\ORADATA\ORCL\SYSAUX01.DBF',
 14    'D:\APP\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF',
 15    'D:\APP\ORACLE\ORADATA\ORCL\USERS01.DBF'
 16  CHARACTER SET ZHS16GBK
 17  ;

控制檔案已建立。

        新建控制檔案要求控制檔案中包含的所有資料檔案必須存在,如果資料檔案已經丟失,恢復過程請參考文章:
http://space.itpub.net/23135684/viewspace-711883
        控制檔案建立成功後,資料庫例項自動變成了MOUNT狀態。

4.使用RMAN工具還原資料庫。
C:\Users\LIUBINGLIN>rman target /

恢復管理器: Release 11.2.0.1.0 - Production on 星期日 4月 22 17:35:14 2012

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

已連線到目標資料庫: ORCL (DBID=1290386656, 未開啟)

RMAN> restore database;

啟動 restore 於 22-4月 -12
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=134 裝置型別=DISK

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 04/22/2012 17:35:35 上) 失敗
RMAN-06026: 有些目標沒有找到 - 終止還原
RMAN-06023: 沒有找到資料檔案4的副本來還原
RMAN-06023: 沒有找到資料檔案3的副本來還原
RMAN-06023: 沒有找到資料檔案2的副本來還原
RMAN-06023: 沒有找到資料檔案1的副本來還原

        控制檔案被重建,沒有任何備份的後設資料資訊,需要重新編制catalog:
RMAN> catalog recovery area;

搜尋恢復區中的所有檔案

資料庫未知檔案的列表
=====================================
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_11_14\O1_MF_1_2694_7D11RK8V_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_11_14\O1_MF_1_2695_7D26YLDH_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_11_15\O1_MF_1_2696_7D4KLYFW_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_11_15\O1_MF_1_2697_7D4X8TBL_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_06\O1_MF_1_2698_7FVS36BJ_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_06\O1_MF_1_2699_7FVVDVOB_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_06\O1_MF_1_2700_7FVVGP0G_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_06\O1_MF_1_2701_7FW8024K_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_07\O1_MF_1_2702_7FYWT2MV_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_08\O1_MF_1_2703_7G1JQZ4G_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_09\O1_MF_1_2704_7G2QDPV8_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_29\O1_MF_1_2705_7HPLGQYD_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_29\O1_MF_1_2706_7HPN728S_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_29\O1_MF_1_2707_7HPPBT6Q_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_01_05\O1_MF_1_2708_7JC2ZG5G_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_01_06\O1_MF_1_2709_7JD3VB0K_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_01_06\O1_MF_1_2710_7JFZMVKB_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_01_07\O1_MF_1_2711_7JHBM0BH_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_02_15\O1_MF_1_2712_7MPOP0BC_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_02_15\O1_MF_1_2713_7MPOPC0H_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_02_20\O1_MF_1_2714_7N4VB5QF_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_02_21\O1_MF_1_2715_7N4YJGOZ_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_03_30\O1_MF_1_2716_7QCG9XYK_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_03\O1_MF_1_2717_7QO9GXLD_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_16\O1_MF_1_2718_7RRCO0SR_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_16\O1_MF_1_2719_7RRDVV2T_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_18\O1_MF_1_2720_7RWTRVY0_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_11_05\O1_MF_NNNDF_TAG20111105T103650_7C98B2N1_.BKP
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_04_16\O1_MF_NCSNF_TAG20120416T224014_7RRCWXXB_.BKP
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_04_16\O1_MF_NNNDF_TAG20120416T224014_7RRCTJ6F_.BKP
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_04_22\O1_MF_NCSNF_TAG20120422T172315_7S7ML63O_.BKP
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_04_22\O1_MF_NNNDF_TAG20120422T172315_7S7MJ3K9_.BKP

是否確實要將上述檔案列入目錄 (輸入 YES 或 NO)? yes
正在編制檔案目錄...
目錄編制完畢

已列入目錄的檔案的列表
=======================
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_11_14\O1_MF_1_2694_7D11RK8V_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_11_14\O1_MF_1_2695_7D26YLDH_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_11_15\O1_MF_1_2696_7D4KLYFW_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_11_15\O1_MF_1_2697_7D4X8TBL_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_06\O1_MF_1_2698_7FVS36BJ_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_06\O1_MF_1_2699_7FVVDVOB_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_06\O1_MF_1_2700_7FVVGP0G_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_06\O1_MF_1_2701_7FW8024K_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_07\O1_MF_1_2702_7FYWT2MV_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_08\O1_MF_1_2703_7G1JQZ4G_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_09\O1_MF_1_2704_7G2QDPV8_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_29\O1_MF_1_2705_7HPLGQYD_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_29\O1_MF_1_2706_7HPN728S_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2011_12_29\O1_MF_1_2707_7HPPBT6Q_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_01_05\O1_MF_1_2708_7JC2ZG5G_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_01_06\O1_MF_1_2709_7JD3VB0K_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_01_06\O1_MF_1_2710_7JFZMVKB_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_01_07\O1_MF_1_2711_7JHBM0BH_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_02_15\O1_MF_1_2712_7MPOP0BC_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_02_15\O1_MF_1_2713_7MPOPC0H_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_02_20\O1_MF_1_2714_7N4VB5QF_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_02_21\O1_MF_1_2715_7N4YJGOZ_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_03_30\O1_MF_1_2716_7QCG9XYK_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_03\O1_MF_1_2717_7QO9GXLD_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_16\O1_MF_1_2718_7RRCO0SR_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_16\O1_MF_1_2719_7RRDVV2T_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_18\O1_MF_1_2720_7RWTRVY0_.ARC
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2011_11_05\O1_MF_NNNDF_TAG20111105T103650_7C98B2N1_.BKP
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_04_16\O1_MF_NCSNF_TAG20120416T224014_7RRCWXXB_.BKP
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_04_16\O1_MF_NNNDF_TAG20120416T224014_7RRCTJ6F_.BKP
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_04_22\O1_MF_NCSNF_TAG20120422T172315_7S7ML63O_.BKP
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_04_22\O1_MF_NNNDF_TAG20120422T172315_7S7MJ3K9_.BKP

恢復區中的檔案列表不由資料庫管理
==========================================================
檔名: D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL
  RMAN-07526: 原因: 檔案不是 Oracle Managed File

不由恢復區管理的檔案數為 1, 總計 15.09MB

還原資料庫:
RMAN> restore database;

啟動 restore 於 22-4月 -12
使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在開始還原資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案
通道 ORA_DISK_1: 將資料檔案 00001 還原到 D:\APP\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
通道 ORA_DISK_1: 將資料檔案 00002 還原到 D:\APP\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
通道 ORA_DISK_1: 將資料檔案 00003 還原到 D:\APP\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
通道 ORA_DISK_1: 將資料檔案 00004 還原到 D:\APP\ORACLE\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在讀取備份片段 D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_04_22\O1_MF_NNNDF_TAG20120422T172315_7S7MJ3K9_.BKP
通道 ORA_DISK_1: 段控制程式碼 = D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2012_04_22\O1_MF_NNNDF_TAG20120422T172315_7S7MJ3K9_.BKP 標記 = TAG20120422T172315
通道 ORA_DISK_1: 已還原備份片段 1
通道 ORA_DISK_1: 還原完成, 用時: 00:00:45
完成 restore 於 22-4月 -12


5.恢復資料庫。

1).使用RMAN恢復:
RMAN> recover database;

啟動 recover 於 22-4月 -12
使用通道 ORA_DISK_1

正在開始介質的恢復

無法找到歸檔日誌
歸檔日誌執行緒=1 序列=2721
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 命令 (在 04/22/2012 18:07:15 上) 失敗
RMAN-06054: 介質恢復正在請求未知的執行緒 1 序列 2721 的歸檔日誌以及起始 SCN 2710229

RMAN> exit


恢復管理器完成。

        控制檔案用於指導恢復過程,由於控制檔案被重建,控制檔案中沒有任何SCN的資訊,所以沒法使用RMAN工具提供的recover命令指導恢復(如果是老的控制檔案,未儲存最新的SCN,使用控制檔案的SCN無法將資料庫恢復到最新)。

2).使用sqlplus恢復:
C:\Users\LIUBINGLIN>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期日 4月 22 18:07:28 2012

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


連線到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options

SQL> recover database;
ORA-00283: 恢復會話因錯誤而取消
ORA-01610: 使用 BACKUP CONTROLFILE 選項的恢復必須已完成

        控制檔案用於指導恢復過程,由於控制檔案被重建,控制檔案中沒有任何SCN的資訊,所以沒法使用sqlplus工具提供的recover命令指導恢復(如果是老的控制檔案,未儲存最新的SCN,使用控制檔案的SCN無法將資料庫恢復到最新)。

        使用sqlplus工具的recover命令的using backup controlfile選項,可忽略控制檔案中的SCN號,直接使用儲存在資料庫檔案中的檢查點SCN號來指導資料庫的恢復。
SQL> recover database using backup controlfile;
ORA-00279: 更改 2710229 (在 04/22/2012 17:23:15 生成) 對於執行緒 1 是必需的
ORA-00289: 建議:
D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_22\O1_MF_1_2721_%U_.AR
C
ORA-00280: 更改 2710229 (用於執行緒 1) 在序列 #2721 中


指定日誌: {=suggested | filename | AUTO | CANCEL}
D:\app\oracle\oradata\orcl\REDO01.LOG
ORA-00310: 歸檔日誌包含序列 2719; 要求序列 2721
ORA-00334: 歸檔日誌: 'D:\APP\ORACLE\ORADATA\ORCL\REDO01.LOG'

        使用這種方式恢復只能恢復所有歸檔的Redo日誌檔案(資料庫檔案中儲存的時檢查點SCN,發生日誌切換是會產生一個檢查點)。要想恢復到最新的資料庫狀態,必須手動指定聯機Redo日誌,預設情況下只需要指定一個聯機Redo日誌,因為其他聯機Redo日誌已經被歸檔。

SQL> recover database using backup controlfile;
ORA-00279: 更改 2710229 (在 04/22/2012 17:23:15 生成) 對於執行緒 1 是必需的
ORA-00289: 建議:
D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_22\O1_MF_1_2721_%U_.AR
C
ORA-00280: 更改 2710229 (用於執行緒 1) 在序列 #2721 中


指定日誌: {=suggested | filename | AUTO | CANCEL}
D:\app\oracle\oradata\orcl\REDO02.LOG
ORA-00310: 歸檔日誌包含序列 2720; 要求序列 2721
ORA-00334: 歸檔日誌: 'D:\APP\ORACLE\ORADATA\ORCL\REDO02.LOG'


SQL> recover database using backup controlfile;
ORA-00279: 更改 2710229 (在 04/22/2012 17:23:15 生成) 對於執行緒 1 是必需的
ORA-00289: 建議:
D:\APP\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2012_04_22\O1_MF_1_2721_%U_.AR
C
ORA-00280: 更改 2710229 (用於執行緒 1) 在序列 #2721 中


指定日誌: {=suggested | filename | AUTO | CANCEL}
D:\app\oracle\oradata\orcl\REDO03.LOG
已應用的日誌。
完成介質恢復。

       經過多次嘗試,發現REDO03.LOG是原資料庫活動的聯機Redo日誌,指定該Redo日誌檔案後介質恢復完成。
        這裡要求的是聯機Redo日誌,如果發現序列號對應的是歸檔Redo日誌檔案,那麼應該指定auto,或者指定詳細的歸檔Redo日誌路徑。

6.開啟資料庫。
SQL> alter database open resetlogs;

資料庫已更改。
       
        控制檔案丟失後的恢復屬於不完全恢復,所以需要加上resetlogs選項才能開啟資料庫。雖然是不完全恢復,但只有恢復了聯機Redo日誌,那麼資料庫就處於最新的狀態。

        sqlplus工具的recover database using backup controlfile命令的含義請參考文章:http://space.itpub.net/23135684/viewspace-721927
        
        Oracle控制檔案SCN的查詢請參考文章:http://space.itpub.net/23135684/viewspace-627343
       
        下面這篇文章討論了只存在RMAN備份片時候的不完全恢復過程:
http://space.itpub.net/23135684/viewspace-711883 

請注意:
        1).如果只是控制檔案的丟失,那麼重建控制檔案後的恢復操作和上面一致,只是不需要執行上面的restore還原資料庫的步驟(因為資料檔案未丟失)。
        2).生成的控制檔案TRACE檔案包含了詳細的控制檔案建立命令、恢復命令以及恢復後執行的操作,有必要詳細的檢視。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23135684/viewspace-721996/,如需轉載,請註明出處,否則將追究法律責任。

相關文章