ORACLE單實例體系結構_第1頁
ORACLE單實例體系結構_第2頁
ORACLE單實例體系結構_第3頁
ORACLE單實例體系結構_第4頁
ORACLE單實例體系結構_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、ORACLE單實例體系結構SQL語句的執(zhí)行過程理解ORACLE工作原理1查詢語句執(zhí)行過程圖例如: SELECT EMPNO,ENAME FROM SCOTT.EMP; DB SERVER客戶端LISTENERServer ProcessPGApgapgapgaSGAShare poolDictionary cachelibrary cacheBUFFER CACHEDBWRdata filepgapgapgaOracle net創(chuàng)建服務器進程2查詢語句執(zhí)行過程描述(1)客戶端訪問Oracle Server 的LISTENER服務,監(jiān)聽服務對客戶端進行認證。(2)認證通過后,監(jiān)聽進程會為客戶端進

2、程創(chuàng)建一個Server 進程用于處理客戶端請求。(3)Server進程對SQL語進行語法檢查,并通過訪問SGA內(nèi)存區(qū)中的share spool區(qū)域的dictionary cache進行權限檢查與語義檢查。(4)檢查通過后,需要檢查該SQL語句的執(zhí)行計劃是否在Library cahce中,如果存在,則直接拿來用,即軟解析;若不存在,則要在share pool中申請空間生成執(zhí)行計劃。(5)執(zhí)行計劃生成后,通過執(zhí)行計劃在buffer cache中獲取相關的數(shù)據(jù)塊,若數(shù)據(jù)塊已緩存在buffer cache中并且可用,則直接從緩存中取,若緩存中無該塊,則會觸發(fā)DBWR進程進行數(shù)據(jù)塊讀取。(6)serve

3、r 進程從buffer cache中獲取數(shù)據(jù)塊后,讀取數(shù)據(jù)塊中數(shù)據(jù)并進行進一步處理,然后將結果集返回client 。3DML語句執(zhí)行過程圖例如: update SCOTT.EMP set sal=sal+1000; DB SERVER客戶端LISTENERServer ProcessPGApgapgapgapgapgapgaSGAShare poolDictionary cachelibrary cacheBUFFER CACHEDBWRdata filePara fileControl fileach filelog fileLog bufferLGWRARCHCKPTOracle net4

4、DML語句執(zhí)行過程描述(1)客戶端訪問Oracle Server 的LISTENER服務,監(jiān)聽服務對客戶端進行認證。(2)認證通過后,監(jiān)聽進程會為客戶端進程創(chuàng)建一個Server 進程用于處理客戶端請求,客戶端斷開與監(jiān)聽進程的連接,直接與剛創(chuàng)建的服務器進行進行連接。(3)Server進程對SQL語進行語法檢查,并通過訪問SGA內(nèi)存區(qū)中的share spool區(qū)域的dictionary cache進行權限檢查與語義檢查。(4)檢查通過后,需要檢查該SQL語句的執(zhí)行計劃是否在Library cahce中,如果存在,則直接拿來用即軟解析;若不存在,則要在share pool中申請空間生成執(zhí)行計劃,即硬

5、解析。 5DML語句執(zhí)行過程描述(5)Server進程寫該語句的回滾塊日志信息至Log buffer中。 Server進程生成該語句的回滾塊信息至buffer cache中。 Server進程生成該語句的數(shù)據(jù)塊日志條目信息并寫入Log buffer中。 Server進程在buffer cache中對滿足條件的數(shù)據(jù)進行修改,若塊不在緩存中,則通過DBWR進程讀入后進行修改。(6)CKPT進程(檢查點進程)按照各種算法定時將buffer cache中的臟塊寫入數(shù)據(jù)文件中。(7)server 進程收到LGWR和DBWR進程反饋的消息后,將操作結果通知client 。6ORACLE多實例體系結構7OR

6、ACLE RAC 工作原理圖8ORACLE RAC 工作原理描述(1)ORACLE RAC 是為了解決單實例硬件資源有限不能滿足多用戶訪問而引入的技術,該技術提供實例級的容災,同時提供了負載均衡的功功能。集群中某一節(jié)點不可用時,另一節(jié)點可正常對外提供服務。(2)集群中所有實例共享相同的數(shù)據(jù)文件和控制文件。 集群中每一節(jié)點都有自己的SGA及后臺進程。 集群中每一節(jié)點都有自己的redo logs 及undo 表空間。(3)對于開發(fā)人員來說集群數(shù)據(jù)庫只是多個一些GV$開頭的性能視圖,這一類動態(tài)視圖可查詢整個集群中所有節(jié)點的情況。9ORACLE RAC 工作原理描述(4)ORACLE RAC每個節(jié)點有

7、三類IP地址:PUBLIC,PRIVATE,VIP PRIVATE IP:私有IP,用于心跳同步。 PUBLIC IP:公用IP,管理員或運維人員使用,保證可連接準確連接至到集群中某節(jié)點。 VIP:虛擬IP,用戶客戶端應用,支持失效轉移,或負載均衡。(5)Oracle RAC數(shù)據(jù)庫中所有數(shù)據(jù)庫緩存作為一個共享的數(shù)據(jù)庫緩存,并被RAC中的所有節(jié)點共享,這一技術稱為緩存融合技術(cache fusion)。 10Cache Fusion原理11Cache Fusion相關進程介紹(1)每個節(jié)點都運行一個數(shù)據(jù)庫實例。(2)每個實例包含一組Oracle進程和用于緩存的系統(tǒng)全局區(qū)(SGA)。(3)除了這

8、些集群中的每個節(jié)點都還運行著一組特殊的進程: 全局緩存服務進程(Global Cache Service ,GCS)負責協(xié)調(diào)不同實例間對數(shù)據(jù)塊的訪問。 全局隊列服務進程(Global Enqueue Service,GES)負責維護字典緩存和庫緩存內(nèi)的一致性(4)通過Global Resource Directory(GRD)來維護和記錄每個數(shù)據(jù)塊的狀態(tài),使其在群集中的各個節(jié)點之間同步和串行處理對數(shù)據(jù)的訪問。12ORACLE RAC存在問題(1)當數(shù)據(jù)庫中數(shù)據(jù)文件或、日志文件、控制文件損壞時,只能通過恢復來修復數(shù)據(jù)庫,恢復時間長短取決于備份策略。不能滿足實時性要求,為此ORACLE公司又研發(fā)了DATAGUARD技術 ,分為物理和邏輯備庫,其中物理備庫用于數(shù)據(jù)庫級的容災,邏輯備庫常用于查詢統(tǒng)計或是實時性要求不高的業(yè)務應用。(2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論