版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Oracle體系結(jié)構(gòu)組件
目標(biāo)
完成這一課的學(xué)習(xí)后,您應(yīng)該能達(dá)到下列目標(biāo):
概括
Oracle體系結(jié)構(gòu)及其主要組件
列出在用戶連接到
Oracle例程過(guò)程中涉及的結(jié)構(gòu)
Oracle數(shù)據(jù)庫(kù)中常用的術(shù)語(yǔ)進(jìn)程(process):一段在內(nèi)存中正在運(yùn)行的程序。后臺(tái)進(jìn)程(backgroundprocess):進(jìn)程的一種,在內(nèi)存中運(yùn)行時(shí),不占顯示,而且它的優(yōu)先級(jí)比前臺(tái)進(jìn)程低??梢灾挥幸粋€(gè)前臺(tái)進(jìn)程,但可以有多個(gè)后臺(tái)進(jìn)程。緩沖區(qū)(buffer):一段用來(lái)臨時(shí)存儲(chǔ)數(shù)據(jù)的內(nèi)存區(qū)。主機(jī)(host):計(jì)算機(jī)系統(tǒng)的另一個(gè)稱呼。服務(wù)器(server):一臺(tái)在網(wǎng)絡(luò)中向其他計(jì)算機(jī)系統(tǒng)提供一項(xiàng)或多項(xiàng)服務(wù)的主機(jī)。客戶機(jī)(client):一臺(tái)使用由服務(wù)器(server)提供服務(wù)的計(jì)算機(jī)系統(tǒng)??诹钗募?/p>
基本組件概覽
例程
SGA重做日志
緩沖區(qū)
共享池
數(shù)據(jù)字典
高速緩存庫(kù)高速緩存
DBWRSMONPMONCKPTLGWR其它
用戶進(jìn)程
服務(wù)器進(jìn)程
PGA控制文件
數(shù)據(jù)文件
數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)緩沖區(qū)
高速緩存
重做日志文件
Java池
大型共享池
參數(shù)文件
歸檔日志文件
Oracle服務(wù)器
Oracle服務(wù)器:
是一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng),它為
信息管理提供了開放、綜合和
集成的方法
包括
Oracle例程和
Oracle
數(shù)據(jù)庫(kù)
Oracle服務(wù)器
Oracle例程
Oracle例程:是一種訪問(wèn)
Oracle數(shù)據(jù)庫(kù)的方式
始終打開一個(gè),并且只打開一個(gè)數(shù)據(jù)庫(kù)
由內(nèi)存結(jié)構(gòu)和后臺(tái)進(jìn)程結(jié)構(gòu)組成
后臺(tái)進(jìn)程結(jié)構(gòu)
內(nèi)存結(jié)構(gòu)
例程
SGA重做日志緩沖區(qū)
共享池
數(shù)據(jù)字典高速緩存庫(kù)高速緩存DBWRSMONPMONCKPTLGWR其它數(shù)據(jù)庫(kù)緩沖區(qū)高速緩存
Java
池
大型共享池
建立連接和創(chuàng)建會(huì)話
連接到
Oracle例程包括:
建立用戶連接
創(chuàng)建會(huì)話
創(chuàng)建的會(huì)話數(shù)據(jù)庫(kù)用戶
用戶進(jìn)程
服務(wù)器進(jìn)程
建立的連接
Oracle服務(wù)器
Oracle數(shù)據(jù)庫(kù)
Oracle數(shù)據(jù)庫(kù):
是一個(gè)被統(tǒng)一處理的數(shù)據(jù)集合
包括三類文件
口令文件
參數(shù)文件
歸檔的日志文件
控制
文件
數(shù)據(jù)
文件
重做
日志
文件
Oracle數(shù)據(jù)庫(kù)
物理結(jié)構(gòu)
物理結(jié)構(gòu)包括以下三種文件類型:
控制文件
數(shù)據(jù)文件
重做日志文件
控制文件數(shù)據(jù)文件(包括數(shù)據(jù)字典)
標(biāo)頭
聯(lián)機(jī)重做
日志文件
內(nèi)存結(jié)構(gòu)
Oracle的內(nèi)存結(jié)構(gòu)由兩個(gè)內(nèi)存區(qū)組成,分別是:
系統(tǒng)全局區(qū)(SGA):在例程啟動(dòng)時(shí)分配,是
Oracle
例程的基本組件
程序全局區(qū)(PGA):在服務(wù)器進(jìn)程啟動(dòng)時(shí)分配
系統(tǒng)全局區(qū)
SGA包括以下幾種內(nèi)存結(jié)構(gòu):共享池?cái)?shù)據(jù)庫(kù)緩沖區(qū)高速緩存重做日志緩沖區(qū)其它結(jié)構(gòu)(例如鎖定和栓鎖管理以及統(tǒng)計(jì)數(shù)據(jù))
在
SGA中還可配置其它兩種內(nèi)存結(jié)構(gòu):
大型共享池
Java池系統(tǒng)全局區(qū)
SGA是動(dòng)態(tài)的
大小由
SGA_MAX_SIZE
參數(shù)指定
由
SGA組件以粒組為單位進(jìn)行分配和跟蹤
連續(xù)的虛擬內(nèi)存分配
粒組大小由估算的
SGA_MAX_SIZE
總計(jì)大小確定
Oracle執(zhí)行SQL查詢語(yǔ)句的步驟如果用戶在SQL*Plus下輸入了如下的查詢語(yǔ)句:Select*fromstudent;那么,Oracle又是如何來(lái)處理這個(gè)語(yǔ)句的呢?Oracle執(zhí)行SQL查詢語(yǔ)句的步驟編譯(parse)執(zhí)行(execute)提取數(shù)據(jù)(fetch)Oracle執(zhí)行SQL查詢語(yǔ)句的步驟
編譯:在進(jìn)行編譯時(shí),服務(wù)器進(jìn)程會(huì)將SQL語(yǔ)句的正文放入共享池(sharedpool)的庫(kù)高速緩存(librarycache)中并將完成以下處理:首先在共享池中搜索是否有相同的SQL語(yǔ)句(正文),如果沒有就進(jìn)行后續(xù)的處理。檢查該SQL語(yǔ)句的語(yǔ)法是否正確。通過(guò)查看數(shù)據(jù)字典來(lái)檢查表和列的定義。對(duì)所操作的對(duì)象加編譯鎖以便在編譯語(yǔ)句期間這些對(duì)象的定義不能被改變。檢查所引用對(duì)象的用戶權(quán)限。生成該SQL語(yǔ)句所需的優(yōu)化的執(zhí)行計(jì)劃(執(zhí)行步驟)。將SQL語(yǔ)句和執(zhí)行計(jì)劃裝入共享的SQL區(qū)。Oracle執(zhí)行SQL查詢語(yǔ)句的步驟執(zhí)行:Oracle服務(wù)器進(jìn)程開始執(zhí)行SQL語(yǔ)句是因?yàn)樗勋@得了執(zhí)行SQL語(yǔ)句所需的全部資源和信息。提取數(shù)據(jù):Oracle服務(wù)器進(jìn)程選擇所需的數(shù)據(jù)行,并在需要時(shí)將其排序,最后將結(jié)果返回給用戶(進(jìn)程)。共享池
用于存儲(chǔ):
最近執(zhí)行的
SQL語(yǔ)句
最近使用的數(shù)據(jù)定義它包括以下兩個(gè)與性能相關(guān)的關(guān)鍵內(nèi)存結(jié)構(gòu):庫(kù)高速緩存數(shù)據(jù)字典高速緩存其大小由
SHARED_POOL_SIZE
參數(shù)確定共享池?cái)?shù)據(jù)字典高速緩存庫(kù)高速緩存ALTERSYSTEMSETSHARED_POOL_SIZE=64M;庫(kù)高速緩存
存儲(chǔ)有關(guān)最近使用的
SQL和
PL/SQL語(yǔ)句的信息
啟用常用語(yǔ)句共享由
“最近最少使用算法”
(LRU)管理
包括以下兩個(gè)結(jié)構(gòu):共享的
SQL區(qū)共享的
PL/SQL區(qū)大小由共享池的大小確定
數(shù)據(jù)字典高速緩存
數(shù)據(jù)庫(kù)中最近使用的定義的集合
包括與數(shù)據(jù)庫(kù)文件、表、索引、列、用戶、權(quán)限和其它數(shù)據(jù)庫(kù)對(duì)象相關(guān)的信息
在語(yǔ)法分析階段,服務(wù)器進(jìn)程會(huì)在數(shù)據(jù)字典中查找用于解析對(duì)象名和驗(yàn)證訪問(wèn)的信息
將數(shù)據(jù)字典信息高速緩存到內(nèi)存中,可縮短查詢和
DML
的響應(yīng)時(shí)間
大小由共享池的大小決定
數(shù)據(jù)庫(kù)緩沖區(qū)高速緩存
存儲(chǔ)已從數(shù)據(jù)文件中檢索到的數(shù)據(jù)塊的副本
能夠大幅提高獲取和更新數(shù)據(jù)時(shí)的性能
通過(guò)
LRU算法管理
主塊的大小由
DB_BLOCK_SIZE
確定
數(shù)據(jù)庫(kù)緩沖區(qū)
高速緩存
數(shù)據(jù)庫(kù)緩沖區(qū)高速緩存由獨(dú)立的子高速緩存組成:
DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZE大小可以進(jìn)行動(dòng)態(tài)調(diào)整
設(shè)置
DB_CACHE_ADVICE
可收集用于預(yù)測(cè)不同
高速緩存大小行為的統(tǒng)計(jì)信息
統(tǒng)計(jì)信息由
V$DB_CACHE_ADVICE
顯示
ALTERSYSTEMSETDB_CACHE_SIZE=96M;重做日志緩沖區(qū)
記錄對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)塊所做的全部更改
主要用于恢復(fù)
其中記錄的更改稱作重做條目
重做條目包含用于重新構(gòu)造或重做更改的信息
大小由
LOG_BUFFER
定義
重做日志
緩沖區(qū)
Oracle執(zhí)行update語(yǔ)句的步驟如果數(shù)據(jù)和回滾數(shù)據(jù)不在數(shù)據(jù)庫(kù)高速緩沖區(qū)中,Oracle服務(wù)器進(jìn)程將把它們從數(shù)據(jù)文件中讀到數(shù)據(jù)庫(kù)高速緩沖區(qū)中。Oracle服務(wù)器進(jìn)程在要修改的數(shù)據(jù)行上加鎖(行一級(jí)的鎖)Oracle服務(wù)器進(jìn)程將數(shù)據(jù)的變化信息和回滾所需的信息都記錄在重做日志緩沖區(qū)中。Oracle服務(wù)器進(jìn)程將回滾所需的原始值和對(duì)數(shù)據(jù)所做的修改都寫入數(shù)據(jù)庫(kù)高速緩沖區(qū)。之后再數(shù)據(jù)庫(kù)高速緩沖區(qū)中所有的這些數(shù)據(jù)塊都將被標(biāo)為臟緩沖區(qū),因?yàn)榇藭r(shí)內(nèi)外存的數(shù)據(jù)是不相同的(不一致的)。Oracle處理insert和delete語(yǔ)句的步驟與處理update語(yǔ)句大體相同。大型共享池
SGA中的可選內(nèi)存區(qū)
分擔(dān)了共享池的一部分工作
用于:
共享服務(wù)器的會(huì)話內(nèi)存
(UGA)I/O服務(wù)器進(jìn)程
備份和恢復(fù)操作或
RMAN并行執(zhí)行消息緩沖區(qū)
將
PARALLEL_AUTOMATIC_TUNING
設(shè)置為
TRUE不使用
LRU列表
大小由
LARGE_POOL_SIZE
確定
Java池
存儲(chǔ)
Java命令的服務(wù)分析要求
在安裝并使用
Java時(shí)是必需的
大小由
JAVA_POOL_SIZE
參數(shù)確定
程序全局區(qū)
為連接到
Oracle數(shù)據(jù)庫(kù)的每個(gè)用戶進(jìn)程保留的內(nèi)存
在創(chuàng)建進(jìn)程時(shí)分配在終止進(jìn)程時(shí)回收僅供一個(gè)進(jìn)程使用服務(wù)器進(jìn)程
PGA用戶進(jìn)程
進(jìn)程結(jié)構(gòu)
Oracle利用了以下幾種進(jìn)程的優(yōu)勢(shì):
用戶進(jìn)程:在數(shù)據(jù)庫(kù)用戶請(qǐng)求連接到
Oracle服務(wù)器時(shí)
啟動(dòng)服務(wù)器進(jìn)程:與
Oracle例程相連接,在用戶建立會(huì)話
時(shí)啟動(dòng)后臺(tái)進(jìn)程:在
Oracle例程啟動(dòng)時(shí)啟動(dòng)
用戶進(jìn)程
請(qǐng)求與
Oracle服務(wù)器交互的程序必須先建立連接不與
Oracle服務(wù)器直接交互
數(shù)據(jù)庫(kù)用戶服務(wù)器進(jìn)程
用戶進(jìn)程建立的連接服務(wù)器進(jìn)程直接與
Oracle服務(wù)器交互的程序執(zhí)行生成的調(diào)用并返回相關(guān)結(jié)果可以是專用服務(wù)器或共享服務(wù)器
建立的連接
創(chuàng)建的會(huì)話數(shù)據(jù)庫(kù)用戶用戶進(jìn)程服務(wù)器進(jìn)程Oracle服務(wù)器
后臺(tái)進(jìn)程維護(hù)并加強(qiáng)物理結(jié)構(gòu)與內(nèi)存結(jié)構(gòu)之間的關(guān)系
必備的后臺(tái)進(jìn)程:
DBWR PMON CKPTLGWR SMON 可選的后臺(tái)進(jìn)程:
ARCn LMDn RECOCJQ0 LMON SnnnDnnn PnnnLCKn QMNn數(shù)據(jù)庫(kù)寫入程序
(DBWn)在以下情況下寫入:出現(xiàn)檢查點(diǎn)灰數(shù)據(jù)緩沖區(qū)達(dá)到閾值沒有空閑緩沖區(qū)出現(xiàn)超時(shí)執(zhí)行了
RACping請(qǐng)求表空間處于
OFFLINE
狀態(tài)表空間處于
READONLY
狀態(tài)對(duì)表執(zhí)行
DROP
或
TRUNCATE
操作對(duì)表空間執(zhí)行
BEGINBACKUP
操作例程
SGA控制
文件數(shù)據(jù)
文件重做
日志
文件數(shù)據(jù)庫(kù)DBWn數(shù)據(jù)庫(kù)
緩沖區(qū)
高速緩存日志寫入器
(LGWR)LGWR在以下情況下寫入:提交時(shí)三分之一填滿時(shí)有1MB的重做時(shí)每隔三秒DBWn寫入前例程SGA控制
文件數(shù)據(jù)
文件
重做
日志
文件數(shù)據(jù)庫(kù)重做日志
緩沖區(qū)
DBWnLGWROracle快速提交技術(shù)當(dāng)在SQL*Plus中發(fā)了commit語(yǔ)句之后,Oracle的內(nèi)部操作步驟如下:服務(wù)器進(jìn)程將把提交的記錄連同所產(chǎn)生的SCN(systemchangenumber)一起寫入重做日志緩沖區(qū)中。重做日志寫進(jìn)程(LGWR)將把重做日志緩沖區(qū)中一直到所提交的記錄(包括該記錄)的所有記錄連續(xù)地寫到重做日志文件中。Oracle通知用戶(進(jìn)程)提交已經(jīng)完成。服務(wù)器進(jìn)程將修改數(shù)據(jù)庫(kù)高速緩沖區(qū)中的相關(guān)數(shù)據(jù)的狀態(tài)并釋放資源和打開鎖等。系統(tǒng)監(jiān)控程序
(SMON)職責(zé):例程恢復(fù)前滾重做日志中的更改打開數(shù)據(jù)庫(kù)供用戶訪問(wèn)回退未提交的事務(wù)處理合并空閑空間回收臨時(shí)段控制
文件數(shù)據(jù)
文件
重做
日志
文件數(shù)據(jù)庫(kù)例程
SGASMON過(guò)程監(jiān)視器
(PMON)進(jìn)程失敗后,通過(guò)以下方法進(jìn)行清理:
回退事務(wù)處理釋放鎖釋放其它資源重新啟動(dòng)已失效的調(diào)度
程序
PGA區(qū)
例程SGAPMON檢查點(diǎn)
(CKPT)職責(zé)包括:在檢查點(diǎn)發(fā)信號(hào)給
DBWn使用檢查點(diǎn)信息更新數(shù)據(jù)文件的標(biāo)頭使用檢查點(diǎn)信息更新控制文件控制
文件數(shù)據(jù)
文件重做
日志
文件數(shù)據(jù)庫(kù)例程SGADBWnLGWRCKPT歸檔程序
(ARCn)可選的后臺(tái)進(jìn)程設(shè)置
ARCHIVELOG
模式時(shí)自動(dòng)歸檔聯(lián)機(jī)重做日志保留數(shù)據(jù)庫(kù)的全部更改記錄
ARCn歸檔的
重做日
志文件控制
文件數(shù)據(jù)
文件重做
日志
文件邏輯結(jié)構(gòu)指示數(shù)據(jù)庫(kù)物理空間的使用情況層次結(jié)構(gòu)由表空間、段、區(qū)和塊組成
表空間數(shù)據(jù)文件段塊區(qū)段處理
SQL語(yǔ)句
通過(guò)以下進(jìn)程連接到一個(gè)例程:
用戶進(jìn)程服務(wù)器進(jìn)程所用的
Oracle服務(wù)器組件取決于
SQL語(yǔ)句的類型:
查詢語(yǔ)句返回行DML語(yǔ)句記錄更改提交操作確
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 船山期末考試數(shù)學(xué)試卷
- 2024版月嫂合同協(xié)議書范本大全
- 天津財(cái)經(jīng)大學(xué)第二批招考聘用博士教師高頻重點(diǎn)提升(共500題)附帶答案詳解
- 天津市東麗區(qū)軍糧城醫(yī)院招考聘用衛(wèi)生專業(yè)技術(shù)人員高頻重點(diǎn)提升(共500題)附帶答案詳解
- 國(guó)航股份重慶分公司2025年校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 國(guó)網(wǎng)物資限公司2025年招聘高校畢業(yè)生歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 國(guó)網(wǎng)吉林省電力限公司2025年高校畢業(yè)生招聘(第二批)高頻重點(diǎn)提升(共500題)附帶答案詳解
- 國(guó)家統(tǒng)計(jì)局華寧調(diào)查隊(duì)(云南省)招考1名公益性崗位人員高頻重點(diǎn)提升(共500題)附帶答案詳解
- 二零二五年度施工預(yù)算合同:水磨地板施工成本估算與資金預(yù)算
- 國(guó)家大劇院度公開招考專業(yè)技術(shù)及一般管理人員高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024-2025學(xué)年北師版八年級(jí)物理上冊(cè)期末考試綜合測(cè)試卷
- 醫(yī)療器械風(fēng)險(xiǎn)管理計(jì)劃
- 北京保險(xiǎn)中介行業(yè)營(yíng)銷員增員及流動(dòng)自律公約
- 柴油發(fā)電機(jī)施工方案33709
- 外來(lái)施工單位人員報(bào)備登記表完整
- 100以內(nèi)加減法混合[列豎式運(yùn)算練習(xí)]
- 深圳市建設(shè)工程施工圍擋圖集(試行版_下半部分).pdf
- 全國(guó)城市雕塑行業(yè)設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)
- 質(zhì)量管理組織機(jī)構(gòu)及職責(zé)
- 園區(qū)保安隊(duì)長(zhǎng)的工作職責(zé)
- 寧波市彩葉樹種園林應(yīng)用調(diào)查研究
評(píng)論
0/150
提交評(píng)論