国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

Oracle 8高級數(shù)據(jù)復制技術(shù)

2024-08-29 13:38:47
字體:
供稿:網(wǎng)友

  本文首先簡單介紹和數(shù)據(jù)庫復制有關(guān)的基本概念,然后探討Oracle8數(shù)據(jù)復制技術(shù)中的幾個重要模型,最后介紹Oracle8的數(shù)據(jù)復制治理器以及如何利用它來配置和維護復制環(huán)境。
  
    在文章的開頭,我想首先簡單談一下復制的基本概念,也就是什么是復制?復制簡單地說就是在由兩個或者多個數(shù)據(jù)庫系統(tǒng)構(gòu)成的一個分布式數(shù)據(jù)庫環(huán)境中拷貝數(shù)據(jù)的過程。Oracle高級復制,也稱為對稱復制,第一次是在Oracle 7.1.6版本中出現(xiàn)的,在這之前的Oracle版本中,Oracle數(shù)據(jù)復制方法僅有只讀快照形式的基本復制一種方法。隨著Oracle版本的每一次升級,數(shù)據(jù)復制的功能、治理以及速度等方面都得到了很大的改進和完善。目前,由于對分布式數(shù)據(jù)環(huán)境需求的不斷增長,越來越多的應用提出了數(shù)據(jù)復制的需求。
  
  一、基本概念
    1.分布式數(shù)據(jù)庫技術(shù)
  
    分布式數(shù)據(jù)庫技術(shù)是目前我們經(jīng)常提及的分布式計算的一個重要組成部分,該技術(shù)答應數(shù)據(jù)在多個服務器端共享。采用分布式數(shù)據(jù)庫技術(shù),一個本地服務器可以存取不同物理地點的遠程服務器上的數(shù)據(jù);也可以使所有的服務器均可以持有數(shù)據(jù)的拷貝/復制,這樣分布式系統(tǒng)中的所有服務器均可進行本地存取。
  
    設計一個分布式計算解決方案首先需要考慮的問題就是應用的完整性、復雜性、性能和可用性以及響應時間等,同時還需要考慮的是對于不同的應用需求是采用實時存取遠程數(shù)據(jù)還是采用延遲存取遠程數(shù)據(jù)。這對于數(shù)據(jù)復制來講就是采取實時更新復制方案還是延遲數(shù)據(jù)復制方案。
  
    2.同步和異步的概念
  
    同步分發(fā)數(shù)據(jù)庫技術(shù)是一種實時遠程存取和實時更新數(shù)據(jù)的技術(shù)。這種技術(shù)可以保證應用的完整性降低了應用的復雜性,但是假如系統(tǒng)存在網(wǎng)絡存取速度很慢這樣的問題,相應響應時間就會很慢。
  
    異步分發(fā)數(shù)據(jù)庫技術(shù)是一種延遲遠程存取和延遲傳播對數(shù)據(jù)更新的技術(shù)。這種技術(shù)具有很高的可用性和很短的響應時間。相比同步分發(fā)數(shù)據(jù)庫技術(shù)就顯得復雜一些,為了確保應用的完整性需要仔細考慮和設計。
  
    對于實際的商業(yè)問題,必須權(quán)衡這兩種技術(shù)的利弊最終選擇最佳的解決方案,有些問題選用同步技術(shù)比較適合,也有一些問題采用異步技術(shù)是比較好的解決方案,還有一些問題必須綜合這兩種技術(shù)。
  
    3.復制的概念
  
    復制,顧名思義就是將數(shù)據(jù)庫中的數(shù)據(jù)拷貝到不同物理地點的數(shù)據(jù)庫中以支持分布式應用,它是整個分布式計算解決方案的一個重要組成部分。上面介紹了同步和異步的概念,這里針對復制也存在同步復制和異步復制的問題。
  
    同步復制,復制數(shù)據(jù)在任何時間在任何復制節(jié)點均保持一致。假如復制環(huán)境中的任何一個節(jié)點的復制數(shù)據(jù)發(fā)生了更新操作,這種變化會馬上反映到其他所有的復制節(jié)點。這種技術(shù)適用于那些對于實時性要求較高的商業(yè)應用中。
  
    異步復制,所有復制節(jié)點的數(shù)據(jù)在一定時間內(nèi)是不同步的。假如復制環(huán)境中的其中的一個節(jié)點的復制數(shù)據(jù)發(fā)生了更新操作,這種改變將在不同的事務中被傳播和應用到其他所有復制節(jié)點。這些不同的事務間可以間隔幾秒,幾分種,幾小時,也可以是幾天之后。復制節(jié)點之間的數(shù)據(jù)臨時是不同步的,但傳播最終將保證所有復制節(jié)點間的數(shù)據(jù)一致。
  
    4.更新沖突
  
    在異步復制環(huán)境中,對于所有應用最要害的就是要確保數(shù)據(jù)的一致性。我們來看下面這種情況會有什么后果發(fā)生呢?在同一時間對同一個表的同一行數(shù)據(jù)的同一列在兩個不同的地點作更新。這種情況就會發(fā)生稱之為更新沖突的錯誤。為保證數(shù)據(jù)的一致性,更新沖突必須被檢測到并且處理以確保在不同地點的數(shù)據(jù)元素保持同樣的值。更新沖突可以通過限制"所有權(quán)" 到單一節(jié)點或者將更新某個特定數(shù)據(jù)元素的權(quán)利限制到某一具體節(jié)點的方法來避免。
  
  二、Oracle 8數(shù)據(jù)復制應用模型(usage models)
    為確保實際應用數(shù)據(jù)的一致性,必須在異步復制應用模型中考慮沖突避免或者沖突檢測和消除的方法。例如,對于一個實際商業(yè)應用,首先必須在邏輯上了解該商業(yè)應用采取的沖突避免方法和在某個節(jié)點有那些數(shù)據(jù)以及這些數(shù)據(jù)中那些是可更新的,而那些又是不可更新的。在下面的這一部分中,我們首先將具體討論兩種常用的沖突避免方法:主站點所有權(quán)模型和動態(tài)所有權(quán)模型。然后,討論共享所有權(quán)模型以及這種模型引起的沖突檢測和處理問題,最后,討論針對Fail-over的復制配置,這種復制方案同時考慮了沖突避免和沖突檢測與消除兩種情況。
  
    1.主站點所有權(quán)
  
    主站點所有權(quán),異步復制數(shù)據(jù)被一個單一節(jié)點"所有",這些要復制的數(shù)據(jù)僅能被該節(jié)點更新,其他節(jié)點向擁有該數(shù)據(jù)的主節(jié)點訂閱(subscribe)數(shù)據(jù),這意味著他們在本地系統(tǒng)上只能夠存取這些復制數(shù)據(jù)的只讀拷貝。下面是一些這樣的例子。
  
    (1)決策支持系統(tǒng)(DSS)的聯(lián)機事務處理數(shù)據(jù)的卸載。來自一個或者多個OLTP系統(tǒng)的數(shù)據(jù)可以被卸載到一個獨立的局部DSS中,用于只讀分析。
  
    (2)中心信息的分發(fā)。產(chǎn)品信息,如價格列表等在總部節(jié)點上維護,然后將這些信息復制到遠程銷售辦事處的只讀產(chǎn)品目錄系統(tǒng)中。
  
    (3)遠程信息的集中。許多遠程節(jié)點上的產(chǎn)品目錄數(shù)據(jù)復制到總部節(jié)點,這里總部節(jié)點只需要有數(shù)據(jù)只讀的權(quán)限。
  
    一個主節(jié)點擁有一個表的完全所有權(quán),而其他節(jié)點只能訂閱這個表的只讀拷貝。也可以是多個主節(jié)點擁有同一個表的截然不同子集或者劃分,而另一些節(jié)點則訂閱這些子集或者劃分的只讀拷貝。如,一個分布的產(chǎn)品目錄系統(tǒng)可以讓不同的銷售辦事處擁有一個表的屬于自己的一個"水平"部分,如在客戶(CUSTOMERS)表, 訂單(ORDERS)表和目錄(ITEMS)這些表中含有每個銷售辦事處為之服務的客戶和產(chǎn)品信息。中心總部節(jié)點可以通過訂閱每個辦事處擁有的數(shù)據(jù)來保持一個完整的所有產(chǎn)品和客戶信息的只讀拷貝。

  
    2.動態(tài)所有權(quán)
  
    動態(tài)所有權(quán),異步更新將復制數(shù)據(jù)從一個節(jié)點移到另一個節(jié)點,而在該過程中,必須保證在同一時刻只有一個特定的節(jié)點可以對數(shù)據(jù)進行更新。一個典型實際應用就是"海關(guān)訂單處理系統(tǒng)",訂單處理的典型步驟是,報關(guān)→同意→裝運→開單→收單→入帳等。應用模型可以執(zhí)行其中的任何步驟,但必須保證各個不同模塊的同一個數(shù)據(jù)應該在一個綜合數(shù)據(jù)庫中。在該系統(tǒng)中,當且僅當訂單的狀態(tài)表明前一個步驟已經(jīng)完成時,下一個應用模塊才可以執(zhí)行更新訂單數(shù)據(jù)的操作。例如,"裝運"應用模塊僅能在"報關(guān)"并且得到"同意"后才能被執(zhí)行。
  
    通過使用動態(tài)所有權(quán)復制模型,可以將一個系統(tǒng)分布在多個節(jié)點和數(shù)據(jù)庫上,也就是說應用模型可以建立在不同的系統(tǒng)上。我們還是來看上面的例子,"報關(guān)"和"批準"這兩部分可以運行在一個系統(tǒng)上,"裝運"在另一個系統(tǒng)上,"開單"和"收單"等又可在一個系統(tǒng)上。在這個分布式系統(tǒng)中,數(shù)據(jù)可以被復制到不同的節(jié)點上,這些節(jié)點對復制的數(shù)據(jù)只要具有只讀的權(quán)限即可。如,利用復制,"報關(guān)"節(jié)點可以監(jiān)視已經(jīng)報關(guān)的訂單處理過程。
  
    前面討論的主節(jié)點所有權(quán)和動態(tài)所有權(quán)復制模型具有一個共同的特征:在任何一個給定的時間點,只答應一個節(jié)點有更新數(shù)據(jù)的權(quán)利,而其余節(jié)點對于復制的數(shù)據(jù)拷貝僅有只讀權(quán)限。然而,還存在這樣的情況,答應多個節(jié)點可以更新同一個數(shù)據(jù),在極端情況下可以是在同一時刻,這就是所說的共享所有權(quán)。
  
    3.共享所有權(quán)
  
    共享所有權(quán)使用異步復制,這對于主節(jié)點和動態(tài)所有權(quán)模型來講存在一些限制。在共享所有權(quán)情況下,整個系統(tǒng)可以存在暫時的不一致,同時必須使用沖突檢測和消除。共享所有權(quán)模型相對于前面兩種模型具有一些新的特點。
  
    例如,對于前面我們討論的那個采用具有水平劃分主節(jié)點復制方案來的分布式"訂單處理系統(tǒng)"的例子。采用共享所有權(quán)模型,每個銷售辦事處都有庫表中不同的水平劃分,該庫表含有每一個辦事處為之服務的一些訂單信息和與消費者有關(guān)的顧客信息。每一個銷售辦事處只輸入與自己有關(guān)的顧客訂單情況,而不管其余顧客信息。
  
    然而,在實際商業(yè)應用中,這個模型不是最佳的選擇。例如,這種情況,一個零售集團在一個大城市中可以有好幾個商場。顧客可能經(jīng)常去離他們住的最近的那個商場,但是偶然也可能到其他商場去購物。這時,假如多家商場執(zhí)行更新同一個顧客和其訂單數(shù)據(jù)的信息,更新沖突就會發(fā)生。所以在這種情況下必須要采用沖突檢測和消除方案。
  
    Oracle8高級復制支持同時既考慮沖突避免又考慮沖突檢測和消除的復制模型。Oracle8高級復制之所以又稱為對稱復制,其原因之一就是支持對稱復制模型,也就是可以在任何地方更新,即所有的復制節(jié)點都可以進行更新處理。為了避免沖突,一種方法就是將應用設計為將更新限制在一些特定的節(jié)點。對于共享所有權(quán),Oracle 8提供了自動沖突檢測和消除方案。
  
    4.備用數(shù)據(jù)庫(Fail-Over )
  
    異步復制通過將一個主系統(tǒng)數(shù)據(jù)復制到另一系統(tǒng),可以起到對主系統(tǒng)的崩潰提供保護的作用,這也就是所說的fail-over系統(tǒng),假如主系統(tǒng)出現(xiàn)問題,業(yè)務依舊可以通過復制數(shù)據(jù)庫進行。
  
    Oracle 8高級復制支持這種fail-over配置。同時,Oracle也針對fail-over提供了另外兩個可選的解決方案:Oracle并行服務器和備用數(shù)據(jù)庫配置。用戶可以根據(jù)吞吐量、可用性、事務損失的可能性和其他一些如數(shù)據(jù)一致性、方法的局限性等參考指標來權(quán)衡選擇合適的fail-over方案。
  三、Oracle 高級復制配置
    Oracle 8高級復制即可支持基于整個表的復制也可支持基于部分表的復制兩種復制方案。這兩種復制方案主要是通過Oracle的兩種復制機制來完成的,即多主復制和

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 嘉禾县| 志丹县| 黑山县| 翁牛特旗| 遂昌县| 台州市| 金川县| 遵义县| 宁晋县| 凤城市| 章丘市| 德阳市| 东港市| 武隆县| 九龙坡区| 惠来县| 大港区| 灵丘县| 呼图壁县| 阿拉善右旗| 新绛县| 宜宾市| 德安县| 林甸县| 永靖县| 都江堰市| 湖口县| 临夏市| 鄂尔多斯市| 新平| 井冈山市| 治县。| 盐边县| 县级市| 宾川县| 肇州县| 盱眙县| 鹰潭市| 吉安市| 宣城市| 汉中市|