CommVault備份Oracle相關問題總結

轉自http://scs.commvault.com/forum.php?mod=viewthread&tid=73

1. 文檔說明

本文檔主要描述了工程師在安裝配置及使用CommVault時,與ORACLE相關的常見問題及解決思路和辦法。

主要包括以下幾部分內容:

  • 在哪裏查看錯誤信息
  • 與ORACLE相關常見問題 

 

2. 詳細內容

2.1. 在哪裏查看錯誤信息

  • 在CommCell Console上,在作業控制器裏面找到失敗的任務,通過屬性找出相關的失敗信息和建議 ,同時通過失敗任務的屬性裏也可以查看RMAN日誌,觀察RMAN有什麼報錯信息;
  • 查看失敗任務的百分比來大致判斷問題所在;
    • 0%時失敗表示問題發生備份之前 (會不會可能是CommServe和客戶端的連接問題?)
    • 5%時失敗表示客戶端已和CommServe連接上,RMAN的腳本已生成但是可能RMAN在備份數據庫時已經產生錯誤
    • 85%時失敗表示數據庫備份已經完成,問題可能出在備份歸檔日誌階段

 

  • 檢查各種不同階段備份問題的日誌
  • 如果備份在0%的時候失敗,請檢查通訊方面的問題; 同時也要檢查數據庫方面的問題,如:
    • 數據庫是否運行? ----在Comm Cell控制檯上面查看數據庫實例的屬性,確認數據庫狀態是MOUNTED、OPEN或者UNKNOWN的狀態;
    • 檢查相關Galaxy日誌 ----檢查CommServe上的SrvOraAgent.log;檢查客戶端上面的cvd.log和CIOraAgent.log 
  • 如果備份在5%的時候失敗
    • 檢查RMAN腳本是否正確生成,並檢查RMAN錯誤信息;
    • 可以在CommCell的GUI上查看RMAN的錯誤日誌;或者在客戶端上檢查RMAN日誌。日誌放在Simpana安裝目錄的iDataAgent目錄的jobResults下,典型的目錄爲:/opt/simpana/iDataAgent/jobResults/CV_JobResults/2/0/*/backup.out下,其中*是失敗任務的Job ID, backup.out爲一個包含了RMAN腳本和登陸信息的文本文件
    • 其它日誌:CommServe上的SrvOraAgent.log和cvd.log 客戶端上面的CIOraAgent.log和ORASBT.log, 其中ORASBT.log裏包含了介於Oracle和Galaxy之間的SBT層的特別信息;
  • 如果備份在85%的時候失敗,在這種情況下,同樣需要檢查上面提到的所有日誌,即:
    • 檢查RMAN腳本是否正確生成,並檢查RMAN錯誤信息:可以在CommCell的GUI上查看RMAN的錯誤日誌;或者在客戶端上檢查RMAN日誌
    • 其它日誌:CommServe上的SrvOraAgent.log和cvd.log 客戶端上面的CIOraAgent.log和ORASBT.log;
    • 除了以上日誌以外,還需要檢查存儲策略裏面,關於日誌備份(Log backups)的存儲策略是否和數據庫備份的存儲策略是否相同?會不會存儲策略有什麼問題?

 

2.2. 與ORACLE相關的常見問題

 

1. 在Windows系統上常見錯誤

在Comm Cell上創建新的ORACLE_SID時,對數據庫進行初始化配置時,用戶帳戶這一欄需要對Oracle目標數據庫(Target DB)具有Full Access的權限,否則數據庫實例配置可能會失敗,需要輸入的帳戶格式爲:DOMAINNAME\Username 或者 主機名\Username. 關於用戶帳號配置錯誤的典型錯誤信息爲:Warning: Unable to establish connectivity with these instance properties for [SID], do you want to modify properties again?

 

2. 典型的安裝配置錯誤

a) 在配置ORACLE的時候,輸入的“Target connect string”的Oracle用戶不具備sysdba的權限。在RMAN備份中,要求所使用的備份帳號具有sysdba的權限。

 

b) 在安裝完成後,可以檢查%PATH%的環境變量中是否已經加入了CommVault的安裝目錄,當CommVault在備份時調用CommVault的動態鏈接庫文件ORASBT.dll會讀取PATH環境變量;

 

 

3. 在UNIX系統上,安裝Simpana for Oracle的iDA時,不需要利用Oracle的軟鏈接將RMAN的鏈接庫文件指向CommVault,CommVault軟件在備份的過程中,會自動在RMAN腳本中調用CommVault自己的動態鏈接庫文件。

具體的語法格式如下:

SBT_LIBRARY=/path/to/library/libraryfile (Required by UNIX Clients)

備註:• 參數 SBT_LIBRARY 僅適用於Unix平臺.•

 

在當前版本中 以下ENV環境變量參數僅僅在集羣環境中或者在同一臺主機上採用多實例時,需要加入

 

These parameters are "CvClientName" & "CvInstanceName" and are parsed using the ENV parameter in the allocatecommand.

 

以下是一個示例:ENV=(CvClientName=ClientName, CvInstanceName=Instance001)

CvClientName 必須和在CommCell軟件界面上定義的客戶端名稱相同(CommCell軟件界面上有關於客戶端計算機的屬性有兩個,一個是Client Computer,一個是Host Name,需要使用Client Computer Name)
CvInstanceName 是CommVault軟件的實例名稱. (一般爲Instance001).

 

**NOTE: Software Instance != Oracle Instance.

可能在安裝完成後,由於權限等原因無法正確識別到CommVault的動態鏈接庫文件,可以通過以下的腳本簡單測試出來:

run {allocate channel ch1 type 'sbt_tape'
PARMS="BLKSIZE=262144,
SBT_LIBRARY=/opt/galaxy/Base/libobk.so,
ENV=(CvClientName=groucho,CvInstanceName=Instance001)"
TRACE 2 DEBUG 2;
}

請確認SBT_LIBRARY 設置的libobk.xx的庫文件位置完全正確,一般根據Oracle的不同版本和不同的操作系統平臺,放在 Base 或者Base64 目錄下. SBT_LIBRARY的設置路徑如下所示:

Platform

SBT_LIBRARY

AIX with 64 bit Oracle

<Client Agent Install Path>/Base64/libobk.a(shr.o)

HP UX PA RISC 64 bit Oracle

<Client Agent Install Path>/Base64/libobk.sl

Solaris with 64 bit Oracle

<Client Agent Install Path>/Base64/libobk.so

All Other Unix platforms

<Client Agent Install Path>/Base/libobk.so


 

在運行完上述的命令行,有類似於以下的信息出來:

RMAN> run {allocate channel ch1 type ‘sbt_tape’;}

allocated channel: ch1 channel ch1: sid=22 devtype=SBT_TAPE

channel ch1: CommVault System for Oracle: Version 9.0...

release: ch1 RMAN>

如果出現CommVault字樣,表示Oracle讀取CommVault的動態鏈接庫文件成功,當執行以上命令失敗後,會出現一些錯誤信息,如果出現ORA-07111錯誤,表示權限有問題,如在安裝Simpana的時候使用了不正確的用戶組,我們可以從目錄數據庫的/tmp下面的cvlibobk.log來檢查, 檢查Galaxy iDA for Oracle安裝時ORACLE的用戶名和組權限等是否正確。

 

4. 在Windows平臺上,默認情況下,Galaxy安裝目錄\Base目錄是加入到系統的路徑中的,CommVault可以自動發現運行在Windows平臺上的Oracle的庫文件接口的原因,是叫ORASBT.dll的庫文件會在ORACLE啓動時自動裝載。另外,如果系統上需要安裝CommVault Service Pack的補丁中含有與ORASBT.dll相關的補丁,ORACLE必須要被Shutdown後重啓,以確認新的ORASBT.dll被正確load.

 

5. 如果Archive Log不利用RMAN腳本來自動刪除,而是手動將其刪除,當下次再利用RMAN腳本備份Archive Log時,會由於找不到相應的歸檔日誌或者Log Sequence而失敗,需要利用crosscheck功能來同步Recovery Catalog DB或者Control File. 具體的命令格式在不同的Oracle版本不同,具體請參考Oracle Metalink網站; 或者參考本論壇上的crosscheck archivelog相關的文章。

 

6. 如果利用RMAN備份失敗,報錯信息中有關於”Media Management Layer”相關的錯誤信息,可以從客戶端(Target DB)上的ORASBT.log中找出更詳細的報錯信息。常見的問題有:

  • 磁帶沒有被正確Load
  • 與Media Agent之間的網絡連接問題

7. 其它關於ORACLE備份錯誤,很多都是由於ORACLE本身的問題導致,所以需要請ORACLE DBA一起協作解決,不能只依靠CommVault一方的力量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章