1. 程式人生 > >rman結合netbackup重定向恢復oracle數據庫

rman結合netbackup重定向恢復oracle數據庫

linux oracle rman 數據庫恢復

1.創建數據庫目錄

2.從原來主機復制pfile文件,並更改oracle_sid

vi .bash_profile
source .bash_profile

3.啟動數據到nomount狀態

$ sqlplus / as sysdba
SQL> startup nomount pfile=‘pfile文件絕對位置‘;
ORACLE instance started.
SQL> exit


4.查看備份controlfile列表

$ /usr/openv/netbackup/bin/bplist -S 備份服務器 -C 備份客戶端 -t 4 -s 09/10/2000 -e  09/11/2000 -R -l /
該命令中-s參數後面接開始日期,-e參數接結束日期,表示獲取該時間段內的控制文件列表


5.恢復controlfile文件

$ rman target /
RMAN>
run{
allocate channel a0 type ‘sbt_tape‘;
allocate channel a1 type ‘sbt_tape‘;
send ‘nb_ora_serv=備份服務器  , nb_ora_client=備份客戶端‘;
restore controlfile from ‘ cntrl_xxx_x_xxxxxxxxx‘;   #控制文件名由上一步驟中得到
release channel a0;
release channel a1;
}
RMAN> exit


註意:在這裏報錯

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of allocate command on a0 channel at 06/14/2011 11:45:03
ORA-19554: error allocating device, device type: SBT_TAPE, device name: 
ORA-27211: Failed to load Media Management Library

race文件發現沒有libobk.so所致,拷貝libobk.so至oracle安裝目錄下的lib/下面


cp /usr/openv/netbackup/bin/libobk.so64.1 /opt/oracle/product/9.2/lib/libobk.so
或者做一個軟鏈接
ln -s /usr/openv/netbackup/bin/libobk.so64  /opt/oracle/product/9.2/lib/libobk.so


6.啟動數據庫到mount狀態

$ sqlplus / as sysdba
SQL> alter database mount;
Database altered.
SQL> exit


7.恢復數據庫

$ rman target /
run{
allocate channel a0 type ‘sbt_tape‘;
allocate channel a1 type ‘sbt_tape‘;
allocate channel a2 type ‘sbt_tape‘;
allocate channel a3 type ‘sbt_tape‘;
send ‘nb_ora_serv=備份服務器  , nb_ora_client=備份客戶端‘;
restore database;
recover database;
release channel a0;
release channel a1;
release channel a2;
release channel a3;
}

8.Reset log 打開數據庫

$ sqlplus / as sysdba
SQL> alter database open resetlogs;


本文出自 “hello world” 博客,請務必保留此出處http://nxyboy.blog.51cto.com/10511646/1940710

rman結合netbackup重定向恢復oracle數據庫