• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Oracle數(shù)據(jù)庫高級復(fù)制技術(shù)的應(yīng)用

      2013-04-29 16:05:47李麗
      科技創(chuàng)新與應(yīng)用 2013年6期
      關(guān)鍵詞:Oracle數(shù)據(jù)庫應(yīng)用

      摘 要:在簡要說明數(shù)據(jù)庫復(fù)制技術(shù)的基礎(chǔ)上,主要探討了oracle數(shù)據(jù)庫高級復(fù)制的幾種方法,介紹了多主復(fù)制和可更新快照復(fù)制兩種機制的設(shè)計步驟,并將實際應(yīng)用中可能出現(xiàn)的問題進行列舉,最后給出一個可更新快照復(fù)制實例。

      關(guān)鍵詞:Oracle數(shù)據(jù)庫;高級復(fù)制;應(yīng)用

      一些大的信息系統(tǒng)往往由多地的不同用戶同時使用,由相距較遠的多個站點構(gòu)成的廣域網(wǎng),并且各個站點之間需要數(shù)據(jù)共享,通常將這些共享的數(shù)據(jù)存儲在其中一個站點上,作為數(shù)據(jù)中心,所有用戶都從該站點存取數(shù)據(jù)。這種方案很容易就能保證數(shù)據(jù)一致性,但會造成數(shù)據(jù)中心的負載過大,使遠程用戶的數(shù)據(jù)響應(yīng)很慢,甚至造成系統(tǒng)癱瘓。數(shù)據(jù)復(fù)制技術(shù)可以有效地解決這個問題,它通過將這些共享數(shù)據(jù)復(fù)制到多個不同站點的數(shù)據(jù)庫中,實現(xiàn)數(shù)據(jù)的本地訪問,減少網(wǎng)絡(luò)負荷,并提高數(shù)據(jù)訪問的性能,而且通過數(shù)據(jù)同步,確保數(shù)據(jù)實時性和一致性[1]。該技術(shù)適用于用戶數(shù)較多、地理分布較廣、而且需要實時地訪問相同數(shù)據(jù)的應(yīng)用模式。

      Oracle數(shù)據(jù)庫的復(fù)制是由數(shù)據(jù)庫的后臺進程自動實現(xiàn)的,通過設(shè)置數(shù)據(jù)庫參數(shù),確定后臺負責復(fù)制任務(wù)的進程數(shù)和被激活的時間。數(shù)據(jù)庫的后臺進程是由系統(tǒng)按設(shè)定的時間間隔執(zhí)行預(yù)定的操作,以實現(xiàn)數(shù)據(jù)定期地從源數(shù)據(jù)庫到目標數(shù)據(jù)庫的傳輸,并由系統(tǒng)進行控制。Oracle數(shù)據(jù)庫復(fù)制支持基本復(fù)制和高級復(fù)制兩種形式,這里主要講述Oracle高級復(fù)制技術(shù)在應(yīng)用時的設(shè)計,以及可能遇到的問題和解決辦法。

      1 基本概念

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

      2 高級復(fù)制設(shè)計步驟

      2.1 多主復(fù)制

      (1)創(chuàng)建復(fù)制環(huán)境,明確高級復(fù)制的站點和參與復(fù)制的數(shù)據(jù)表;保證各站點具有復(fù)制關(guān)系的表結(jié)構(gòu)的一致性;(2)使用數(shù)據(jù)庫復(fù)制管理器,定義參加復(fù)制的站點,在復(fù)制的各站點,建立包含復(fù)制實體的用戶和復(fù)制的數(shù)據(jù)庫鏈路,建立復(fù)制的管理用戶,配置數(shù)據(jù)更新的計劃;(3)建立主復(fù)制組,不同的需參與復(fù)制的實體可加入不同的組中;(4)給用戶分配適合的權(quán)限,防止由于用戶權(quán)限過大而造成的復(fù)制沖突。

      2.2 可更新快照復(fù)制

      (1)創(chuàng)建復(fù)制環(huán)境,明確高級復(fù)制的站點、參與復(fù)制的數(shù)據(jù)表和可更新快照復(fù)制的站點;保證各站點具有復(fù)制關(guān)系的表結(jié)構(gòu)的一致性;(2)在復(fù)制的各站點建立快照管理用戶,建立包含可更新快照實體的用戶和復(fù)制的數(shù)據(jù)庫鏈路,配置數(shù)據(jù)更新的時間和間隔;(3)在主站點建立快照日志;(4)在復(fù)制點建立必要的更新組;(5)建立快照組,快照組可包含表、存儲過程、包、函數(shù)、同義詞、視圖等實體;(6)給用戶分配適合的權(quán)限,防止由于用戶權(quán)限過大而造成的復(fù)制沖突。[3]

      3 需要注意事項

      3.1 確保網(wǎng)絡(luò)連接的穩(wěn)定。如果服務(wù)器網(wǎng)絡(luò)連接中斷,則造成數(shù)據(jù)無法訪問和傳輸;網(wǎng)絡(luò)不穩(wěn)定,會導(dǎo)致數(shù)據(jù)傳輸過程中出現(xiàn)丟包現(xiàn)象,影響數(shù)據(jù)的完整性。

      3.2 要有較高的網(wǎng)絡(luò)傳輸速度。各個站點之間要進行大量的、頻繁的數(shù)據(jù)傳輸,速度過慢的話將影響其訪問速度。

      3.3 服務(wù)器應(yīng)保持開機狀態(tài)或定時開機。否則會造成大量的延遲任務(wù),無法進行數(shù)據(jù)發(fā)布。

      3.4 不能在參與復(fù)制的表上面直接執(zhí)行DDL語句。因為ORACLE自動在參與復(fù)制的表上建立了支持復(fù)制的TRIGGER和PACKAGE,在其上面直接執(zhí)行任何DDL語句都會破壞這些復(fù)制支持。應(yīng)該先SUSPEND要修改表所在的復(fù)制組,在REPICATION MANAGER中或調(diào)用REPCAT API執(zhí)行DDL語句,然后重新GENERATE該表的復(fù)制支持,最后將復(fù)制組狀態(tài)恢復(fù)為NORMAL。注意一定要在修改表結(jié)構(gòu)的DDL語句中的表名前帶上屬主,并且最后不加分號。若直接執(zhí)行了DDL語句,應(yīng)先將該表移出復(fù)制環(huán)境刪掉,再重新建立或復(fù)制表。

      3.5 如需要在表中增加字段并設(shè)置默認值時,在9i之前的版本中要分成兩部分執(zhí)行,不能一次執(zhí)行。例

      ALTER TABLE owner.table_name ADD field_name

      ALTER TABLE owner.table_name MODIFY field_name DEFAULT 'abc'

      因為在高級復(fù)制環(huán)境中,執(zhí)行任何DDL語句,都需要SUSPEND復(fù)制組,此時復(fù)制表只能查詢,不能再執(zhí)行DML語句。如何在一個SQL語句中執(zhí)行添加字段同時賦缺省值,則添加字段后插入缺省值的DML操作不會執(zhí)行,并且報錯。分成兩步操作能解決該問題。

      3.6 執(zhí)行任何對復(fù)制環(huán)境的管理命令前,都要保證此時沒有堆積的DEFERRED TRANS。

      3.7 ADMIN REQUEST(對復(fù)制環(huán)境的管理命令)須一步一步執(zhí)行。用一個REPCATLOG表保存ADMIN REQUEST語句,從第一條到最后一條順序執(zhí)行,只有執(zhí)行完上一條后才能執(zhí)行下一條。每次發(fā)出ADMIN REQUEST后,都要檢查REPCATLOG表是否為空,只有當所有的REPCATLOG表都為空后,才能將復(fù)制組設(shè)置為NORMAL,發(fā)出下一條命令。

      3.8 如果REPCATLOG表中有無法執(zhí)行的命令,可以APPLY或PURGE掉,再重新執(zhí)行命令。若只是其中一個節(jié)點上有遺留命令,則可在該節(jié)點上多執(zhí)行幾次APPLY。

      3.9 當出現(xiàn)死鎖現(xiàn)象時,可以先嘗試中斷掉該ADMIN REQUEST對應(yīng)的任務(wù),重新刷新命令,若能繼續(xù)執(zhí)行,則恢復(fù)任務(wù),否則從V$SESSION 和V$LOCK中查出死鎖進程,用ALTER SYSTEM KILL SESSION 將其殺掉。如果無法殺掉,則需查出類型為'RQ'的分布式死鎖,根據(jù)SID查出對應(yīng)的后臺進程,從操作系統(tǒng)中殺掉后臺進程,最后再恢復(fù)任務(wù)和相關(guān)復(fù)制環(huán)境的狀態(tài)。

      4 實際應(yīng)用

      某地下水監(jiān)測系統(tǒng)由省級主站、市級分站和縣級分站組成,數(shù)據(jù)存儲采取省級數(shù)據(jù)中心和市級數(shù)據(jù)中心分布式存儲,均采用Oracle數(shù)據(jù)庫,以確保全省數(shù)據(jù)儲存的快速、穩(wěn)定、安全。各市分站只為本市所轄縣級分站提供存儲服務(wù),并將所有測報數(shù)據(jù)傳送匯總到省級主站數(shù)據(jù)中心,同時其為各市級分站數(shù)據(jù)實現(xiàn)異地備份,提供跨地市數(shù)據(jù)查詢,當各地市分站數(shù)據(jù)出現(xiàn)故障時,可從省級主站讀取數(shù)據(jù),恢復(fù)數(shù)據(jù)。

      整個數(shù)據(jù)同步機制主要采用Oracle復(fù)制技術(shù)的可更新快照機制。整個分布式數(shù)據(jù)庫系統(tǒng)采用的是“一主多從”的結(jié)構(gòu)(如圖1),設(shè)置省級主站的數(shù)據(jù)庫系統(tǒng)為主數(shù)據(jù)庫,各市分站的數(shù)據(jù)庫系統(tǒng)為從數(shù)據(jù)庫。使用Oracle系統(tǒng)中的增量復(fù)制技術(shù),定時或手動進行主數(shù)據(jù)庫與從數(shù)據(jù)庫的數(shù)據(jù)更新。從數(shù)據(jù)庫復(fù)制到主數(shù)據(jù)庫的是全部數(shù)據(jù),只要從數(shù)據(jù)庫中的數(shù)據(jù)有變化,就會反映到主數(shù)據(jù)庫中;主數(shù)據(jù)庫復(fù)制到從數(shù)據(jù)庫的是與本市分站相關(guān)的測報數(shù)據(jù)。

      5 結(jié)束語

      分布式數(shù)據(jù)庫系統(tǒng)適應(yīng)于地理上分散而管理上又有不同程度集中的大型信息系統(tǒng)的需求,Oracle高級復(fù)制機制提供了高可靠性、高可用性以及改善了系統(tǒng)的性能,同時也提供了很好的各數(shù)據(jù)中心數(shù)據(jù)同步實現(xiàn)方案。在具體應(yīng)用中,也還有許多比較復(fù)雜的問題需要解決,需要逐步探索、深入研究。

      參考文獻

      [1]鄭振楣,于戈,郭敏.分布式數(shù)據(jù)庫[M].北京:科學(xué)出版社,1998

      [2]丁鋮.Oracle8/8I數(shù)據(jù)庫系統(tǒng)原理[M].北京:人民郵電出版社,2001

      [3]胡桂香.數(shù)據(jù)庫復(fù)制的設(shè)計和管理[J].電子工程師,2002,(5)

      作者簡介:李麗(1981-),女,漢族,河南新鄉(xiāng)人,焦作師范高等專科學(xué)校教師,本科學(xué)士學(xué)位,研究生學(xué)歷,研究方向:計算機應(yīng)用。

      猜你喜歡
      Oracle數(shù)據(jù)庫應(yīng)用
      Oracle數(shù)據(jù)庫安全管理策略的優(yōu)化
      Oracle數(shù)據(jù)庫應(yīng)用問題與解決方案分析
      Oracle數(shù)據(jù)庫安全問題分析及策略
      Oracle數(shù)據(jù)庫的存儲結(jié)構(gòu)
      一種Oracle數(shù)據(jù)庫表空間監(jiān)控方法
      《Oracle數(shù)據(jù)庫》課程教學(xué)模式探究 
      多媒體技術(shù)在小學(xué)語文教學(xué)中的應(yīng)用研究
      考試周刊(2016年76期)2016-10-09 08:45:44
      分析膜技術(shù)及其在電廠水處理中的應(yīng)用
      科技視界(2016年20期)2016-09-29 14:22:00
      GM(1,1)白化微分優(yōu)化方程預(yù)測模型建模過程應(yīng)用分析
      科技視界(2016年20期)2016-09-29 12:03:12
      煤礦井下坑道鉆機人機工程學(xué)應(yīng)用分析
      科技視界(2016年20期)2016-09-29 11:47:01
      大宁县| 嘉义市| 萍乡市| 潮安县| 金塔县| 常宁市| 宁国市| 江北区| 扎赉特旗| 南岸区| 河北区| 神池县| 平和县| 景宁| 勃利县| 巴里| 虎林市| 扬州市| 涞源县| 双鸭山市| 永丰县| 牡丹江市| 渝中区| 汽车| 衢州市| 嵩明县| 巴青县| 德阳市| 顺平县| 睢宁县| 兴国县| 沽源县| 晋江市| 嘉定区| 原阳县| 博罗县| 成武县| 阿城市| 宝丰县| 泗水县| 甘谷县|