摘要:數(shù)據(jù)庫分發(fā)技術(shù)不僅給企業(yè)提供了安全的數(shù)據(jù)備份,而且保證的業(yè)務(wù)的有效、持續(xù)進行,更加深入的進行數(shù)據(jù)挖掘。Oracle數(shù)據(jù)庫在數(shù)據(jù)分發(fā)技術(shù)方面已非常成熟,也形成了有體系、多層次的軟件技術(shù)。
關(guān)鍵詞:數(shù)據(jù)分發(fā);數(shù)據(jù)備份;數(shù)據(jù)分析應(yīng)用
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9599 (2012) 20-0000-02
為了降低經(jīng)營管理成本、保證業(yè)務(wù)的持續(xù)性、減少信息傳遞的環(huán)節(jié)、提供統(tǒng)一的業(yè)務(wù)平臺,數(shù)據(jù)和業(yè)務(wù)大集中就成了必然趨勢。但是,隨著數(shù)據(jù)的大集中,問題也隨之而來,比如數(shù)據(jù)庫負載問題、數(shù)據(jù)的邏輯容災(zāi)和災(zāi)難恢復(fù)、網(wǎng)絡(luò)的安全保證、下級機構(gòu)的個性化分析應(yīng)用業(yè)務(wù)等。數(shù)據(jù)庫復(fù)制分發(fā)技術(shù)不僅很好地將備份數(shù)據(jù)分散于各分支機構(gòu),同時還能在不增加總機構(gòu)服務(wù)器壓力的情況下給基層單位提供真實有用的數(shù)據(jù)用于個性化應(yīng)用。
基于Oracle數(shù)據(jù)庫的數(shù)據(jù)分發(fā)技術(shù)有exp/imp(導(dǎo)入導(dǎo)出)技術(shù)、物化視圖技術(shù)、流復(fù)制(Streams Replication)和備庫(Dataguard)。
1 exp/imp(導(dǎo)入導(dǎo)出)技術(shù)
imp/exp是oracle數(shù)據(jù)還原與備份功能,它是oracle的內(nèi)置函數(shù)。Exp命令可以把數(shù)據(jù)從遠程數(shù)據(jù)庫服務(wù)器導(dǎo)出到本地的dmp文件,imp命令可以把dmp文件從本地導(dǎo)入到遠處的數(shù)據(jù)庫服務(wù)器中。
exp/imp(導(dǎo)入導(dǎo)出)技術(shù)主要有以下優(yōu)點:
(1)屬于oracle數(shù)據(jù)庫自帶命令,簡單易學(xué)、處理方便。(2)由于屬邏輯備份/恢復(fù),可以跨平臺使用。(3)源數(shù)據(jù)庫和目標數(shù)據(jù)庫都可以處在正常運行狀態(tài)下進行。(4)不受時間、地域的約束。(5)對網(wǎng)絡(luò)要求也不高
exp/imp(導(dǎo)入導(dǎo)出)技術(shù)主要有以下缺點:
(1)由于是oracle數(shù)據(jù)庫自帶的簡單命令,只能處理少量數(shù)據(jù)。(2)只能通過手動方式進行,所以時間間隔較大。(3)源數(shù)據(jù)庫和目標數(shù)據(jù)庫的一致性無保障。
2 物化視圖技術(shù)
物化視圖也是通過調(diào)用oracle的一些系統(tǒng)函數(shù)的方式來實現(xiàn)的。物化視圖先建立物化視圖日志,然后讀取日志的方式復(fù)制數(shù)據(jù)的,包括一個查詢結(jié)果的數(shù)據(jù)庫對像,它是遠程數(shù)據(jù)的本地副本,或者用來生成基于數(shù)據(jù)表求和的匯總表。物化視圖存儲基于遠程表的數(shù)據(jù),也可以稱為快照。物化視圖可以查詢表,視圖和其它的物化視圖。通常情況下,物化視圖被稱為主表(在復(fù)制期間)或明細表(在數(shù)據(jù)倉庫中)。對于復(fù)制,物化視圖允許你在本地維護遠程數(shù)據(jù)的副本,這些副本是只讀的。如果你想修改本地副本,必須用高級復(fù)制的功能。當你想從一個表或視圖中抽取數(shù)據(jù)時,你可以用從物化視圖中抽取。對于數(shù)據(jù)倉庫,創(chuàng)建的物化視圖通常情況下是聚合視圖,單一表聚合視圖和連接視圖。
2.1 物化視圖技術(shù)主要有以下優(yōu)點
(1)物化視圖的最大的優(yōu)勢是可以提高性能:Oracle的物化視圖提供了強大的功能,可以用于預(yù)先計算并保存表連接或聚集等耗時較多的操作的結(jié)果,這樣,在執(zhí)行查詢時,就可以避免進行這些耗時的操作。(2)物化視圖可以建立索引并進行統(tǒng)計分析等方式以進一步提高目標數(shù)據(jù)庫的查詢性能。(3)通過預(yù)先計算好答案存儲起來,可以大大地減少機器的負載:A.更少的物理讀--掃描更少的數(shù)據(jù);B.更少的寫--不用經(jīng)常排序和聚集;C.減少CPU的消耗--不用對數(shù)據(jù)進行聚集計算和函數(shù)調(diào)用;D.顯著地加快響應(yīng)時間--在使用物化視圖查詢數(shù)據(jù)時會很快的返回查詢結(jié)果。
2.2 物化視圖技術(shù)主要有以下缺點
(1)物化視圖用于只讀或者“精讀”環(huán)境下工作最好,不用于聯(lián)機事務(wù)處理系統(tǒng)(OLTP)環(huán)境,在事實表等更新時會導(dǎo)致物化視圖行鎖,從而影響系統(tǒng)并發(fā)性。(2)物化視圖有出現(xiàn)無法快速刷新,導(dǎo)致查詢數(shù)據(jù)不準確的現(xiàn)象。(3)Rowid物化視圖(創(chuàng)建的物化視圖通常情況下有主鍵,rowid,和子查詢視圖)只有一個單一的主表,不能包括下面任何一項:A.Distinct或者聚合函數(shù);B.Group by,子查詢,連接和SET操作。(4)物化視圖會增加對磁盤資源的需求,即需要永久分配的硬盤空間給物化視圖來存儲數(shù)據(jù)。(5)物化視圖的工作原理受一些可能的約束,比如主鍵,外鍵等。
3 Streams數(shù)據(jù)同步技術(shù)
Streams是Oracle為提高數(shù)據(jù)庫的高可用性和數(shù)據(jù)的分發(fā)和共享功能而設(shè)計的,Streams利用高級隊列技術(shù),通過用LogMiner挖掘日志文件生成變更的邏輯記錄,然后將這些變更應(yīng)用到目標數(shù)據(jù)庫上,從而實現(xiàn)數(shù)據(jù)庫之間或一個數(shù)據(jù)庫內(nèi)部的數(shù)據(jù)同步。
3.1 Streams數(shù)據(jù)同步技術(shù)有以下優(yōu)勢
(1)可支持一對多、多對一和雙向復(fù)制,可用于數(shù)據(jù)分發(fā)和共享,且對網(wǎng)絡(luò)的要求不高;(2)可以進行局部復(fù)制、異構(gòu)復(fù)制、遠程容災(zāi),并可在復(fù)制過程中對數(shù)據(jù)進行過濾和轉(zhuǎn)換,使之滿足不同的需要;(3)Oracle數(shù)據(jù)庫自身內(nèi)置的功能,與每個Oracle新版本的新特性都完全兼容;(4)可支持非Oracle數(shù)據(jù)庫和Oracle數(shù)據(jù)庫之間的數(shù)據(jù)同步;(5)目標數(shù)據(jù)庫處于打開狀態(tài),可以在保持數(shù)據(jù)同步的同時執(zhí)行查詢等操作,分擔源數(shù)據(jù)庫的壓力。
3.2 Streams數(shù)據(jù)同步技術(shù)有以下缺點
(1)配置維護較復(fù)雜,需要較高的技術(shù)水平;(2)在非Downstream復(fù)制中,對源數(shù)據(jù)庫壓力較大;如果使用Downstream復(fù)制,則增加了配置的復(fù)雜性且需要通過網(wǎng)絡(luò)傳輸整個日志文件,對網(wǎng)絡(luò)帶寬要求較高;(3)不能支持某些特定的數(shù)據(jù)對象和數(shù)據(jù)類型,且不能保證數(shù)據(jù)的零丟失。
4 DataGuard數(shù)據(jù)同步技術(shù)
DataGuard是Oracle數(shù)據(jù)庫自帶的數(shù)據(jù)同步功能,基本原理是將日志文件從原數(shù)據(jù)庫傳輸?shù)侥繕藬?shù)據(jù)庫,然后在目標數(shù)據(jù)庫上應(yīng)用這些日志文件,從而使目標數(shù)據(jù)庫與源數(shù)據(jù)庫保持同步。
4.1 DataGuard數(shù)據(jù)同步技術(shù)有以下優(yōu)
(1)Oracle數(shù)據(jù)庫自身內(nèi)置的功能,與每個Oracle新版本的新特性都完全兼容;(2)在最大保護模式下,可確保數(shù)據(jù)的零丟失;(3)數(shù)據(jù)庫處于打開狀態(tài),可以在保持數(shù)據(jù)同步的同時執(zhí)行查詢等操作,
4.2 DataGuard數(shù)據(jù)同步技術(shù)的劣勢體現(xiàn)在以下幾個方面
(1)由于傳輸整個日志文件且要停止應(yīng)用日志,因此需要較高的網(wǎng)絡(luò)帶寬,也將使目標庫與源數(shù)據(jù)不能保持同步;(2)數(shù)據(jù)庫不能支持某些特定的數(shù)據(jù)對象和數(shù)據(jù)類型;(3)不支持一對多復(fù)制及雙向復(fù)制,因此無法應(yīng)用于信息集成的場合;(4)只能復(fù)制整個數(shù)據(jù)庫,不能選擇某個schema或表空間進行單獨復(fù)制;(5)不支持異構(gòu)的系統(tǒng)環(huán)境,需要相同的操作系統(tǒng)版本和數(shù)據(jù)庫版本
采用dataguard技術(shù),配置與管理比較簡單,數(shù)據(jù)的安全性相當有保障,物理備用庫可以在最短的時間完成故障切換,邏輯備用庫在保障數(shù)據(jù)安全的同時, 也可以承擔大量的報表等業(yè)務(wù)。因此,dataguard在高可用及容災(zāi)方面一般是dba的首選。
參考文獻:
[1]郭晶.Oracle9i數(shù)據(jù)庫高級管理[M].電子工業(yè)出版社.
[2]徐秀華,文必龍,畢碩本.Oracle 9i高級復(fù)制技術(shù)及其應(yīng)用
[作者簡介]
曾榮華(1977-)男,江西寧都人,贛州市地方稅務(wù)局數(shù)據(jù)庫工程師,本科,學(xué)士,研究方向:數(shù)據(jù)庫應(yīng)用。