oracle 11g 新特性 data recover Advisor

paulyibinyi發表於2010-07-14

     從oracle 11gR1版本開始,oracle提供了資料庫資料檔案修復的建議方案,從而更好的讓使用者去選擇恢復方法

這就顯的越來越智慧,只需要我們按照修復建議嚮導去做即可。

     環境 windows xp+oracle 11.2 (歸檔模式)

     以下為實驗步驟:

1.備份資料庫

C:\Documents and Settings\Administrator>rman target /

恢復管理器: Release 11.2.0.1.0 - Production on 星期三 7月 14 00:39:04 2010

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

連線到目標資料庫: ORCL (DBID=1252072954)

RMAN> backup database format 'e:\%U.bak';

啟動 backup 於 14-7月 -10
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=138 裝置型別=DISK
通道 ORA_DISK_1: 正在啟動全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集內的資料檔案
輸入資料檔案: 檔案號=00001 名稱=E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
輸入資料檔案: 檔案號=00002 名稱=E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
輸入資料檔案: 檔案號=00003 名稱=E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
輸入資料檔案: 檔案號=00004 名稱=E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在啟動段 1 於 14-7月 -10
通道 ORA_DISK_1: 已完成段 1 於 14-7月 -10
段控制程式碼=E:\03LINLTI_1_1.BAK 標記=TAG20100714T003914 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:15
通道 ORA_DISK_1: 正在啟動全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集內的資料檔案
備份集內包括當前控制檔案
備份集內包括當前的 SPFILE
通道 ORA_DISK_1: 正在啟動段 1 於 14-7月 -10
通道 ORA_DISK_1: 已完成段 1 於 14-7月 -10
段控制程式碼=E:\04LINLU2_1_1.BAK 標記=TAG20100714T003914 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:01
完成 backup 於 14-7月 -10

2.關閉資料庫,誤刪除一個資料庫的資料檔案

   手工刪除users01.dbf檔案

3.啟動資料庫時報錯,提示找不到USERS01.DBF 資料檔案


SQL> startup
ORACLE 例程已經啟動。

Total System Global Area  535662592 bytes
Fixed Size                  1375792 bytes
Variable Size             184549840 bytes
Database Buffers          343932928 bytes
Redo Buffers                5804032 bytes
資料庫裝載完畢。
ORA-01157: 無法標識/鎖定資料檔案 4 - 請參閱 DBWR 跟蹤檔案
ORA-01110: 資料檔案 4: 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'

4.advise failure (data recover Advisor)

C:\Documents and Settings\Administrator>rman target /

恢復管理器: Release 11.2.0.1.0 - Production on 星期三 7月 14 00:42:06 2010

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

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

RMAN> list failure;

使用目標資料庫控制檔案替代恢復目錄
資料庫故障列表
=========================

失敗 ID 優先順序狀態    檢測時間   概要
------- -------- --------- ---------- -------
2       HIGH     OPEN      14-7月 -10 缺失一個或多個非系統資料檔案   --提示確實資料檔案和型別

RMAN> advise failure;  

資料庫故障列表
=========================

失敗 ID 優先順序狀態    檢測時間   概要
------- -------- --------- ---------- -------
2       HIGH     OPEN      14-7月 -10 缺失一個或多個非系統資料檔案

正在分析自動修復選項; 這可能需要一些時間
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=133 裝置型別=DISK
分析自動修復選項完成

必需的手動操作
========================
沒有可用的手動操作

可選手動操作
=======================
1. 如果無意中重新命名或移動了檔案 E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF,
請還原該檔案

自動修復選項
========================
選項修復說明
------ ------------------
1      還原和恢復資料檔案 4
  策略: 修復操作包括無資料丟失的完全介質恢復
  修復指令碼: e:\app\administrator\diag\rdbms\orcl\orcl\hm\reco_427543178.hm

RMAN>  REPAIR FAILURE PREVIEW;

策略: 修復操作包括無資料丟失的完全介質恢復
修復指令碼: e:\app\administrator\diag\rdbms\orcl\orcl\hm\reco_427543178.hm

修復指令碼的內容:
   # restore and recover datafile
   restore datafile 4;
   recover datafile 4;

   --針對備份列出解決方案

   --下面執行解決方案,修復丟失的資料檔案成功

RMAN> REPAIR FAILURE NOPROMPT;

策略: 修復操作包括無資料丟失的完全介質恢復
修復指令碼: e:\app\administrator\diag\rdbms\orcl\orcl\hm\reco_427543178.hm

修復指令碼的內容:
   # restore and recover datafile
   restore datafile 4;
   recover datafile 4;
執行修復指令碼

啟動 restore 於 14-7月 -10
使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在開始還原資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集還原的資料檔案
通道 ORA_DISK_1: 將資料檔案 00004 還原到 E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS
01.DBF
通道 ORA_DISK_1: 正在讀取備份片段 E:\03LINLTI_1_1.BAK
通道 ORA_DISK_1: 段控制程式碼 = E:\03LINLTI_1_1.BAK 標記 = TAG20100714T003914
通道 ORA_DISK_1: 已還原備份片段 1
通道 ORA_DISK_1: 還原完成, 用時: 00:00:02
完成 restore 於 14-7月 -10

啟動 recover 於 14-7月 -10
使用通道 ORA_DISK_1

正在開始介質的恢復
介質恢復完成, 用時: 00:00:00

完成 recover 於 14-7月 -10
修復故障已完成
資料庫已開啟

RMAN>

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

相關文章