Oracle RMAN還原與恢複講解(二)如何還原控制檔案

來源:互聯網
上載者:User

1、使用RMAN(不使用FRA)從自動備份中恢複控制檔案

ORACLE 會預設地在$ORACLE_HOME/dbs 或者 $ORACLE_HOME/DATABASE 目錄中建立伺服器參數檔案與控制檔案。

假設已經還原了執行個體參數檔案和啟動了執行個體,還原控制檔案時,一般過程是先設定ORACLE_SID 和 登陸 RMAN, 然後設定DBID, 使RMAN知道需要尋找哪一個資料庫的控制檔案。

如果使用預設的位置來儲存控制檔案的自動備份,就可以簡單的執行:Restore controlfile from autobackup, 這樣RMAN 就可以尋找包含最新控制檔案的控制檔案備份集。 一旦恢複了控制檔案,就必須關閉重啟資料庫執行個體。如果使用的是非預設位置,就需要分配一個指向該位置的通道,然後在使用相同的方法來還原控制檔案。

執行 restore controlfile from autobackup 命令時,Oracle 會在預設位置中(或者在使用allocate channel 命令定義的為位置中)尋找自動的控制檔案備份集。 通過DBID, RMAN 使用這個DBID在包含控制檔案備份的目錄中尋找資料庫的最新控制檔案備份集。 通過應用restore 命令的maxseq 和 maxdays 參數,可以修改RMAN尋找控制檔案自動備份的時間周期。

使用預設設定的樣本:

set oracle_sid=orcl

rman target sys/pwd

set dbid=1247395743

startup nomount;

restore controlfile from autobackup;

shutdown immediate;

不使用預設設定的樣本:

set oracle_sid=orcl

rman target sys/pwd

set dbid=1247395743

startup nomount;

run

{

set controlfile autobackup format for device type disk to 'f:/backup/%f';

allocate channel c1 device type disk;

restore spfile from autobackup;

}

shutdown immediate;

使用maxseq 和 maxdays 參數在超過預設天數(10天)的時間周期內向後尋找控制檔案備份集:

set oracle_sid=orcl

rman target sys/pwd

set dbid=1247395743

startup nomount;

run

{

set controlfile autobackup format for device type disk to 'f:/backup/%f';

allocate channel c1 device type disk;

restore controlfile from autobackup maxseq 200 maxdays 1000;

}

shutdown immediate;

將參數檔案還原到不同的位置和檔案中的樣本(假定資料庫正在啟動和運行):

set oracle_sid=orcl

rman target sys/pwd

set dbid=1247395743

startup nomount;

restore controlfile to 'f:/backup/ctl.restore' from autobackup;

shutdown immediate;

2、使用RMAN 和 FRA 從自動備份中恢複控制檔案

使用FRA恢複控制檔案過程非常簡單,首先確保FRA位置參數被正確設定。 然後啟動執行個體,執行: restore controlfile from autobackup;

set oracle_sid=orcl

rman target sys/pwd

startup nomount;

restore controlfile from autobackup;

shutdown immediate;

也可以使用maxseq 和 maxdays 參數進行設定:

Restore controlfile from autobackup maxseq 200 maxdays 100;

3、恢複較早的控制檔案備份

有時候,可能需要恢複一段時間以前建立的控制檔案備份,因而控制檔案不是來自於最新的備份(執行resetlogs 通常是這樣)。 結合until time 參數,restore controlfile from autobackup 命令可以實現這一操作。 如:

Restore controlfile from autobackup until time "to_date('2010-6-27 13:25:00','yyyy-mm-dd hh24:mi:ss')";

如果要使用這個命令,就需要知道哪些控制檔案備份可以用於操作。 可以使用list backup of controlfile 命令確定哪些備份控制檔案可以用於還原作業。

RMAN> list backup of controlfile;

備份組列表

===================

BS 關鍵字  類型 LV 大小       裝置類型 經過時間 完成時間

------- ---- -- ---------- ----------- ------------ ----------

113     Full    16.00M     SBT_TAPE    00:00:05     18-6月 -10

BP 關鍵字: 116   狀態: AVAILABLE  已壓縮: NO  標記: TAG20100618T085926

控制代碼: 07lghd6e_1_1   介質: /,07lghd6e_1_1

包括的控制檔案: Ckp SCN: 1403939      Ckp 時間: 18-6月 -10

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.