徐嘉銘

[摘 要]本文利用數據庫技術和虛擬化技術相結合的方式,提出了一種基于DataGuard的虛擬化數據庫容災方法,有效解決了企業(yè)因提高數據庫可用性忽略服務器使用效率的問題,從而降低了企業(yè)硬件投入成本,提高了運維效率。
[關鍵詞]數據庫同步;DataGuard;高可用
doi:10.3969/j.issn.1673 - 0194.2019.14.038
[中圖分類號]TP393.08[文獻標識碼]A[文章編號]1673-0194(2019)14-00-02
0? ? ?引 言
隨著現代企業(yè)信息技術的飛速發(fā)展,企業(yè)各種各樣的信息系統(tǒng)進行協(xié)同辦公,這些系統(tǒng)數據都存儲在數據庫中,作為企業(yè)信息化的重要數據支撐。因此,建立一套可靠、有效的安全策略,保證數據的高可用性至關重要。傳統(tǒng)數據庫分布式容災系統(tǒng)中最安全的模式是一臺數據庫服務器作為主機運行,另一臺服務器作為備機數據庫服務器,備機數據庫服務器可以快速恢復某些類型的故障,也就是“1+1模式”。該模式雖然提高了數據庫的可用性,但大大增加了企業(yè)基礎設施投資,不利于企業(yè)信息化發(fā)展,企業(yè)可以利用DataGuard技術和虛擬化技術相結合的方法,解決這一問題。
1? ? ?方案設計
使用一臺高性能的服務器作為數據庫備機,采用微軟虛擬技術Hyper-V,建立多套安裝備用數據庫的虛擬機,同時使用有DataGuard功能的Oracle 11G,作為備用數據庫軟件。
DataGuard+虛擬機模式的優(yōu)點主要有以下3條。①成本低。可以在一臺服務器上虛擬出多個備機,對應不同主機數據庫服務器。②部署快。虛擬機可以在短時間內配置出跟主庫同樣的存儲空間和操作系統(tǒng)的虛擬機服務器,便于安裝部署多個Oracle數據庫備機。③維護成本低。對維護人員的要求不高,只需知道如何切換主機備機即可。
2? ? ?系統(tǒng)實現
該方案主要包括以下兩個方面的操作方式:①根據主庫數據庫服務器配置情況建立虛擬機;②在虛擬機上安裝數據庫環(huán)境,配置DataGuard模式。
2.1? ?準備工作
首先準備2臺數據庫服務器、1臺虛擬機,微軟的Hyper-V Server技術在這里作為虛擬服務器技術,建立2套安裝Oracle11G的操作系統(tǒng)作為備用數據庫服務器。
2.2? ?DataGuard配置
以數據中心庫做主庫(Primary Database)為例,在上面做準備工作。
(1)設置Oracle生產庫為歸檔模式
SQL>alter database archivelog;
(2)在主庫 primary database上設置force logging
SQL>alter database force logging;
(3)創(chuàng)建備庫控制文件和參數文件
啟動主數據庫到mount模式下,在主庫上創(chuàng)建備庫的參數文件和控制文件。
create pfile='d:\oracle\initDATATEST.ora'from spfile;
create standby controlfile as? 'd:\ standbyDATATEST.ctl';
這里只需要創(chuàng)建一個備用控制文件即可,然后保存為control01、control02、control03。
(4)修改參數文件
修改主庫參數,確認歸檔日志文件位置參數和主庫備庫信息,包括以下幾條。
LOG_ARCHIVE_DEST_1? ? ? 主庫歸檔日志文件位置
LOG_ARCHIVE_DEST_2? ? ? 備庫歸檔日志文件位置
DATATEST%t_%s_%r.arc? ? 歸檔日志文件格式
FAL_CLIENT? ? ? ? ? ? ? 主機數據庫名稱
FAL_SERVER? ? ? ? ? ? ? 備機數據庫名稱
這里注意一定要將參數STANDBY_FILE_MANAGEMENT設置為AUTO自動,否則會造成備庫無法與主庫同步,增加或者減少數據文件。修改備庫參數文件,只需要在記事本中將剛才導出的initDATATEST.ora做如下修改即可。
*.DB_UNIQUE_NAME=DATATEST02
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(DATATEST,
DATATEST02)'
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.LOG_ARCHIVE_FORMAT=DATATEST %t_%s_%r.arc
*.FAL_SERVER=DATATEST
*.FAL_CLIENT=DATATEST02
(5)遷移數據庫
在虛擬機中安裝Oracle數據庫系統(tǒng),停止主庫,把數據庫的數據文件拷貝到當前備庫相應位置,拷貝由生產庫生成control01 control02 control03作為災備庫的控制文件,將其存放在同生產庫相同的文件目錄下,并設置在參數文件中。拷貝生產庫參數文件到災備庫服務器相應目錄中,然后為災備庫創(chuàng)建參數文件。
(6)在備庫上配置standby? redo? log
配置過程中要需要注意以下3點內容:①主備庫目錄最好一致,這樣在設置過程中不會因為目錄不同出現錯誤;②logfile創(chuàng)建要求與primary的redo logfile的大小相同,個數至少多一個;③保證主庫備庫使用相同的用戶密碼進行通信來傳輸數據。
2.3? ?啟動虛擬機上的備用數據庫
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
啟動災備系統(tǒng),一旦主庫出現問題,可以立刻將備庫與主庫進行轉換,操作如下。
(1)在主庫上
SQL>alter database commit to switchover to physical standby;
(2)在備庫上
SQL>alter database commit to switchover to primary;
將備用數據庫啟動到open狀態(tài)下,這樣既可以保證生產數據庫不間斷運行,也可以利用這個時間段迅速修復、恢復原主庫數據。
2.4? ?測試驗證
在主庫用插入數據,驗證主庫備庫數據是否同步,保持同步速度,利用循環(huán)語句向主庫插入1 000 000條數據,備庫同步成功,用時不超過2分鐘。利用壓力測試工具swingbench測試比對,內存寫環(huán)境中寬帶在虛擬化環(huán)境中的備機增加73.82%,而在主機上面的Oracle數據庫增加88.83%,說明虛擬化環(huán)境中的Oracle數據庫性能總體上不如物理機,但作為恢復數據的備機用,不會有太大影響。
3? ? ?結 語
將虛擬機技術應用到Oracle數據庫中,技術上是可行的,最重要的是DataGuard都是Oracle本身自帶功能,在Windows? 2008 server以上版本自動安裝Hyper-V,不需要額外購買。將虛擬機技術應用同Oracle的DataGuard相結合,在保證數據庫高可用性的同時,提升企業(yè)信息基礎設施利用率,降低企業(yè)基礎設施投資費用。
主要參考文獻
[1]潘群華.數據復制及備份技術研究[D].北京:國防科學技術大學,2002.
[2]趙隆軍.虛擬技術在Oracle數據庫備份中的應用[J].中國石油和化工標準與質量,2011(8).
[3]何木喜,譚鐵偉.高校計算機網絡安全管理存在的問題及對策[J].肇慶學院學報,2003(2).
[4]周晴.淺析高校計算機網絡安全問題及對策[J].電腦知識與技術,2010(15).
[5]王松.淺析高校計算機網絡的安全管理[J].計算機時代,2007(10).
[6]闕宏宇.高校校園網絡安全管理存在的問題及對策研究[J].信息與電腦:理論版,2014(7).
[7]宋建松.淺談高校網絡安全問題及處理措施[J].電腦知識與技術,2017(35).
[8]張亮.高校網絡安全管理的問題及對策研究[J].科技風,2018(23).
[9]錢霂馨,張輝鵬.虛擬化數據中心的安全問題分析[J].信息安全與技術,2013(8).
[10]呂芳.虛擬化與云架構的數據中心帶來的安全挑戰(zhàn)與應對[J].智能建筑,2015(10).
[11]姜建偉.企業(yè)數據中心網絡虛擬化環(huán)境中邊界感知安全技術和應用[J].計算機應用與軟件,2012(8).
[12]曹衛(wèi)民.基于虛擬化技術的石化企業(yè)過程信息集成的安全策略[J].計算機與應用化學,2013(11).
[13]張殿,陳運,趙柏波.煤炭施工企業(yè)安全培訓虛擬化戰(zhàn)略[J].中國商界,2009(1).
[14]梅正宇.安全大數據分析:構建企業(yè)安全生態(tài)[J].軟件和信息服務,2015(9).
[15]劉兆強.區(qū)域數據中心虛擬化技術安全機制的探討[J].金融科技時代,2009(2).
[16]陳威,徐小天,陳樂然,等.虛擬化數據安全中VMware虛擬化高可用和容災探討[J].華北電力技術,2013(12).