偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Oracle復制技術的分布式系統(tǒng)同步應用

數(shù)據(jù)庫 Oracle 分布式
本文是一篇技術型文章,主要講述的是Oracle復制技術在分布式信息系統(tǒng)中的同步應用,希望對大家有所幫助。

本文將結合一個實際案例,講解Oracle復制技術在分布式信息系統(tǒng)中的同步應用,希望通過這篇文章,大家能更好的理解Oracle復制技術。

引言

基于WAN的分布式管理信息系統(tǒng)是當前跨多地域企事業(yè)單位信息處理的首選。福建省運政管理信息系統(tǒng)是覆蓋全省14個市運管處、84個縣運管所的WAN分布式網(wǎng)絡管理系統(tǒng),根據(jù)業(yè)務特點和實際應用特征,全省數(shù)據(jù)存儲分為二級,在省局中心設立全省數(shù)據(jù)存儲中心,各市處設立本市處數(shù)據(jù)存儲中心,省局數(shù)據(jù)中心又分內網(wǎng)數(shù)據(jù)中心和外網(wǎng)數(shù)據(jù)中心。本文運用Oracle高級復制技術實現(xiàn)各數(shù)據(jù)中心的數(shù)據(jù)同步。

1 Oracle高級復制技術

Oracle高級復制,也稱為對稱復制,有基于整個表的復制和基于部分表的復制兩種復制方法。這兩種復制主要是通過多主復制和可更新快照復制兩種機制實現(xiàn)的。同時還可以將這兩種復制機制結合起來以滿足不斷變化的業(yè)務需求。

1.1多主復制

多主復制方法支持全表在各個主節(jié)點間的對稱復制,允許所有主節(jié)點對主表有更新操作的權力。任何—個主節(jié)點上的復制表的更新都會被傳播并直接應用到其他所有主表。一個主節(jié)點出現(xiàn)問題,不會影響其他主節(jié)點之間的傳播。

多主復制采用一種稱為“延遲遠程過程調用(deferred remoteprocedure calls RPCs)”機制。各節(jié)點之間變化的傳播,既可以以基于事件的方式立即傳播,也可以從某個特定的時間點(如在網(wǎng)絡空閑)開始傳播。在傳播變化時,如果其中的一個遠端系統(tǒng)沒有準備好,傳播變化的延遲遠程過程調用就會保存在其本地隊列中,等到系統(tǒng)準備好以后再執(zhí)行。

1.2可更新快照復制

Oracle將只讀快照機制擴展為一種允許快照可更新的對稱復制??煺崭碌膫鞑シ绞揭彩遣捎昧撕投嘀鲝椭埔粯拥难舆t遠程過程調用機制。

快照是對出現(xiàn)在特定時刻的數(shù)據(jù)的復制,既可以是包含一個主表的完全拷貝,也可以是滿足基于值的選擇標準的主表中行的子集。快照在主節(jié)點的刷新是按照一定的時間間隔或用戶單獨請求進行的。最后一次刷新后主表的任何變化也同樣被傳播并應用到快照。多個快照的刷新是在一個一致的事務中完成的,這就確保了數(shù)據(jù)和引用的完整性。

1.3混合配置

可以將多主復制和可更新快照結合在一起,構成一種新的混合配置,這種配置可以完成對全表或子表的復制。例如,一個系統(tǒng)具有兩個不同地理區(qū)域的中心節(jié)點,這兩個不同的地理區(qū)域下面還有一些分支機構,可以把兩個中心節(jié)點看作是互為備份節(jié)點,采用多主復制方法在兩個中心節(jié)點之間復制數(shù)據(jù),同時采用只讀或可更新快照復制方法在區(qū)域范圍中的主節(jié)點之間復制全表或主表。這種配置的一個顯著好處就是當其中的一個中心發(fā)生問題時,快照的主節(jié)點可以被重新定義到另一個良好的中心節(jié)點上,從而提高了系統(tǒng)的可靠性。

1.4過程級復制

這種復制方法主要應用在存在大量數(shù)據(jù)以及采取批處理方式操作數(shù)據(jù)的情況。

2實際應用

2.1福建省運輸管理局網(wǎng)絡環(huán)境

福建省運輸管理局根據(jù)系統(tǒng)業(yè)務的需要,建立了全省的省、市、縣業(yè)務VPN三級網(wǎng)絡系統(tǒng),各數(shù)據(jù)中心均采用oracle數(shù)據(jù)庫系統(tǒng),整個數(shù)據(jù)的存儲采用二級分布存儲,以確保全省業(yè)務數(shù)據(jù)存儲的快速、穩(wěn)定、安全。全省數(shù)據(jù)中心分布如圖1。

全省數(shù)據(jù)中心分布圖

各級數(shù)據(jù)中心的存儲原則:省局數(shù)據(jù)中心(內網(wǎng))匯集全省各市運管處的所有業(yè)務數(shù)據(jù),為各市實現(xiàn)異地備份,提供跨地市數(shù)據(jù)查詢,協(xié)助完成異地執(zhí)法稽查,通過內外網(wǎng)數(shù)據(jù)交換,實現(xiàn)內網(wǎng)相關數(shù)據(jù)流向外網(wǎng),外網(wǎng)提交的數(shù)據(jù)進入內網(wǎng),為公眾提供數(shù)據(jù)查詢與業(yè)務力、理等服務。各市運管處只為本市所轄縣的運管所提供存儲服務,并將數(shù)據(jù)匯集到省局數(shù)據(jù)中心,出現(xiàn)數(shù)據(jù)故障時自動從省局讀取數(shù)據(jù)進行數(shù)據(jù)恢復。

基于以上的數(shù)據(jù)存儲原則,整個數(shù)據(jù)同步機制主要采用Oracle復制技術的可更新快照機制。省局的數(shù)據(jù)庫系統(tǒng)設置為主數(shù)據(jù)庫,各市處的數(shù)據(jù)庫系統(tǒng)設置為從數(shù)據(jù)庫,所以整個分布式數(shù)據(jù)庫系統(tǒng)是“一主多從”的結構。使用Oracle系統(tǒng)中的增量復制技術,定時或手動進行主數(shù)據(jù)庫與從數(shù)據(jù)庫的數(shù)據(jù)更新。從數(shù)據(jù)庫復制到主數(shù)據(jù)庫的是全部數(shù)據(jù),只要從數(shù)據(jù)庫中的數(shù)據(jù)有變化,就會反映到主數(shù)據(jù)庫中;主數(shù)據(jù)庫復制到從數(shù)據(jù)庫的是與本市相關的業(yè)務數(shù)據(jù)。省局內網(wǎng)與外網(wǎng)數(shù)據(jù)中心、省局與省廳之間數(shù)據(jù)交換同樣采用可更新快照要制實現(xiàn)。

2.2數(shù)據(jù)復制以及各中心的數(shù)據(jù)同步過程

數(shù)據(jù)庫復制操作可以由各市處數(shù)據(jù)庫發(fā)起,發(fā)起的方式可以是定時自動復制也可以是手動復制。實現(xiàn)數(shù)據(jù)復制可以用命令方式或用Oracle系統(tǒng)的Advanced replication manger來定制。下面采用命令方式,以省局和廈門兩點為例描述主從數(shù)據(jù)中心節(jié)點的數(shù)據(jù)同步復制的操作步驟。

2.2.1實現(xiàn)數(shù)據(jù)庫復制的前提

(1)用system身份登錄各數(shù)據(jù)庫,查看v$option視圖,如果其中Advanced replication為TRUE,則支持高級復制功能,否則不支持。

(2)打開tnsnames.ora文件,設置數(shù)據(jù)庫初始化參數(shù)要求:

①db_domain=fjysgl.com.cn,/指明數(shù)據(jù)庫的域名(默認的是WORLD),這里用fjysgl.com.cn。

②global_names=true//它要求鏈接(database link)和被連接的數(shù)據(jù)庫名稱一致,因而全局數(shù)據(jù)庫名為:db_name+”.”+db_domain。

③有跟數(shù)據(jù)庫job執(zhí)行有關的參數(shù)。

  1. job_queue processes=l?。xSNP進程的啟動個數(shù)為n,系統(tǒng)缺省值為0,正常定義范圍為0—36,根據(jù)任務的多少,可以配置不同的數(shù)值。   
  2. job_queue_interval=60?。x系統(tǒng)每隔N秒喚醒該進程一次,系統(tǒng)缺省值為60秒,正常范圍為1~3600秒。   
  3. distributed_transactions=lO   
  4. open._links=4  

2.2.2實現(xiàn)數(shù)據(jù)庫的同步復制操作

省局數(shù)據(jù)中心與廈門市處數(shù)據(jù)中心的具體配置如表1所示。

(1)確認網(wǎng)絡暢通,兩中心數(shù)據(jù)庫服務器之間可以互相訪問,在tnsnames.ora里設置數(shù)據(jù)庫連接字符串。

①修改廈門市處數(shù)據(jù)庫連接字符串。

  1. fjyg=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=  
  2. (PROTOCOL=TCP)(HOST=10.1.1.3)(PORT=1521)))  
  3. (CONNECT_DATA=(SERVICE_NAME=f]yg))) 

運行$tnsping fjyg,出現(xiàn)以下提示符:

  1. Attempting 10 contact(ADDRESS=(PROTOCOL=TCP)  
  2. (HOST=10.1.1.3)(PORT=1521)) 

OK(10毫秒)則表明有廈門市處數(shù)據(jù)庫可以訪問省局中心數(shù)據(jù)庫。

②在省局數(shù)據(jù)庫作同樣類似配置,并確認$tnsping xm是通的。

(2)改數(shù)據(jù)庫全局名稱,建公共的數(shù)據(jù)庫鏈接。

①用system身份登錄xm數(shù)據(jù)庫:

  1. alter database rename global_name t0 xm.1jysgl.com.cn: 

用system身份登錄fjyg擻據(jù)庫:

  1. alter database rename global_name to fjyg.1jysgl.com.cn: 

②用system身份登錄xm數(shù)據(jù)庫:

  1. create public database link fjyg.fjysgl.com.cn using fjyg’: 

測試數(shù)據(jù)庫全局名稱和公共的數(shù)據(jù)庫連接:

  1. select。from global_name@t]yg.fjysgl.com.cn: 

返回結果應為fjYg.fjysgl.com.cn;

用system身份登錄fjyg數(shù)據(jù)庫:

  1. create public database link xm.fjysgl.com.cn using‘xm’; 

測試數(shù)據(jù)庫全局名稱和公共的數(shù)據(jù)庫鏈接。

(3)建立管理數(shù)據(jù)庫復制的用戶repadmin,并賦權。

①用system身份登錄xm數(shù)據(jù)庫,分別運行如下命令:

  1. create user repadmin identified by repadmin default   
  2. tablespace users temporary tablespace temp;   
  3. execute dbms_defer_sys.register_propagator(‘repadmin’):  
  4.  
  5. grant execute any procedure to repadmin;   
  6. execute dbms_repcat_admin.grant_admin_any_repgroup   
  7. (‘repadmin’):   
  8. grant comment any table t0 repadmin;   
  9. grant lock any table tO repadmin;  

②同樣用system身份登錄旬yg數(shù)據(jù)庫,運行以上的命令,管理數(shù)據(jù)庫復制的用戶repadmin,并賦權。

(4)在數(shù)據(jù)庫復制的用戶repadmin下創(chuàng)建私有的數(shù)據(jù)庫鏈接。

①用repadmin身份登錄xm數(shù)據(jù)庫。

 

  1. create database link fjYg.fjysgl.com.cn connect Io repadmin  
  2. identified by repadmin; 

 

②用repadmin身份登錄fjyg數(shù)據(jù)庫。

 

  1. create database link xm.fjysgl.com.cn connect to repadmin  
  2. identified by repadmin; 

 

在這里以ORACLE系統(tǒng)的例程用戶的scott及dept表。

(5)創(chuàng)建或選擇實現(xiàn)數(shù)據(jù)庫復制的用戶和對象,給用戶賦權,數(shù)據(jù)庫對象必須有主關鍵字。

(6)創(chuàng)建要復制的組scott_mg,加入數(shù)據(jù)庫對象,產生對象的復制支持。

①用repadmin身份登錄xm數(shù)據(jù)庫,創(chuàng)建主復制組。

  1. scott_mg execute dbms_repcat.create_master_repgroup   
  2. (‘scott_mg’):  

②在復制組scott_mg里加入數(shù)據(jù)庫對象。

  1. execute dbms_repcat.create_master_repobject(sname=>'scott',   
  2. oname=>'dept',type=>'table',use_existing_object=>true.   
  3. gname=>。scotLmg’): 

③對數(shù)據(jù)庫對象產生復制支持。

  1. execute dbms_repcat.generate_replication_support(‘scott','dept',   
  2. ‘tabIe’):  

④確認復制的組和對象已經(jīng)加入數(shù)據(jù)庫的數(shù)據(jù)字典。select gname.master。status from dba_repgroup;select from dba_repobject;

(7)創(chuàng)建主復制節(jié)點。

①用repadmin身份登錄xm數(shù)據(jù)庫,創(chuàng)建主復制節(jié)點。execute dbms_repcat.add_master_database

  1. (gname=>'sco~_mg',master=>'rjyg.fjysgLcom.cn.,   
  2. use_existing_objects=>true.copy_rows=>false,   
  3. propagation_mode=>。asynchronous');  

②確認復制的任務隊列已經(jīng)加入數(shù)據(jù)庫的數(shù)據(jù)字典。select’from useriobs;

(8)使同步組的狀態(tài)由停頓(quiesced)改為正常(normal)。

①用repadmin身份登錄xm數(shù)據(jù)庫,運行以下命令:execute dbms_repcat.resume_master_activity('scott_mg',false);

②確認同步組的狀態(tài)為正常(normal)。select gname,master,status from dba_repgroup;

③如果這個①命令不能使同步組的狀態(tài)為正常(normal),可能有一些停頓的復制,運行以下命令進行處理:execute dbms_repcat.resume_master_activity('scott,mg',true);

(9)創(chuàng)建復制數(shù)據(jù)庫的時間表,假設10分鐘自動復制一次。

①用repadmin身份登錄xm數(shù)據(jù)庫,運行以下命令:

  1. SQL>begin 
  2. dbms_defer_sys.schedule_push  
  3. (destination=>'fjyg.fjysgl.com.cn.,interval=>’sysdate  
  4. +10/1440',next_date=>sysdate);end;/  
  5.    
  6. SQL>be_qin   
  7. dbms_defer_sys.schedule_purge(next_date=>sysdate.  
  8. interval=>’sysdate+10/1440',delay_seconds=>0.  
  9. rollback_segment=>”):  
  10. end;  
  11. / 

②用repadmin身份登錄巧yg數(shù)據(jù)庫,運行與①相似命令。

登陸數(shù)據(jù)庫

通過以上的配置即可實現(xiàn)省局與廈門市處二個數(shù)據(jù)中心之間的數(shù)據(jù)同步復制,其他點省局與福州處、省局與泉州處等使用相同的方法進行處理。

對于省局中心的內外網(wǎng)數(shù)據(jù)庫服務器,因為正常工作時間,內外網(wǎng)均不能停頓,而內外網(wǎng)又不能物理連通,于是設定在每天晚上非工作時間(或其它時段)為維護時段,該時段內外網(wǎng)均停止作業(yè),由系統(tǒng)管理員把與內外網(wǎng)DB相連的所有網(wǎng)線斷開,用一根直連網(wǎng)線把兩臺DB連接,使用相同的方式實現(xiàn)內外網(wǎng)數(shù)據(jù)的同步。

3 結束語

Oracle的高級復制功能為分支機構多、地理范圍廣的大型企事業(yè)單位的分布式數(shù)據(jù)庫系統(tǒng)提供了很好的各中心數(shù)據(jù)同步的實現(xiàn)方案。而隨著網(wǎng)絡技術的發(fā)展,這種應用也顯得越來越重要,變得越來越復雜。為充分利用數(shù)據(jù)復制來提高數(shù)據(jù)的可用性和系統(tǒng)的性能,在進行復制之前應作出詳細的需求分析才能取得更好的應用效果。

【編輯推薦】

  1. Oracle數(shù)據(jù)庫的大恢復(誤操作而引起)
  2. 實現(xiàn)Oracle 客戶端配置的具體步驟
  3. Oracle sqlplus命令的詳細解析
  4. Oracle跟蹤事件的包括那些?
  5. Oracle SQL條件順序對性能有什么樣的影響?
責任編輯:彭凡 來源: 福建交通職業(yè)技術學院
相關推薦

2023-07-19 08:22:01

分布式系統(tǒng)數(shù)據(jù)

2023-10-26 18:10:43

分布式并行技術系統(tǒng)

2019-08-22 14:30:21

技術Redis設計

2019-10-10 09:16:34

Zookeeper架構分布式

2024-01-08 08:05:08

分開部署數(shù)據(jù)體系系統(tǒng)拆分

2018-12-14 10:06:22

緩存分布式系統(tǒng)

2023-05-12 08:23:03

分布式系統(tǒng)網(wǎng)絡

2021-08-04 20:37:29

分布式系統(tǒng)同步

2024-01-09 08:00:58

2023-02-11 00:04:17

分布式系統(tǒng)安全

2023-05-29 14:07:00

Zuul網(wǎng)關系統(tǒng)

2025-06-30 07:15:32

.NET應用分布式

2013-01-09 09:41:26

視頻會議統(tǒng)一通信

2022-08-29 08:40:00

數(shù)據(jù)模型

2024-01-10 08:02:03

分布式技術令牌,

2017-10-27 08:40:44

分布式存儲剪枝系統(tǒng)

2020-10-30 07:47:42

分布式

2022-10-24 09:56:09

seleniumGrid分布式

2012-02-23 09:59:05

Hadoop分布式應用

2019-07-17 22:23:01

分布式系統(tǒng)負載均衡架構
點贊
收藏

51CTO技術棧公眾號