RAC一個節點恢復另一個節點在帶庫上的備份

yangtingkun發表於2009-07-27

對於RAC環境而言,如果兩個例項分別連線帶庫進行備份,那麼預設情況下,彼此是看不到對方的備份資訊的。

 

 

看一個簡單的例子,在RAC環境的節點2上執行備份:

bash-3.00$ rman target /

恢復管理器: Release 10.2.0.3.0 - Production on 星期二 7 21 11:05:47 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

連線到目標資料庫: TRADEDB (DBID=4181457554)

RMAN> run
2> {
3> allocate channel c1 device type sbt;
4> backup spfile;
5> }

使用目標資料庫控制檔案替代恢復目錄
分配的通道: c1
通道 c1: sid=304 例項=tradedb2 devtype=SBT_TAPE
通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

啟動 backup 21-7 -09
通道 c1: 啟動全部資料檔案備份集
通道 c1: 正在指定備份集中的資料檔案
在備份集中包含當前的 SPFILE
通道 c1: 正在啟動段 1 21-7 -09
通道 c1: 已完成段 1 21-7 -09
段控制程式碼=94kkmdp4_1_1 標記=TAG20090721T110612 註釋=API Version 2.0,MMS Version 5.0.0.0
通道 c1: 備份集已完成, 經過時間:00:02:46
完成 backup 21-7 -09
釋放的通道: c1

在節點2上,進行恢復的測試:

RMAN> run
2> {
3> allocate channel c1 device type sbt;
4> restore spfile to '/export/home/oracle/spfiletradedb2.ora' from '94kkmdp4_1_1';
5> }

分配的通道: c1
通道 c1: sid=304 例項=tradedb2 devtype=SBT_TAPE
通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

啟動 restore 21-7 -09

通道 c1: 已找到的自動備份: 94kkmdp4_1_1
通道 c1: 從自動備份復原 SPFILE 已完成
完成 restore 21-7 -09
釋放的通道: c1

顯然不會有任何的問題,但是對於節點1來說,雖然透過讀取控制檔案,可以“看到”這個備份資訊,但是它無法從帶庫上找到這個檔案:

bash-3.00$ rman target /

恢復管理器: Release 10.2.0.3.0 - Production on 星期二 7 21 14:28:10 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

連線到目標資料庫: TRADEDB (DBID=4181457554)

RMAN> list backup of spfile tag 'TAG20090721T110612';


備份集列表
===================

BS 關鍵字  型別 LV 大小       裝置型別 經過時間 完成時間 
------- ---- -- ---------- ----------- ------------ ----------
1266    Full    256.00K    SBT_TAPE    00:02:37     21-7
-09
        BP
關鍵字: 2297   狀態: AVAILABLE  已壓縮: NO  標記: TAG20090721T110612
       
控制程式碼: 94kkmdp4_1_1   介質:
 
包含的 SPFILE: 修改時間: 21-7 -09

RMAN> run
2> {
3> allocate channel c1 device type sbt;
4> restore spfile to '/export/home/oracle/spfiletradedb2.ora' from '94kkmdp4_1_1';
5> }

使用目標資料庫控制檔案替代恢復目錄
分配的通道: c1
通道 c1: sid=136 例項=tradedb1 devtype=SBT_TAPE
通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

啟動 restore 21-7 -09

釋放的通道: c1
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore
命令 ( 07/21/2009 11:24:05 ) 失敗
RMAN-06172:
沒有找到自動備份或指定的控制程式碼不是有效副本或片段

為了使得當前節點可以看到其他節點的備份資訊,需要在分配連線的時候指定NB_ORA_CLIENT資訊:

RMAN> run
2> {
3> allocate channel c1 device type sbt parms 'ENV=(NB_ORA_CLIENT=ahrac2)';
4> restore spfile to '/export/home/oracle/spfiletradedb2.ora' from '94kkmdp4_1_1';
5> }

使用目標資料庫控制檔案替代恢復目錄
分配的通道: c1
通道 c1: sid=126 例項=tradedb1 devtype=SBT_TAPE
通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

啟動 restore 21-7 -09

通道 c1: 已找到的自動備份: 94kkmdp4_1_1
釋放的通道: c1
MAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore
命令 ( 07/21/2009 14:28:29 ) 失敗
ORA-19870:
讀取備份段 94kkmdp4_1_1 時出錯
ORA-19507:
無法檢索順序檔案, 控制程式碼= "94kkmdp4_1_1", 引數 = ""
ORA-27029: skgfrtrv: sbtrestore
返回錯誤
ORA-19511:
從介質管理器層接收到錯誤, 錯誤文字為:
   Failed to process backup file <94kkmdp4_1_1>

雖然這裡仍然報錯,但是錯誤資訊已經改變,而且RMAN已經明確的給出資訊:通道 c1: 已找到的自動備份: 94kkmdp4_1_1

只不過是其他的原因導致恢復過程出現了錯誤。除了在RMAN分配CHANNEL的時候需要配置CLIENT資訊,還要在NETBACKUP的安裝SERVER上進行設定,確保任何名稱的客戶端都可以讀取備份資訊:

bash-3.00# cd /usr/openv/netbackup/db
bash-3.00# mkdir altnames
bash-3.00# touch altnames/No.Restrictions

建立netbackup/db/altnames/No.Restrictions檔案,然後再次執行恢復:

RMAN> run
2> {
3> allocate channel c1 device type sbt parms 'ENV=(NB_ORA_CLIENT=ahrac2)';
4> restore spfile to '/export/home/oracle/spfiletradedb2.ora' from '94kkmdp4_1_1';
5> }

分配的通道: c1
通道 c1: sid=126 例項=tradedb1 devtype=SBT_TAPE
通道c1: VERITAS NetBackup for Oracle - Release 6.0 (2006110304)

啟動 restore 21-7 -09

通道 c1: 已找到的自動備份: 94kkmdp4_1_1
通道 c1: 從自動備份復原 SPFILE 已完成
完成 restore 21-7 -09
釋放的通道: c1

終於在節點1上恢復了節點2在帶庫上的備份。

 

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

相關文章