国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Oracle數(shù)據(jù)庫高可用性研究與分析

2018-09-13 05:43袁勇池興穎孫小林
無線互聯(lián)科技 2018年10期

袁勇 池興穎 孫小林

摘要:文章從數(shù)據(jù)庫高可用的角度出發(fā),首先,對高可用的概念及原理進行說明;其次,以O(shè)racle數(shù)據(jù)庫為研究對象,分別對Oracle數(shù)據(jù)庫高可用的幾種實現(xiàn)方法進行原理性的說明,并對實現(xiàn)方法從目的、實現(xiàn)方式、跨平臺性等方面進行比較,以供數(shù)據(jù)庫管理人員參考。

關(guān)鍵詞:Oracle;高可用;數(shù)據(jù)庫

信息技術(shù)的飛速發(fā)展,使得應(yīng)用系統(tǒng)也相應(yīng)增加,而應(yīng)用系統(tǒng)只是外殼,關(guān)鍵還得依賴后端的數(shù)據(jù)庫系統(tǒng)。因此,數(shù)據(jù)庫系統(tǒng)的穩(wěn)定性、高可用性給用戶帶來的體驗也就更加明顯。本文先對高可用性的原理進行了介紹,然后針對Oracle數(shù)據(jù)庫高可用的實現(xiàn)方式進行詳細介紹,并對幾種高可用方式從多角度進行比較分析,以供相關(guān)技術(shù)人員參考。

1 高可用性原理

高可用是一種系統(tǒng),經(jīng)過專門的設(shè)計,能夠減少系統(tǒng)停機的時間,保證其服務(wù)的高度可用性;同時,可以盡可能縮短因日常維護、突發(fā)情況所導致的停機時間。一般來說,實現(xiàn)高可用主要通過以下3種方式[1]。

1.1 雙機熱備方式

工作原理:其中一臺主機處于工作狀態(tài),備用機則處于監(jiān)控準備狀態(tài)。當工作主機發(fā)生宕機時,備用機完成工作接管,等待主機維護修復并恢復正常后,根據(jù)使用者設(shè)定的切換方式將服務(wù)又切到主機上,而數(shù)據(jù)的完整性、一致性等則通過共享存儲的方式來解決。但是,備用機多數(shù)時間處于不工作狀態(tài),存在資源浪費的現(xiàn)象。

1.2 雙機雙工方式

工作原理:兩臺主機同時并行地運行各自的服務(wù),并且互相對對方的運行情況隨時進行監(jiān)測。當其中的一臺主機發(fā)生故障時,另一臺主機隨即接管故障機上的服務(wù)工作,保證工作質(zhì)量,這就要求兩臺主機本身要有一定的性能冗余,保證在另一臺主機發(fā)生故障時,能夠承擔起兩臺機器的作業(yè),應(yīng)用系統(tǒng)的數(shù)據(jù)則都存放在共享存儲中。

1.3 集群系統(tǒng)方式

工作原理:集群系統(tǒng)中多臺主機并行工作,當集群中某個主機發(fā)生故障時,則系統(tǒng)中其他主機接管該主機上的作業(yè)。待故障機恢復正常后,集群系統(tǒng)又會給它分配新的工作任務(wù)。

2 Oracle高可用的幾種實現(xiàn)方式及對比分析

2.1 Oracle RAC 方式

Oracle RAC,即Oracle真正應(yīng)用集群。Oracle RAC源于其早期版本的OPS,到9i時更名為實時應(yīng)用集群(RealApplication Clusters,RAC),是Oracle公司實現(xiàn)高可用和負載均衡的核心技術(shù)。RAC系統(tǒng)一般是由兩臺或更多的具有相同結(jié)構(gòu)的計算機和共享存儲組成,它可以支持7X24小時在線的應(yīng)用系統(tǒng),并能提供強大的數(shù)據(jù)處理、高可用的訪問能力。Oracle還內(nèi)置了存儲管理軟件和集群軟件,這樣就降低了成本。到最新的Oracle 12C中,更是引入了可插拔數(shù)據(jù)庫等新特性,更好地保障了高可用性和性能擴展。

在具體實施過程中,可以使用兩臺服務(wù)器或者多臺服務(wù)器,以及存儲陣列來構(gòu)建RAC平臺,從而保障應(yīng)用集群系統(tǒng)的高可用性[2]。

2.2 Oracle DataGuard方式

DataGuard是通過建立一個Primary和Standby組來確立其參照關(guān)系。Standby—旦創(chuàng)建,DataGuard就會通過將主數(shù)據(jù)庫的redo日志傳遞給Standby數(shù)據(jù)庫,然后在Standby中應(yīng)用日志信息實現(xiàn)數(shù)據(jù)庫的同步。

Standby有分兩種實現(xiàn)方式:物理Standby和邏輯Standby。物理Standby提供與主數(shù)據(jù)庫完全一樣的拷貝,數(shù)據(jù)庫SCHEMA,包括索引都是一樣的。它是直接應(yīng)用redo日志實現(xiàn)同步的。在邏輯Standby中,邏輯信息是相同的,但物理組織、數(shù)據(jù)結(jié)構(gòu)可以不相同,它跟主庫保持同步的方法是將接收的REDO轉(zhuǎn)換成對應(yīng)的SQL語句,之后在Standby上執(zhí)行SQL語句[3]。

2.3 Oracle MAA方式

Oracle的MAA并不是一套全新的技術(shù),它是將以前分散的技術(shù)打包成一個整體,是RAC與DataGuard的融合。MAA的組建包括了以下內(nèi)容:RMAN,ASM,Oracle Stream,Oracle DataGuard,Oracle RAC,Oracle Flashback[4]。

(l)RMAN:Oracle的備份恢復工具。(2)ASM:AutoStorage Management,自動存儲管理技術(shù),此功能提供了卷管理,集群文件特征,能夠在軟件層面提供數(shù)據(jù)冗余能力,避免單點故障。(3)Oracle Stream:Stream也是從Oracle 10之后開始擁有的新特征,這種技術(shù)同Data guard—樣,都是建立在對聯(lián)機日志、歸檔日志的提取和應(yīng)用的基礎(chǔ)上。(4)Oracle DataGuard:這個技術(shù)也是利用了聯(lián)機日志和歸檔日志的傳遞應(yīng)用來實現(xiàn)數(shù)據(jù)的完全冗余,從性價比來說,是最經(jīng)濟的高可用方案。(5)RAC:Real Application Cluster,真正實用集群技術(shù),RAC不能解決存儲的單點故障,一般情況下實施RAC需要和其他高可用技術(shù)一同使用。(6)OracleFlashback:閃回技術(shù),把數(shù)據(jù)庫回滾到之前的某個狀態(tài)。

2.4 Oracle Streams方式

Stream是Oracle高級隊列(Oracle Advanced Queue,OAQ)技術(shù)的擴展應(yīng)用,其原理就是不斷地收集事件,并把收集的事件保存到隊列中,按隊列順序發(fā)布給相應(yīng)的訂閱者。從DBA管理的角度來說,就是對數(shù)據(jù)庫Redo日志進行捕獲,之后把捕捉到的Redo日志通過網(wǎng)絡(luò)傳播到相應(yīng)的數(shù)據(jù)庫,而收到日志的數(shù)據(jù)庫通過應(yīng)用日志,進而達到復制變化的作用。

在Stream環(huán)境中,進行數(shù)據(jù)復制的起點數(shù)據(jù)庫,我們稱為源數(shù)據(jù)庫;復制到的終點數(shù)據(jù)庫則叫作目標數(shù)據(jù)庫。在源和目標數(shù)據(jù)庫上都要創(chuàng)建隊列,發(fā)送隊列建在源數(shù)據(jù)庫上,接收隊創(chuàng)建在目標數(shù)據(jù)庫上,對數(shù)據(jù)庫的一切操作均被記錄在日志信息當中。完成Stream環(huán)境搭建,在源數(shù)據(jù)庫上會產(chǎn)

生一個捕獲進程,該進程利用Logminer技術(shù)從日志中提取相應(yīng)的DDL,DML語句,這些語句叫作邏輯變更記錄,一個邏輯變更記錄對應(yīng)著一個行變更。這些變更記錄被系統(tǒng)保存到源數(shù)據(jù)庫的發(fā)送隊列中,然后通過傳播進程把這些記錄完整地發(fā)送到目標數(shù)據(jù)庫隊列當中。目標數(shù)據(jù)庫通過一個專門的應(yīng)用進程,從隊列中取出邏輯變更記錄的數(shù)據(jù),在本地數(shù)據(jù)庫中應(yīng)用,從而實現(xiàn)數(shù)據(jù)的同步。

2.5 對比分析

針對Oracle數(shù)據(jù)庫實現(xiàn)高可用的幾種方式,從主要目的、同步方向、數(shù)據(jù)粒度以及異庫同步等角度,對其進行對比,具體如表1所示。

3 結(jié)語

本文首先對高可用的原理進行簡要介紹,實現(xiàn)高可用的方式通常是主從、雙工以及集群模式。然后,針對Oracle數(shù)據(jù)庫實現(xiàn)高可用的幾種方式進行原理性的介紹,從RAC,DataGuard再到它們的完美結(jié)合MAA,以及Streams復制方式,并對RAC,DataGuard,Streams復制從主要目的、同步方向、讀寫方式、異構(gòu)平臺支持情況等方面進行對比,以供Oracle數(shù)據(jù)庫系統(tǒng)相關(guān)從業(yè)技術(shù)人員在進行高可用平臺搭建時參考。

[參考文獻]

[1]賽義德,塔里克,瑞亞吉,等.深入理解Oracle RAC 12C[M].趙燚,梁濤,程飛,等,譯北京:電子工業(yè)出版社,2014.

[2]袁勇,袁光靈,孫小林.Oracle RAC集群性能優(yōu)化策略分析[J].無線互聯(lián)科技,2017(22): 108-109.

[3]劉炳林.構(gòu)建最高可用Oracle數(shù)據(jù)庫系統(tǒng)Oracle llgR2 RAC管理、維護與性能優(yōu)化[M].北京:機械工業(yè)出版社,2012.

[4]高斌.Oracle RAC核心技術(shù)詳解[M].北京:機械工業(yè)出版社,2015.

河南省| 永胜县| 莱芜市| 廉江市| 巴南区| 安远县| 泗阳县| 布尔津县| 扶沟县| 静宁县| 滦平县| 吉水县| 湘西| 横峰县| 荣昌县| 罗平县| 美姑县| 泸水县| 东乡族自治县| 义乌市| 福鼎市| 阳新县| 阿城市| 株洲市| 万载县| 盐池县| 岑溪市| 宜昌市| 怀安县| 金乡县| 霍林郭勒市| 麻阳| 依兰县| 正阳县| 时尚| 临颍县| 陕西省| 津南区| 房产| 大港区| 米脂县|