生產系統恢復到異機測試

wzq609發表於2014-03-12

前言:

oracle資料庫每個公司都在備份,但是有以下幾個問題每個dba能夠很快的回答嗎?

1、備份是否有效?

2、資料庫邏輯故障了,恢復需要多長時間?

3、生產系統硬碟壞了,恢復又需要多長時間?

因此每個月或者每個季度應該對生產系統進行測試恢復一遍,雖然oracle的rman也提供了恢復的預覽功能,

但是出於習慣還是每個季度進行一次手工恢復;

 

環境說明:

1、資料庫版本11.2.0.3

2、作業系統版本AIX6.1

3、資料量估算700G

4、備份方式network的集中備份

 

準備工作:

一、準備環境,需要引數檔案、密碼檔案、各種檔案路徑、並設定許可權、且需要相應的磁碟空間

a)引數檔案的傳輸  scp  initPIP.ora root@192.168.199.43:/oracle/ID1/112_64/dbs

b)根據引數檔案建立相應的目錄

sapides:oraid1 318> mkdir -p /oracle/PIP/origlogA/cntrl/

sapides:oraid1 319> mkdir -p /oracle/PIP/origlogB/cntrl

sapides:oraid1 320> mkdir -p /oracle/PIP/sapdata1/cntrl

sapides:oraid1 321> mkdir -p /oracle/PIP/oraarch/PIParch

sapides:oraid1 322> mkdir -p /oracle/PIP/saptrace/audit

c)建立相應資料檔案的目錄

mkdir -p /oracle/PIP/sapdata4/undo_3/

mkdir -p /oracle/PIP/sapdata4/undo_2/

mkdir -p /oracle/PIP/sapdata4/sr3usr_1/

mkdir -p /oracle/PIP/sapdata4/sr3db_3/

mkdir -p /oracle/PIP/sapdata4/sr3db_2/

mkdir -p /oracle/PIP/sapdata4/sr3db_18/

mkdir -p /oracle/PIP/sapdata4/sr3db_17/

mkdir -p /oracle/PIP/sapdata4/sr3db_16/

mkdir -p /oracle/PIP/sapdata4/sr3db_15/

mkdir -p /oracle/PIP/sapdata4/sr3db_14/

mkdir -p /oracle/PIP/sapdata4/sr3db_13/

mkdir -p /oracle/PIP/sapdata4/sr3db_12/

mkdir -p /oracle/PIP/sapdata4/sr3db_11/

 

二、進行資料庫的恢復

a)進行控制檔案的恢復

啟動資料庫到nomount狀態

進行控制檔案的恢復,指令碼:

查詢network上面的備份資訊指令碼,根據指令碼查詢可以恢復的控制檔案的資訊

nsrinfo -s bkserver01 -n oracle joeonepip> C:\nsrinfo.txt

執行指令碼進行控制檔案的恢復,恢復完畢後啟動到mount狀態,然後進行資料庫的restore和recover操作;

run{

allocate channel ch1 device TYPE 'SBT_TAPE';

SEND DEVICE TYPE 'SBT_TAPE' 'NSR_ENV=(NSR_SERVER=bkserver01,NSR_CLIENT=joeonepip)';

set DBID=1579788476; 

restore controlfile from 'PIP_CONTROL_73467_1_20140312';

release channel ch1;

sql 'alter database mount';

allocate channel ch2 device TYPE 'SBT_TAPE';

allocate channel ch3 device TYPE 'SBT_TAPE';

allocate channel ch4 device TYPE 'SBT_TAPE';

allocate channel ch5 device TYPE 'SBT_TAPE';

SEND DEVICE TYPE 'SBT_TAPE' 'NSR_ENV=(NSR_SERVER=bkserver01,NSR_CLIENT=joeonepip)';

set DBID=1579788476; 

restore database;

recover database;

release channel ch2;

release channel ch3;

release channel ch4;

release channel ch5;

}

 

三、開啟資料庫

因為恢復在異機是以不完全恢復的方式進行的,所以開啟的時候需要resetlogs的方式進行開啟;

指令碼:alter database open resetlogs;

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

相關文章