09-10-2 03講補充 Oracle體系結構_第1頁
09-10-2 03講補充 Oracle體系結構_第2頁
09-10-2 03講補充 Oracle體系結構_第3頁
09-10-2 03講補充 Oracle體系結構_第4頁
09-10-2 03講補充 Oracle體系結構_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2.1 物理存儲結構2.2 邏輯存儲結構2.3 內(nèi)存結構2.4 數(shù)據(jù)庫實例與進程2.5 數(shù)據(jù)字典第二章 Oracle 10g 數(shù)據(jù)庫結構2.4 數(shù)據(jù)庫實例與進程2.4.1 Oracle數(shù)據(jù)庫實例2.4.2 進程主要內(nèi)容Oracle實例Oracle內(nèi)存結構Oracle后臺進程實例概述 數(shù)據(jù)庫實例(instance)也稱作服務器(server),是指用來訪問數(shù)據(jù)庫文件集的存儲結構(統(tǒng)稱為System Global Area,即SGA)及后臺進程的集合。實例與數(shù)據(jù)庫之間的關系如圖所示。 一個數(shù)據(jù)庫可以被多個實例訪問。 2.1.3實例圖2.4 實例與數(shù)據(jù)庫之間的關系(并行數(shù)據(jù)庫) 處理數(shù)據(jù)的內(nèi)存結構實

2、 例 后 臺 進 程 客戶應用程序 服務器進程 數(shù)據(jù)庫實例概述Oracle數(shù)據(jù)庫服務器由數(shù)據(jù)庫和實例組成數(shù)據(jù)庫與實例的關系數(shù)據(jù)庫是Oracle用于保存數(shù)據(jù)的一系列物理結構和邏輯結構用戶直接與實例交互,由實例訪問數(shù)據(jù)庫。每個數(shù)據(jù)庫至少有一個與之對應的實例一個數(shù)據(jù)庫可以由多個實例訪問實例概述實例SGA日志緩存共享池數(shù)據(jù)字典緩沖區(qū)庫緩沖區(qū)DBWRSMONPMONCKPTLGWROthers用戶進程服務器進程PGA控制文件數(shù)據(jù)文件 歸檔日志文件參數(shù)文件口令文件重做日志文件數(shù)據(jù)庫數(shù)據(jù)庫緩存實例概述 系統(tǒng)全局區(qū)(SGA,System Global Area.)是內(nèi)存結構的主要組成部分,是Oracle為一個

3、實例分配的一組共享內(nèi)存緩沖區(qū),保存著Oracle系統(tǒng)與所有數(shù)據(jù)庫用戶的共享信息,包括數(shù)據(jù)維護、SQL語句分析,重做日志管理等。是實例的主要部分。2.3.1 系統(tǒng)全局區(qū) 8.2Oracle內(nèi)存結構系統(tǒng)全局區(qū) SGASGA區(qū)是由Oracle分配的共享內(nèi)存結構,包含一個數(shù)據(jù)庫實例共享的數(shù)據(jù)和控制信息。當多個用戶同時連接同一個實例時,SGA區(qū)數(shù)據(jù)供多個用戶共享,所以SGA區(qū)又稱為共享全局區(qū)。 -查看VGA信息: showsga; select*fromv$sgastat;2.3.1 系統(tǒng)全局區(qū) 數(shù)據(jù)塊取緩沖區(qū)為SGA 的主要成員,用來存放讀取自數(shù)據(jù)文件的數(shù)據(jù)塊復本,或是使用者曾經(jīng)處理過的數(shù)據(jù)。數(shù)據(jù)塊緩

4、沖區(qū)又稱用戶數(shù)據(jù)高速緩沖區(qū),為所有與該實例相鏈接的用戶進程所共享。 采用最近最少使用算法(LRU)來管理可用空間。1SGA-數(shù)據(jù)塊緩沖區(qū)數(shù)據(jù)塊緩沖區(qū)的容量受物理容量限制。數(shù)據(jù)庫緩存的大小可以由服務器文件spfile.ora文件中的DB_BLOCK_BUFFERS參數(shù)指定,該參數(shù)可以直接以K字節(jié)或M字節(jié)為單位來設置數(shù)據(jù)庫緩存的大小。 1SGA-數(shù)據(jù)塊緩沖區(qū) 聯(lián)機重做日志文件用于記錄數(shù)據(jù)庫的更改,對數(shù)據(jù)庫進行修改的事務(Transaction)在記錄到重做日志之前都必須首先放到重做日志緩沖區(qū)(Redo Log Buffer)中。重做日志緩沖區(qū)是專為此開辟的一塊內(nèi)存區(qū)域,重做日志緩存中的內(nèi)容將被LG

5、WR后臺進程寫入重做日志文件。 2 SGA-重做日志緩沖區(qū) 字典緩沖區(qū)主要用于保存數(shù)據(jù)字典中的行。包括數(shù)據(jù)文件名,用戶帳號、表說明權限等。數(shù)據(jù)字典緩沖區(qū)也通過最近最少使用(LRU)算法來管理。大小由數(shù)據(jù)庫內(nèi)部管理。字典緩存區(qū)是SQL共享池的一部分,共享池的大?。ㄒ宰止?jié)為單位)由數(shù)據(jù)庫文件init.ora中的SHARED_POOL_SIZE參數(shù)來設置。3 SGA-字典緩沖區(qū) 共享SQL池(Shared SQL Pool)相當于程序高速緩沖區(qū),所有的用戶程序都存放在共享SQL池中。SQL共享池包括庫高速緩存(library cache)、數(shù)據(jù)字典高速緩存。庫高速緩存(library cache):

6、系統(tǒng)解析SQL命令,保存解析后的結果,以備用4 SGA- SQL共享池 共享池的大小取決于init.ora文件參數(shù)SHARED_POOL_SIZE,它是以字節(jié)為單位的。用戶必須將這個值設得足夠大,以確保有足夠的可用空間來裝載和存儲PL/SQL塊和SQL語句。4 SGA-共享SQL池 2.3.1 系統(tǒng)全局區(qū) 8.2.3PGA區(qū)功能PGA 是為每一個與Oracle數(shù)據(jù)庫連接的用戶保留的內(nèi)存區(qū),主要存儲該連接使用的變量信息和與用戶進程交換的信息。是非共享的,只有服務進程本身才能訪問它自己的PGA區(qū)在OEM中管理數(shù)據(jù)庫實例的內(nèi)存結構8.3Oracle后臺進程進程的概念進程是操作系統(tǒng)中一個獨立的可以調(diào)度

7、的活動,用于完成指定的任務。進程的類型用戶進程服務器進程后臺進程 用戶進程 當用戶連接數(shù)據(jù)庫執(zhí)行一個應用程序時,會創(chuàng)建一個用戶進程,來完成用戶所指定的任務。 用戶進程在用戶方工作,它向服務器進程請求信息. -sqlplus服務器進程 服務器進程由Oracle自身創(chuàng)建,用于處理連接到數(shù)據(jù)庫實例的用戶進程所提出的請求。用戶進程只有通過服務器進程才能實現(xiàn)對數(shù)據(jù)庫的訪問和操作。8.3Oracle進程后臺進程 為了保證Oracle數(shù)據(jù)庫在任意一個時刻可以處理多用戶的并發(fā)請求,進行復雜的數(shù)據(jù)操作,Oracle數(shù)據(jù)庫起用了一些相互獨立的附加進程,稱為后臺進程。服務器進程在執(zhí)行用戶進程請求時,調(diào)用后臺進程來實

8、現(xiàn)對數(shù)據(jù)庫的操作。8.3Oracle后臺進程 Oracle的后臺進程主要包括:(1)SMON系統(tǒng)監(jiān)控進程(system monitor)(2)PMON進程監(jiān)控進程(process monitor)(3)DBWR數(shù)據(jù)庫寫入進程(4)LGWR日志文件寫入進程(5)ARCH歸檔進程(archiver process)(6)RECO恢復進程(7)CKPT檢查點進程3后臺進程 系統(tǒng)監(jiān)視器 (SMON)系統(tǒng)監(jiān)視器(system monitor,SMON)的主要職責是重新啟動系統(tǒng)。在出現(xiàn)故障實例的情況下,SMON負責重新啟動系統(tǒng),執(zhí)行崩潰恢復。進程監(jiān)控器(PMON) 進程監(jiān)控器(process monito

9、r,PMON)。PMON的主要職責是監(jiān)控服務器進程和注冊數(shù)據(jù)庫服務。監(jiān)控服務器進程,當某個使用者處理程序異常終止時,釋放這些進程占用的資源,如清除數(shù)據(jù)塊緩沖區(qū)中不再使用的空間。使用Oracle監(jiān)聽器注冊數(shù)據(jù)庫服務。數(shù)據(jù)庫寫入進程 (DBWR)負責將數(shù)據(jù)塊緩沖區(qū)內(nèi)變動過的數(shù)據(jù)塊寫回磁盤內(nèi)的數(shù)據(jù)文件。DBWR可有多個.日志寫入進程(LGWR) 日志寫入器(log writer,LGWR)負責將重做日志緩沖區(qū)內(nèi)變動記錄循環(huán)寫回磁盤內(nèi)的重做日志文件,該進程會將所有數(shù)據(jù)從重做日志緩存中寫入到現(xiàn)行的在線重做日志文件中。日志寫入器會在下面4種不同情況下執(zhí)行寫入操作:事務處理進行提交;重做日志緩存已經(jīng)填充了1

10、/3;重做日志緩存中的數(shù)據(jù)量達到了1MB;每3秒的時間。歸檔器進程(ARCH)為什么引入歸檔器(archiver,ARCH) 雖然可以通過在線重做日志文件中的事務處理日志恢復實例故障,但是卻不能恢復介質(zhì)故障。在Archivelog模式運行時,數(shù)據(jù)庫在開始重做日志文件之前先對其進行備份.檢查點進程(CKPT) 在適當時候產(chǎn)生一個checkpoint事件,確保緩沖區(qū)內(nèi)經(jīng)常被變動的數(shù)據(jù)也要定期被寫入數(shù)據(jù)文件。在checkpoint之后,萬一需要恢復,不再需要寫檢查點之前的記錄。-縮短數(shù)據(jù)庫的重新激活時間.恢復進程(RECO) 在Oracle 10g分布式數(shù)據(jù)庫環(huán)境中,RECO處理程序會自動處理分布式

11、操作失敗時產(chǎn)生的問題。(多個數(shù)據(jù)庫同時進行數(shù)據(jù)處理動作) 圖2.6 后臺進程與數(shù)據(jù)庫外部結構、SGA的關系2.5 數(shù)據(jù)字典 2.5.1 數(shù)據(jù)字典的結構2.5.2 數(shù)據(jù)字典的用途數(shù)據(jù)字典是Oracle數(shù)據(jù)庫的核心組件,它是對用戶來說為只讀類型的表和視圖組成。在其中保存著關于數(shù)據(jù)庫系統(tǒng)本身以及其中存儲的所有對象的基本信息。 2.5 數(shù)據(jù)字典 數(shù)據(jù)庫對象所有的框架對象的定義(表、視圖、索引、同義詞、序列、過程、函數(shù)、包、觸發(fā)器等)為框架對象如何分配和使用空間列的默認值完整性約束信息數(shù)據(jù)庫安全信息,包括用戶、權限、角色等審計信息2.5 數(shù)據(jù)字典 一個數(shù)據(jù)字典包括基礎表,動態(tài)性能視圖及數(shù)據(jù)字典視圖。數(shù)據(jù)字典視圖又包含ALL視圖,USER視圖和DBA視圖。V$ 運行中動態(tài)改變的信息2.5.1 數(shù)據(jù)字典的結構 3ALL視圖包含了用戶查詢表時可以訪問的所有對象的信息。 4USER視圖前綴為USER,每個數(shù)據(jù)庫用戶都擁有一套屬于自

溫馨提示

  • 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

提交評論