Oracle RAC培訓學(xué)習心得
我們在一些事情上受到啟發(fā)后,寫(xiě)一篇心得體會(huì ),記錄下來(lái),這樣能夠培養人思考的習慣。一起來(lái)學(xué)習心得體會(huì )是如何寫(xiě)的吧,以下是小編精心整理的Oracle RAC培訓學(xué)習心得,歡迎大家分享。
上周參加了OracleRAC培訓課程,課程介紹了RAC在數據庫中的概念,以及如何在LINUX系統下配置和管理使用RAC的數據庫,同時(shí)還介紹了如何在RAC環(huán)境中配置和使用自動(dòng)存儲管理(ASM),節點(diǎn)的添加和刪除,RAC數據庫的備份和恢復。
OracleRAC是Oracle數據庫實(shí)現高可用的一項重要技術(shù),OracleRAC的實(shí)施配置并不困難,只要按照文檔一步步操作下去就可以了。然而,我認為Oracle培訓更大的意義在于對RAC技術(shù)原理、實(shí)現方式在理論上的講解。對于一項技術(shù)的深入掌握,理論和實(shí)踐缺一不可。理論指導實(shí)踐,尤其在進(jìn)行故障診斷的時(shí)候,理論知識的掌握就會(huì )起到巨大的作用,另一方面,實(shí)踐能更好地幫助理論的理解,進(jìn)而完全的掌握這項技術(shù)。Oracle和其他技術(shù)的學(xué)習都應該是一個(gè)由實(shí)踐到理論,再由理論回到實(shí)踐的不斷交替的過(guò)程。
OracleRAC的優(yōu)勢在于利用多個(gè)節點(diǎn)(實(shí)例)組成一個(gè)數據庫,這樣在保證了數據庫高可用性的情況下更充分的利用了多個(gè)主機的性能,而且可以通過(guò)增加節點(diǎn)進(jìn)行性能的擴展。實(shí)現OracleRAC需要解決的關(guān)鍵問(wèn)題就是多節點(diǎn)進(jìn)行數據訪(fǎng)問(wèn)時(shí)如何保證數據的一致性,Oracle是通過(guò)各節點(diǎn)間的私有連接進(jìn)行內存融合(cachefusion)來(lái)保證各節點(diǎn)數據訪(fǎng)問(wèn)的一致性。用一個(gè)例子來(lái)解釋一下內存融合的過(guò)程,在存在A(yíng)、B兩個(gè)節點(diǎn)的RAC環(huán)境中,當A節點(diǎn)使用DML語(yǔ)句(如Update)對一個(gè)數據塊中的數據進(jìn)行修改時(shí),A節點(diǎn)實(shí)例會(huì )到GRD(GlobalResourceDirectory)中查找該數據塊的信息,這些信息包括該數據塊的Master(第一次讀這個(gè)數據塊的節點(diǎn)),Owner(當前擁有這個(gè)數據塊的節點(diǎn)),以及數據塊在各個(gè)節點(diǎn)間的傳遞記錄。A節點(diǎn)如果發(fā)現GRD中沒(méi)有需要讀取的數據塊的信息,說(shuō)明該數據塊是一個(gè)干凈的數據塊,A節點(diǎn)從磁盤(pán)或BufferCache中獲得該數據塊,然后對需要修改的行加鎖,進(jìn)行相應的修改,當然SCN會(huì )隨之增加。在A(yíng)完成修改而沒(méi)有提交或回滾的情況下,如果B節點(diǎn)也需要訪(fǎng)問(wèn)這個(gè)數據塊修改某些行(假設不同于A(yíng)修改的行),B同樣去到GRD中查找該數據塊的信息,當然B發(fā)現該數據塊的Master為A,Owner也為A,為了保證A的修改不丟失,B需要發(fā)信息給A,讓A將需要修改的數據塊通過(guò)私有連接直接從內存中傳給B,當然該數據塊中包含A的鎖信息,這樣A節點(diǎn)與B節點(diǎn)間的一次內存的數據傳遞就是內存融合。OracleRAC的內存融合也面臨一些問(wèn)題,繼續剛剛的例子,如果A又再次請求對該數據塊修改或者結束事務(wù)(提交或回滾)的時(shí)候,又需要從B節點(diǎn)內存中取得數據塊,又要發(fā)生內存融合,這樣在兩個(gè)節點(diǎn)業(yè)務(wù)沒(méi)有合理分割的情況下,數據庫繁忙時(shí),大量的內存融合會(huì )對數據庫性能造成嚴重的影響。通過(guò)對OracleRAC技術(shù)的理解,在實(shí)現OracleRAC架構時(shí)的業(yè)務(wù)分割就成為了保證系統性能的重要手段,業(yè)務(wù)分割的根本在于使不同的實(shí)例不能訪(fǎng)問(wèn)相同的數據塊,這樣業(yè)務(wù)分割規則可以小到表的'級別(通常不同的表共享一個(gè)數據塊的幾率不大),大到表空間、Schema的級別。這些理論知識的理解對于OracleRAC架構的實(shí)施有著(zhù)巨大的指導意義。另外,我對在OracleRAC培訓中講到的一個(gè)擴展的RAC磁盤(pán)鏡像架構印象很深,傳統的OracleRAC架構中,存儲仍然是一個(gè)單點(diǎn)故障,在這個(gè)擴展的RAC磁盤(pán)鏡像架構中,解決了傳統架構中的存儲單點(diǎn)故障風(fēng)險,該架構如下圖:
該架構中分為A、B兩個(gè)Site,兩個(gè)Site可以存在數公里的距離,整體上兩個(gè)Site的4個(gè)節點(diǎn)共同構成一個(gè)RAC集群,兩個(gè)Site間通過(guò)DarkFiber(暗光纖)作為私有連接鏈路,保證各個(gè)節點(diǎn)間的內存融合的進(jìn)行,每個(gè)節點(diǎn)的寫(xiě)操作都能同時(shí)無(wú)延遲的寫(xiě)到2個(gè)存儲上,兩個(gè)存儲的同步寫(xiě)可以通過(guò)第三方軟件或ASM實(shí)現。不過(guò)其中很大的成本在于兩個(gè)Site間的DarkFiber(暗光纖)架設成本。
在講解這部分內容時(shí),關(guān)于這個(gè)架構是一個(gè)RAC還是兩個(gè)RAC實(shí)現的,我們有過(guò)一些爭論,我認為是一個(gè)RAC實(shí)現的,而另外一名學(xué)員和講師說(shuō)是兩個(gè)RAC實(shí)現,最后針對這個(gè)問(wèn)題,請教了一位更資深的Oracle講師,這位Oracle講師通過(guò)對RAC原理的分析,如果認為是兩個(gè)RAC實(shí)現的話(huà),兩個(gè)Site無(wú)法進(jìn)行內存融合,就沒(méi)有辦法保證Oracle數據庫的數據一致性,因此采用兩個(gè)RAC是無(wú)法實(shí)現這個(gè)架構的。這樣大家都認同了這個(gè)架構是一個(gè)RAC實(shí)現的,可見(jiàn)理論知識的理解對解決問(wèn)題的幫助還是很大的。
【Oracle RAC培訓學(xué)習心得】相關(guān)文章:
培訓學(xué)習心得05-26
培訓學(xué)習心得06-27
Oracle索引的學(xué)習總結11-26
團隊培訓學(xué)習心得06-14
遠程培訓學(xué)習心得05-26
教育培訓學(xué)習心得06-15
暑期培訓的學(xué)習心得06-17
財政培訓學(xué)習心得06-14
企業(yè)培訓學(xué)習心得04-28