oca認(rèn)證考試指南全冊(cè)
IT業(yè)對(duì)專家的要求很高,職業(yè)競(jìng)爭(zhēng)壓力很大。無(wú)論是新進(jìn)入這個(gè)行業(yè)的人,還是此行業(yè)中的老手,都需要知道他們的那些技術(shù)背景能真正吸引到雇主的眼光。下面是小編整理的關(guān)于oca認(rèn)證考試指南全冊(cè),歡迎大家參考!
1.4 實(shí)例內(nèi)存結(jié)構(gòu)
Oracle實(shí)例由稱為系統(tǒng)全局區(qū)(SGA)的共享內(nèi)存塊以及大量的后臺(tái)進(jìn)程構(gòu)成,SGA至少包含三種數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)庫(kù)緩存區(qū)緩存
日志緩沖區(qū)
共享池
還可能包含
大池
Java池
流池
用戶會(huì)話還需要服務(wù)器端的內(nèi)存。此內(nèi)存不共享,也稱為程序全局區(qū)域或PGA,每個(gè)會(huì)話都有自己專用的PGA。
1.4.1 數(shù)據(jù)庫(kù)緩沖區(qū)緩存
數(shù)據(jù)庫(kù)緩沖區(qū)緩存是Oracle用來(lái)執(zhí)行SQL的工作區(qū)域
在更新數(shù)據(jù)時(shí),用戶的會(huì)話不直接更新磁盤(pán)上的數(shù)據(jù)。包含關(guān)鍵數(shù)據(jù)的數(shù)據(jù)塊首先復(fù)制到數(shù)據(jù)庫(kù)緩沖區(qū)緩存。更改(如插入新行、刪除或修改現(xiàn)有行)應(yīng)用于數(shù)據(jù)緩沖區(qū)緩存中這些數(shù)據(jù)塊副本。此后,塊將在緩存中保留一段時(shí)間,直至其占有的緩沖區(qū)需要緩存另一塊為止。
在查詢數(shù)據(jù)時(shí),數(shù)據(jù)也要經(jīng)過(guò)緩存。會(huì)話計(jì)算出哪些塊包含關(guān)鍵的行,并將它們復(fù)制到數(shù)據(jù)庫(kù)緩沖區(qū)緩存(如果那里還未存在)。此后,相關(guān)行傳輸?shù)綍?huì)話的PGA作進(jìn)一步處理。此后塊會(huì)在數(shù)據(jù)庫(kù)緩沖區(qū)緩存中保留一段時(shí)間。
數(shù)據(jù)文件的格式被設(shè)置為固定大小的塊。表行和其他數(shù)據(jù)對(duì)象(如索引鍵),存儲(chǔ)在這些塊中。數(shù)據(jù)庫(kù)緩沖區(qū)緩存的格式被設(shè)置為內(nèi)存緩沖區(qū),每個(gè)可以容納一個(gè)塊,與塊不同,行的長(zhǎng)度是變化的,行的長(zhǎng)度取決于為表定義的列的.數(shù)量(不管列是否真的包含內(nèi)容,也不考慮包含什么內(nèi)容)。根據(jù)塊的大小(由DBA選擇)和行的大小(取決于表設(shè)計(jì)和使用)。每個(gè)塊中可能有多個(gè)行,也可能有一個(gè)行延伸到多個(gè)塊中。
理想狀況下,包含頻繁訪問(wèn)的數(shù)據(jù)的所有塊將位于數(shù)據(jù)庫(kù)緩沖區(qū)緩存中,從而最大程度地減少磁盤(pán)I/O的需要。
select customer_id,customer_name from customers;
update customers set customer_name='Sid' where customer_id=100;
commit
為了執(zhí)行用戶進(jìn)程提交的SELECT語(yǔ)句,會(huì)話的服務(wù)器進(jìn)程將掃描緩沖區(qū)緩存中包含相關(guān)行的數(shù)據(jù)塊。如果找到了,就會(huì)發(fā)生一次緩沖區(qū)緩存命中。在本例中,假定緩沖區(qū)緩存未命中,服務(wù)器進(jìn)程在將結(jié)果發(fā)送給用戶進(jìn)程(格式化數(shù)據(jù)后顯示給銷售代表)之前,會(huì)將包含相關(guān)行的數(shù)據(jù)從數(shù)據(jù)文件讀入緩沖區(qū)。
然后,用戶進(jìn)程將UPDATE和COMMIT語(yǔ)句提交給服務(wù)器進(jìn)程執(zhí)行。在執(zhí)行UPDATE語(yǔ)句時(shí),如果包含行的塊在緩存中仍然可用,那么在緩沖區(qū)緩存中獎(jiǎng)更新行。在本例中,緩沖區(qū)緩存命中率為50%:對(duì)緩存中的塊有兩次訪問(wèn),但只有一次從磁盤(pán)讀取塊。如果數(shù)據(jù)庫(kù)緩沖區(qū)緩存調(diào)整得當(dāng),緩存命中率將在90%以上。
注意,緩沖區(qū)的更新頻率(或COMMIT的數(shù)量)與何時(shí)寫(xiě)回?cái)?shù)據(jù)文件沒(méi)有任何關(guān)系。對(duì)數(shù)據(jù)文件執(zhí)行寫(xiě)操作由數(shù)據(jù)庫(kù)寫(xiě)入器后臺(tái)進(jìn)程完成。
數(shù)據(jù)庫(kù)緩沖區(qū)緩存的大小會(huì)對(duì)性能產(chǎn)生至關(guān)重要的影響。
數(shù)據(jù)庫(kù)緩沖區(qū)緩存在實(shí)例啟動(dòng)時(shí)分配,從9i開(kāi)始,可以隨時(shí)將其調(diào)大或調(diào)小?梢圆捎檬謩(dòng)方式重調(diào),也可以根據(jù)工作負(fù)荷(從10g版本開(kāi)始)自動(dòng)重調(diào)大小(如果啟用了自動(dòng)化機(jī)制)
【oca認(rèn)證考試指南全冊(cè)】相關(guān)文章: