欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Oracle分布式系統數據復制技術(shù)

引言

一個(gè)中型或大型公司往往由地理上分散的部門(mén)所組成,這些部門(mén)通常需要進(jìn)行數據共享。針對這些共享數據,可以將其存儲在某個(gè)站點(diǎn)上,需要的用戶(hù)都從這個(gè)站點(diǎn)上存取。這種方案的優(yōu)點(diǎn)是數據的一致性容易保證,但其缺點(diǎn)也是很突出的,那就是該站點(diǎn)的負載大、網(wǎng)絡(luò )負載大,遠程用戶(hù)的數據響應遲緩。數據復制技術(shù)可以有效地解決這個(gè)問(wèn)題,它通過(guò)將這些共享數據復制到位于不同地點(diǎn)的多個(gè)數據庫中,從而實(shí)現數據的本地訪(fǎng)問(wèn),減少了網(wǎng)絡(luò )負荷,并提高了數據訪(fǎng)問(wèn)的性能,而且通過(guò)對數據庫中的數據定期同步(通常是每天晚上),從而確保了所有的用戶(hù)使用同樣的、最新的數據。該技術(shù)適用于用戶(hù)數量較大、地理分布較廣、而且需要實(shí)時(shí)地訪(fǎng)問(wèn)相同數據的應用模式。

數據復制的概念及特點(diǎn)

1、數據復制的概念及分類(lèi)

數據復制,就是將數據庫中的數據拷貝到另外一個(gè)或多個(gè)不同的物理站點(diǎn)上,從而保持源數據庫與目標數據庫中指定數據的一致性。

按照數據復制的實(shí)時(shí)性,數據復制可分為同步數據復制和異步數據復制。同步數據復制是指將本地生產(chǎn)數據以完全同步的方式復制到異地,每一本地IO交易均需等待遠程復制的完成方予以釋放。異步數據復制則是指將本地生產(chǎn)數據以后臺同步的方式復制到異地,每一本地IO交易均正常釋放,無(wú)需等待遠程復制的完成。同步復制實(shí)時(shí)性強,遠端數據與本地數據完全同步。但這種方式受帶寬影響較大,數據傳輸距離較短。異步復制不影響本地交易,傳輸距離長(cháng),但其數據比本地數據略有延遲。在異步復制環(huán)境中,對于所有應用最關(guān)鍵的就是要確保數據的一致性。

按照復制站點(diǎn)的類(lèi)型,數據復制可分為多主控站點(diǎn)復制、物化視圖復制及混合復制。多主控站點(diǎn)復制也稱(chēng)為對等站點(diǎn)復制,其中每個(gè)站點(diǎn)都是主控站點(diǎn),都需要與其他站點(diǎn)進(jìn)行信息交流,各站點(diǎn)之間是平等的。物化視圖復制包含一個(gè)主控站點(diǎn)、一個(gè)或多個(gè)物化視圖站點(diǎn),

物化視圖中的內容可以為目標主對象在某個(gè)時(shí)間點(diǎn)的全部拷貝或部分拷貝,其中目標主對象既可以是主控站點(diǎn)上的表也可以是物化視圖站點(diǎn)上的主物化視圖?;旌蠌椭瓢鄠€(gè)主控站點(diǎn)和多個(gè)物化視圖站點(diǎn),是主控站點(diǎn)復制和物化視圖復制的結合體,適合于復雜的業(yè)務(wù)情況。

2、數據復制的特點(diǎn)

數據復制通過(guò)在多個(gè)站點(diǎn)上建立備份,能夠提高數據的安全性,同時(shí)也提高了數據的可用性,這是因為如果一個(gè)站點(diǎn)出現了問(wèn)題,用戶(hù)可以選擇其他站點(diǎn)繼續進(jìn)行操作,應用系統還可繼續運行,從而數據復制提供了容錯保護機制。

然而數據復制最基本的功能是提高數據庫的性能。它通過(guò)將遠程數據庫中的數據復制到本地,使得應用能夠就近訪(fǎng)問(wèn)數據,從而降低網(wǎng)絡(luò )傳輸負載,提高效率。而且在數據復制系統中,可以提供多個(gè)站點(diǎn)之間的負載平衡,讓這幾個(gè)用戶(hù)使用這個(gè)服務(wù)器,另外幾個(gè)用戶(hù)可以

使用其他的服務(wù)器,以避免某些站點(diǎn)負載過(guò)重。

物化視圖還提供了按子集進(jìn)行復制,這樣各站點(diǎn)就可只復制自己需要的數據,也能減輕網(wǎng)絡(luò )的傳輸量。

數據復制的實(shí)現方法

在具體的實(shí)現之前,首先要做好設計與規劃。這就需要細致分析具體的業(yè)務(wù)情況,設計出一套能夠滿(mǎn)足業(yè)務(wù)需要的方案。通常在設計過(guò)程中,需要確定出要建立的數據庫站點(diǎn),各站點(diǎn)的類(lèi)型,需要復制的數據對象,以及同步方式、沖突解決方案等內容。

在設計完成之后,就可具體來(lái)實(shí)現數據復制,數據復制實(shí)現過(guò)程如下圖所示:

 

從圖中可以看出,數據復制的實(shí)現主要包括以下幾步:

(1)創(chuàng )建復制站點(diǎn)

(2)創(chuàng )建組對象

(3)配置沖突解決方案

下面我們舉一個(gè)例子來(lái)說(shuō)明各步具體需要完成的工作。在這個(gè)例子中我們采用多主控站點(diǎn)復制方式,設有兩個(gè)主控站點(diǎn)和兩個(gè)共享數據表。兩個(gè)主控站點(diǎn)分別為:處理站點(diǎn)(cl.world)和解釋站點(diǎn)(js.wo rld);兩個(gè)數據表為測區( survey)和測線(xiàn)( line)。

STEP1 創(chuàng )建復制站點(diǎn)

(1)首先以SYSTEM身份登陸主站點(diǎn)數據庫cl.worldCONNECT system/manager@cl.world

(2)創(chuàng )建用戶(hù)—復制管理員,并為該用戶(hù)授權復制管理員負責復制站點(diǎn)的創(chuàng )建和管理,每個(gè)復制站點(diǎn)都必須創(chuàng )建復制管理員:

CREATE USER repadmin IDENTIFIED BY repadmin;
BEGIN
  DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA (username => ’repadmin’);
END;

   (3)為本站點(diǎn)指定傳播者

   傳播者負責將本地最新更新的數據傳播到其他站點(diǎn)上:

BEGIN
  DBMS_DEFER_SYS.REGISTER_PROPAGATOR (username => ’repadmin’);
END;

   (4)為本站點(diǎn)指定接收者

   接收者負責接收其他站點(diǎn)上的傳播者傳送過(guò)來(lái)的數據:

BEGIN
DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP (
  username => ’repadmin’,
  privilege_type => ’receiver’,
  list_of_gnames => NULL);
END;

   (5)確定清除時(shí)間

   為了使傳送過(guò)來(lái)事務(wù)隊列不致過(guò)大,需要將成功加載的事務(wù)從事物隊列里清除掉,這里設定每小時(shí)清除一次。

CONNECT repadmin/repadmin@cl.world
BEGIN
  DBMS_DEFER_SYS.SCHEDULE_PURGE (
   next_date => SYSDATE,
   interval => ’SYSDATE + 1/24’,
   delay_seconds => 0);
END;

   在建立好站點(diǎn)cl.world后,以同樣的方法創(chuàng )建站點(diǎn)js. world。
 ?。?)創(chuàng )建各主控站點(diǎn)之間的調度鏈接

   創(chuàng )建各主控站點(diǎn)之間的調度鏈接需要先在各主控站點(diǎn)間建立數據庫鏈接,之后為每個(gè)數據庫鏈接定義調度時(shí)間。

   首先,在處理站點(diǎn)上建立與解釋站點(diǎn)的數據庫鏈接,這里需要先建立一個(gè)公用數據庫鏈接,供其他私有數據庫鏈接來(lái)使用。

CONNECT SYSTEM/MANAGER@cl.world
CREATE PUBLIC DATABASE LINK js.world USING ’js.world’;
CONNECT repadmin/repadmin@cl.world
CREATE DATABASE LINK js.world CONNECT TO repadmin
IDENTIFIED BY repadmin;

   同樣,在解釋站點(diǎn)上建立與處理站點(diǎn)的數據庫鏈接

CONNECT SYSTEM/MANAGER@js.world
CREATE PUBLIC DATABASE LINK cl.world USING ’cl.world’;
CONNECT repadmin/repadmin@js.world
CREATE DATABASE LINK cl.world CONNECT TO repadmin
IDENTIFIED BY repadmin;

   調度鏈接確定本站點(diǎn)上的事務(wù)向其他站點(diǎn)發(fā)送的頻度,下面的代碼為10分鐘一次:

CONNECT repadmin/repadmin@cl.world
BEGIN
DBMS_DEFER_SYS.SCHEDULE_PUSH (
destination => ’js.world’,
interval => ’SYSDATE + (1/144)’,
next_date => SYSDATE,
parallelism => 1,
execution_seconds => 1500,
delay_seconds => 1200);
END;

   在解釋站點(diǎn)上做相同的工作STEP2 創(chuàng )建主控組在復制環(huán)境中,Oracle用組來(lái)管理復制對象。通過(guò)將相關(guān)的復制對象放在一個(gè)組里,從而方便對大量數據對象的管理。
 
這里我們假設用戶(hù)模式integr ation 在處理站點(diǎn)和解釋站點(diǎn)都已存在,而且表測區(survey )和測線(xiàn)(line)也已經(jīng)創(chuàng )建。

   (1)創(chuàng )建主控組對象

CONNECT repadmin/repadmin@cl.world
BEGIN
DBMS_REPCAT.CREATE_MASTER_REPGROUP (
gname => ’inte_repg’);
END;

   (2)向主控組中添加數據對象,將測區表survey加入到組inte_repg中

BEGIN
DBMS_REPCAT.CREATE_MASTER_REPOBJECT (
gname => ’inte_repg’,
type => ’TABLE’,
oname => ’survey’,
sname => ’integration’,
use_existing_object => TRUE,
copy_rows => FALSE);
END;

   以同樣的方法將測線(xiàn)表line 加入到組inte_repg中

   (3)在主控組中添加其他參與復制的站點(diǎn),數據庫之間的同步方式在此指定

BEGIN
DBMS_REPCAT.ADD_MASTER_DATABASE (
gname => ’inte_repg’,
master => ’js.world’,
use_existing_objects => TRUE,
copy_rows => FALSE,
propagation_mode => ’ASYNCHRONOUS’);
END;

   (4)如果可能出現沖突,則需要配置沖突解決方案。沖突解決方案將在后面介紹。

   (5)為每個(gè)對象生成復制支持

BEGIN
DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT (
sname => ’integration’,
oname => ’survey’,
type => ’TABLE’,
min_communication => TRUE);
END;

   測線(xiàn)表line也一樣

   (6)重新開(kāi)始復制

BEGIN
DBMS_REPCAT.RESUME_MASTER_ACTIVITY (
gname => ’inte_repg’);
END;

   以同樣的方式設置解釋站點(diǎn)。設置成功后,數據復制過(guò)程就宣告完畢,庫中的數據就可進(jìn)行復制。

  數據復制中沖突的解決方案

   在復制環(huán)境中,盡管在數據庫和應用程序設計過(guò)程中,會(huì )盡量避免各站點(diǎn)間沖突的發(fā)生,但完全避免沖突的可能性還是比較小的,那么一旦沖突發(fā)生,就需要一個(gè)按照具體業(yè)務(wù)規則的沖突解決機制,來(lái)使得各站點(diǎn)的數據保持一致。

   首先需要分析哪些對象容易出現沖突。通常來(lái)說(shuō),靜態(tài)的數據變化少,沖突出現的可能性也??;而有些數據變化非常大,沖突出現的可能性也大。確定了沖突易發(fā)的對象后,需要確定怎樣解決沖突,比如在各站點(diǎn)之間建立優(yōu)先次序,在數據不一致時(shí),以某個(gè)站點(diǎn)上的為準;或以某個(gè)站點(diǎn)上最新的修改為準。

   Oracle提供了多中沖突解決方案,具體包括:針對更新沖突的方案、針對唯一性沖突的方案、針對刪除沖突的方案。除了這些方案以外,用戶(hù)還可以自定義沖突解決方法。每種方案都有自己的適用情況,那么我們需要根據具體的業(yè)務(wù)來(lái)選擇合適的沖突解決方案。

  結束語(yǔ)

   本文詳細介紹了分布式系統Oracle中的數據復制技術(shù),在具體應用中,還有許多比較復雜的問(wèn)題需要解決,比如主控組中如果包含循環(huán)依賴(lài)的表或自相關(guān)的表時(shí)如何處理;如何利用模版機制來(lái)創(chuàng )建物化視圖站點(diǎn);如何對數據復制環(huán)境進(jìn)行管理與維護。這些問(wèn)題需要在實(shí)際應用中逐步探索,深入研究。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Oracle學(xué)習1_筆記B
為什么MySQL要升級組復制?1分鐘系列
金融行業(yè)數據容災架構中的數據復制技術(shù)
物化視圖復制概念和體系結構——高級復制
數據復制的并發(fā)控制
Oracle Buys GoldenGate at Chanel [K]
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久