洪毅強
龍巖煙草工業(yè)有限責(zé)任公司
基于EMC Networker的Oracle第三方備份方式的研究
洪毅強
龍巖煙草工業(yè)有限責(zé)任公司
從保障數(shù)據(jù)庫安全的角度出發(fā),探討基于Networker的Oracle第三方備份方式。通過安裝配置Networker服務(wù)器端、客戶端、數(shù)據(jù)庫模塊,實現(xiàn)數(shù)據(jù)庫的備份恢復(fù),最后以一個異機(jī)恢復(fù)實例驗證了有效性。
Networker Oracle NMDA 第三方備份
龍巖煙草工業(yè)有限責(zé)任公司廣泛使用Oracle數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲,其中包含8i,10g,11g等多個版本,Windows、AIX兩大平臺。生產(chǎn)數(shù)據(jù)庫既是保證企業(yè)生產(chǎn)正常進(jìn)行的重要部分,同時又是公司正在推行的精益生產(chǎn),大數(shù)據(jù)分析等多項重大戰(zhàn)略舉措的基礎(chǔ)數(shù)據(jù)來源。公司在綜合考慮業(yè)務(wù)需求后,構(gòu)建了以EMC DataDomain、EMC Networker,IBM TS3200為核心的整套備份系統(tǒng)。
2.1 Networker服務(wù)器端和客戶端的安裝
Networker軟件的安裝分為服務(wù)器端與客戶端兩部分,軟件的安裝方式與一般的軟件安裝方式類似,Windows平臺下可直接插入光盤等待自動運行,或手動運行Setup.exe,AIX平臺下,可使用smitinstallp命令進(jìn)行安裝。
2.2 Networker NMDA模塊的安裝
Networker NMDA模塊是用于備份Oracle等數(shù)據(jù)庫時,連接EMC DataDomain虛擬磁帶庫的驅(qū)動模塊。NMDA模塊在Networker軟件安裝完成后進(jìn)行安裝。其安裝方式與上述Networker的安裝方式基本相同。在安裝完畢后,Unix/linux平臺下需對Oracle庫文件進(jìn)行鏈接,參考命令如下:
以O(shè)racle用戶登錄Oracle主機(jī),執(zhí)行以下命令:
$ cd $ORACLE_HOME/lib
$ln -s /usr/lib/libnsrora.alibobk.a
3.1 Oracle數(shù)據(jù)庫的配置
首先,為了執(zhí)行RMAN備份,我們需要開啟數(shù)據(jù)庫的歸檔模式。以命令行登陸數(shù)據(jù)庫,同時,創(chuàng)建一個具有數(shù)據(jù)庫DBA權(quán)限的備份賬戶。
3.2 主機(jī)host文件的配置
由于使用的是網(wǎng)絡(luò)備份,且在服務(wù)器端與客戶端之間,均采用的是主機(jī)名進(jìn)行通信,為了正常解析主機(jī)名,我們需要在客戶端以及服務(wù)器端的host文件內(nèi)各自添加對方的主機(jī)名以及IP。
3.3 Networker客戶端的配置
最后,我們需要登錄Networker服務(wù)器,為新增的Oracle客戶端進(jìn)行必要的配置以及分組。Oracle客戶端的配置,可根據(jù)向?qū)е敢M(jìn)行即可,重點配置的內(nèi)容主要包括Oracle HOME目錄,TNS_ADMIN目錄,用于登錄數(shù)據(jù)庫的備份賬戶,備份腳本,備份池和組的選擇等。
由于Oracle的備份通常由數(shù)據(jù)備份和歸檔日志備份兩部分組成。并且兩部分的備份內(nèi)容所需執(zhí)行的備份策略一般略有不同。在實際的配置中,我們事先規(guī)劃好了兩個組Oracle_full,Oracle_arch。分別用于執(zhí)行數(shù)據(jù)全備份以及歸檔日志備份,并可以針對性的分配相應(yīng)的備份策略。
在備份腳本方面,與一般本地備份的RMAN腳本有所區(qū)別的地方,主要在于通道的分配上。一個Networker的Oracle RAC全備腳本例子如下:
4.1 備份
Networker的服務(wù)器控制端可以輕松管理,監(jiān)視所有備份任務(wù)。只需指定好備份組、備份池、備份策略,開啟自動備份,設(shè)置好啟動時間和時間間隔即可。
通過監(jiān)視界面可以清楚了解到各個備份任務(wù)的執(zhí)行狀態(tài),對于備份失敗的任務(wù),在詳情頁中可查看到具體失敗原因。除了通過可視化界面操作以外,還可以通過命令行模式進(jìn)行備份,可使用備份命令如下:
Savegrp -c [clientname] -g [groupname]
4.2 恢復(fù)
Networker Oracle的恢復(fù)與普通RMAN恢復(fù)過程類似。具體又可分為異機(jī)恢復(fù)和本機(jī)恢復(fù),此處,我們以異機(jī)恢復(fù)為例,簡要介紹下恢復(fù)過程:
首先,在異機(jī)恢復(fù),需要先設(shè)置DBID為原庫的DBID,具體ID數(shù)值可在原機(jī)備份日志msglog.log中或者Networker管理界面的存儲集中查詢的到。同時,需設(shè)置NSR_SERVER和NSR_ CLIENT參數(shù)。使用的腳本可參考如下:
然后,按照RMAN恢復(fù)步驟,執(zhí)行restore操作進(jìn)行數(shù)據(jù)文件恢復(fù)。在異機(jī)恢復(fù)中,我們可能需要使用set new name進(jìn)行數(shù)據(jù)文件的重定位,恢復(fù)完數(shù)據(jù)文件后,執(zhí)行recover database進(jìn)行日志的回滾。最后使用alter database open resetlogs即可完成恢復(fù)并成功打開數(shù)據(jù)庫。具體的恢復(fù)腳本,只需按照以上控制文件恢復(fù)腳本,在restore步驟進(jìn)行相應(yīng)的修改即可。
運行實踐證明,本文配置的Networker第三方備份方式,有效的實現(xiàn)了數(shù)據(jù)備份的自動化管理,便于備份任務(wù)的集中管理。并且該系統(tǒng)具備較好的擴(kuò)展性,可根據(jù)未來業(yè)務(wù)需求的變化進(jìn)行升級改造。
[1]張云帆.Oracle數(shù)據(jù)庫備份與恢復(fù)策略[J].計算機(jī)工程.2009:15-0085-03
[2]余以勝.Oracle數(shù)據(jù)庫備份解決方案的研究[J].計算機(jī)與數(shù)字工程2006,34(1):118-121
[3]謝東.基于Oracle的數(shù)據(jù)庫安全策略.現(xiàn)代情報,2006,26(1):119-123