如何理解Oracle系統(tǒng)數(shù)據(jù)的復(fù)制技術(shù)

本篇文章為大家展示了Oracle系統(tǒng)數(shù)據(jù)的復(fù)制技術(shù),內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比市中網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式市中網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋市中地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。

數(shù)據(jù)復(fù)制的實(shí)現(xiàn)

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

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

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

(2)創(chuàng)建用戶—復(fù)制管理員,并為該用戶授權(quán)復(fù)制管理員負(fù)責(zé)復(fù)制站點(diǎn)的創(chuàng)建和管理,每個(gè)復(fù)制站點(diǎn)都必須創(chuàng)建復(fù)制管理員以下為引用的內(nèi)容:

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

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

傳播者負(fù)責(zé)將本地***更新的數(shù)據(jù)傳播到其他站點(diǎn)上,以下為引用的內(nèi)容:

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

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

接收者負(fù)責(zé)接收其他站點(diǎn)上的傳播者傳送過(guò)來(lái)的數(shù)據(jù),以下為引用的內(nèi)容:

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

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

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

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。

(6)創(chuàng)建各主控站點(diǎn)之間的調(diào)度鏈接。

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

首先,在處理站點(diǎn)上建立與解釋站點(diǎn)的數(shù)據(jù)庫(kù)鏈接,這里需要先建立一個(gè)公用數(shù)據(jù)庫(kù)鏈接,供其他私有數(shù)據(jù)庫(kù)鏈接來(lái)使用。以下為引用的內(nè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)的數(shù)據(jù)庫(kù)鏈接。以下為引用的內(nèi)容:

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ào)度鏈接確定本站點(diǎn)上的事務(wù)向其他站點(diǎn)發(fā)送的頻度,下面的代碼為 10 分鐘一次,以下為引用的內(nèi)容:

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)建主控組在復(fù)制環(huán)境中,Oracle 用組來(lái)管理復(fù)制對(duì)象。通過(guò)將相關(guān)的復(fù)制對(duì)象放在一個(gè)組里,從而方便對(duì)大量數(shù)據(jù)對(duì)象的管理。

這里我們假設(shè)用戶模式 integr ation 在處理站點(diǎn)和解釋站點(diǎn)都已存在,而且表測(cè)區(qū) (survey) 和測(cè)線 (line) 也已經(jīng)創(chuàng)建。

(1)創(chuàng)建主控組對(duì)象 以下為引用的內(nèi)容:

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

(2)向主控組中添加數(shù)據(jù)對(duì)象,將測(cè)區(qū)表 survey 加入到組 inte_repg 中以下為引用的內(nèi)容:

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

以同樣的方法將測(cè)線表 line 加入到組 inte_repg 中。

(3)在主控組中添加其他參與復(fù)制的站點(diǎn),數(shù)據(jù)庫(kù)之間的同步方式在此指定以下為引用的內(nèi)容:

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

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

(5)為每個(gè)對(duì)象生成復(fù)制支持, 以下為引用的內(nèi)容:

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

測(cè)線表 line 也一樣。

(6)重新開始復(fù)制以下為引用的內(nèi)容:

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

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

上述內(nèi)容就是Oracle系統(tǒng)數(shù)據(jù)的復(fù)制技術(shù),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前標(biāo)題:如何理解Oracle系統(tǒng)數(shù)據(jù)的復(fù)制技術(shù)
路徑分享:http://bm7419.com/article32/jcsopc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣微信小程序、面包屑導(dǎo)航企業(yè)網(wǎng)站制作、建站公司、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開發(fā)