Oracle自動恢復設定

wzq609發表於2014-06-30

一、背景說明:一個朋友需要定期把正式庫的備份還原到一個測試系統中,便於系統進行測試;從需求上來講這個需求是比較奇怪的,但是作為技術人員還是得進行配合完成相應的需求。

 

二、以下是整個自動回覆的步驟

1、需要建立一臺環境和正式資料庫一樣的測試庫(環境變數、檔案路徑都需要一樣)

2、正式庫透過rman的方式進行備份

3、資料庫備份的時候需要自動備份控制檔案

4、把正式庫的備份複製到測試庫上面(路徑需要一樣)

5、在測試庫上面啟動資料庫到nomount狀態

6、進行控制檔案的恢復,恢復完畢後啟動到mount狀態

7、進行資料庫的restore

8、進行資料庫的recover

9、透過resetlog的方式啟動資料庫

思路:控制檔案記錄著資料庫的備份資訊,只要還原了控制檔案後面的資料庫的restore和recover都可以解決,因為資料庫是進行不完全恢復,所以必須透過resetlogs的方式開啟

 

三、資料庫的自動還原指令碼:

1、資料庫的恢復指令碼

rman target /  @/home/oracle/script/recover.sql log /home/oracle/script/recover

recover.sql的指令碼如下:

shutdown abort;

startup nomount;

run{

SET DBID=1364366567

ALLOCATE CHANNEL CH1 TYPE  DISK;

restore controlfile from autobackup;

release channel CH1 ;

sql 'alter database mount';

ALLOCATE CHANNEL CH2 TYPE  DISK;

ALLOCATE CHANNEL CH3 TYPE  DISK;

restore database;

recover database;

release channel CH2;

release channel CH3;

}

 

2、資料庫的開啟指令碼

/home/oracle/script/open.sql

conn / as sysdba;

alter database open resetlogs;

 

以上是認為比較主要的語句,有需要完整方案的文件,還原傳送QQ聯絡;

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

本文作者:JOHN

ORACLE技術部落格:ORACLE 獵人筆記               資料庫技術群:367875324 (請備註ORACLE管理 )  

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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

相關文章