Oracle體系結(jié)構(gòu)培訓(xùn)課件_第1頁(yè)
Oracle體系結(jié)構(gòu)培訓(xùn)課件_第2頁(yè)
Oracle體系結(jié)構(gòu)培訓(xùn)課件_第3頁(yè)
Oracle體系結(jié)構(gòu)培訓(xùn)課件_第4頁(yè)
Oracle體系結(jié)構(gòu)培訓(xùn)課件_第5頁(yè)
已閱讀5頁(yè),還剩71頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第3章Oracle體系結(jié)構(gòu)1數(shù)據(jù)庫(kù)和和實(shí)例Oracle數(shù)數(shù)據(jù)庫(kù)服服務(wù)器由由數(shù)據(jù)庫(kù)庫(kù)和實(shí)例例組成。。在Oracle中,數(shù)數(shù)據(jù)庫(kù)是是靜態(tài)的的,是以以文件的的形式存存在的,,是文件件的集合合。實(shí)例是有有關(guān)數(shù)據(jù)據(jù)庫(kù)管理理和控制制的一系系列進(jìn)程程,以及及他們共共享的系系統(tǒng)全局局區(qū)SGA2Oracle結(jié)結(jié)構(gòu)圖Oracle數(shù)數(shù)據(jù)庫(kù)服務(wù)器實(shí)例數(shù)據(jù)庫(kù)Oracle進(jìn)進(jìn)程SGA區(qū)區(qū)后臺(tái)進(jìn)程程物理存儲(chǔ)儲(chǔ)邏輯存儲(chǔ)儲(chǔ)數(shù)據(jù)文件件控制文件件日志文件件初始化文文件密碼文件件歸檔文件件表空間段區(qū)塊服務(wù)進(jìn)程程3訪問(wèn)Oracle數(shù)據(jù)據(jù)庫(kù)當(dāng)客戶應(yīng)應(yīng)用或工工程程序序要訪問(wèn)問(wèn)Oracle數(shù)據(jù)庫(kù)庫(kù)時(shí),必必須首先先連接到到OracleServer,然然后才能能訪問(wèn)數(shù)數(shù)據(jù)庫(kù)數(shù)數(shù)據(jù)。當(dāng)在Sql*Plus中鍵入入用戶名名、口令令和網(wǎng)絡(luò)絡(luò)連接串串之后,,就可以以連接到到OracleServer了,,此時(shí)會(huì)會(huì)在客戶戶端啟動(dòng)動(dòng)對(duì)應(yīng)于于Sql*Plus應(yīng)應(yīng)用進(jìn)程程,該進(jìn)進(jìn)程稱為為“用戶進(jìn)程程”,同時(shí)在在服務(wù)器器端OracleServer會(huì)會(huì)自動(dòng)為為該用戶戶進(jìn)程派派生一個(gè)個(gè)新的進(jìn)進(jìn)程,該該進(jìn)程為為服務(wù)器器進(jìn)程。。4當(dāng)客戶端端運(yùn)行SQL語(yǔ)語(yǔ)句時(shí),,用戶進(jìn)進(jìn)程會(huì)通通過(guò)網(wǎng)絡(luò)絡(luò)將該SQL語(yǔ)語(yǔ)句發(fā)送送到對(duì)應(yīng)應(yīng)的服務(wù)務(wù)器進(jìn)程程,并且且由服務(wù)務(wù)器進(jìn)程程執(zhí)行該該SQL語(yǔ)句,,服務(wù)器器進(jìn)程在在執(zhí)行了了SQL語(yǔ)句之之后,會(huì)會(huì)將SQL語(yǔ)句句的結(jié)果果通過(guò)網(wǎng)網(wǎng)絡(luò)發(fā)送送到用戶戶進(jìn)程。??蛻舳说牡乃蠸QL操操作都是是由服務(wù)務(wù)器進(jìn)程程來(lái)執(zhí)行行的。后臺(tái)進(jìn)程5數(shù)據(jù)庫(kù)操操作模式式專用服務(wù)務(wù)器為每個(gè)連連接到實(shí)實(shí)例的用用戶進(jìn)程程啟動(dòng)一一個(gè)專門門的服務(wù)務(wù)進(jìn)程。。共享服務(wù)務(wù)器當(dāng)用戶程程序向系系統(tǒng)發(fā)出出請(qǐng)求時(shí)時(shí),監(jiān)聽(tīng)聽(tīng)器分配配一個(gè)負(fù)負(fù)荷最輕輕的調(diào)度度進(jìn)程來(lái)來(lái)處理用用戶請(qǐng)求求。6Oracle結(jié)結(jié)構(gòu)圖Oracle數(shù)數(shù)據(jù)庫(kù)服務(wù)器實(shí)例數(shù)據(jù)庫(kù)Oracle進(jìn)進(jìn)程SGA區(qū)區(qū)后臺(tái)進(jìn)程程服務(wù)進(jìn)程程物理存儲(chǔ)儲(chǔ)邏輯存儲(chǔ)儲(chǔ)數(shù)據(jù)文件件控制文件件日志文件件初始化文文件密碼文件件歸檔文件件表空間段區(qū)塊7請(qǐng)大家看看一下書書上§2.2Oracle內(nèi)存結(jié)結(jié)構(gòu)8Oracle內(nèi)內(nèi)存結(jié)構(gòu)構(gòu)內(nèi)存是Oracle重重要的信信息緩存存和共享享區(qū)域,,主要存存儲(chǔ)執(zhí)行行的程序序代碼、、連接的的會(huì)話信信息以及及程序執(zhí)執(zhí)行期間間所需數(shù)數(shù)據(jù)和共共享的信信息等。。Oracle使使用的主主要內(nèi)存存結(jié)構(gòu)包包括系統(tǒng)統(tǒng)全局區(qū)區(qū)SGA和程序序全局區(qū)區(qū)PGA。9SGA區(qū)區(qū)10數(shù)據(jù)高速速緩存保存最近近從數(shù)據(jù)據(jù)文件中中讀取的的數(shù)據(jù)塊塊。分為為臟緩存存塊、空空閑緩存存塊和命命中緩存存塊三類類。臟緩沖塊塊:當(dāng)執(zhí)執(zhí)行INSERT、UPDATE以以及DELETE操作作時(shí),服服務(wù)器進(jìn)進(jìn)程修改改數(shù)據(jù)高高速緩存存的相應(yīng)應(yīng)數(shù)據(jù),,此時(shí)緩緩沖區(qū)的的內(nèi)容與與數(shù)據(jù)文文件中的的內(nèi)容不不一致。。11當(dāng)用戶第第一次提提出數(shù)據(jù)據(jù)查詢請(qǐng)請(qǐng)求時(shí),,Oracle會(huì)首先先在數(shù)據(jù)據(jù)高速緩緩存中尋尋找該數(shù)數(shù)據(jù)。如如找到,,系統(tǒng)就就直接對(duì)對(duì)它們進(jìn)進(jìn)行處理理。如找不到到,系統(tǒng)統(tǒng)首先在在數(shù)據(jù)高高速緩存存中查找找空閑數(shù)數(shù)據(jù)塊,,然后將將數(shù)據(jù)庫(kù)庫(kù)文件中中的數(shù)據(jù)據(jù)讀入空空閑塊處處理,如如搜索了了一定的的數(shù)據(jù)塊塊后仍找找不到空空閑塊,,由后臺(tái)臺(tái)進(jìn)程DBWR將內(nèi)存存中部分分修改過(guò)過(guò)的數(shù)據(jù)據(jù)寫入文文件,以以騰出空空間。數(shù)據(jù)高速速緩存12重做日志志緩沖區(qū)區(qū)重做日志志緩沖區(qū)區(qū)用于緩緩存數(shù)據(jù)據(jù)庫(kù)重做做日志記記錄,以以便數(shù)據(jù)據(jù)庫(kù)損毀毀時(shí)可以以進(jìn)行必必要的恢恢復(fù)。重做日志志緩存是是一個(gè)循循環(huán)緩存存區(qū),在在使用時(shí)時(shí)從頂端端向低端端寫入數(shù)數(shù)據(jù),然然后再返返回到緩緩沖區(qū)的的起點(diǎn)循循環(huán)寫入入。13共享池共享池相相當(dāng)于程程序高速速緩沖區(qū)區(qū),所有有的用戶戶程序都都放在共共享池中中。當(dāng)用戶將將SQL指令發(fā)發(fā)送至Oracle,,系統(tǒng)首首先解析析語(yǔ)法是是否正確確。解析析時(shí)所需需的系統(tǒng)統(tǒng)信息,,以及解解析后的的結(jié)果將將存放在在共享池池內(nèi)。所所以當(dāng)不不同用戶戶執(zhí)行相相同SQL指令令時(shí),可可以共享享已解析析好的結(jié)結(jié)果。14共享池共享池==庫(kù)緩存存+數(shù)據(jù)據(jù)字典緩緩存庫(kù)緩存==共享SQL區(qū)區(qū)+PL/SQL域++鎖+閂閂數(shù)據(jù)字典典緩沖區(qū)區(qū)存放數(shù)數(shù)據(jù)字典典信息。。15程序全局局區(qū)PGA::ProgramGlobalAreaPGA是是單個(gè)Oracle進(jìn)進(jìn)程(包包括服務(wù)務(wù)器進(jìn)程程和后臺(tái)臺(tái)進(jìn)程))使用的的內(nèi)存區(qū)區(qū)域,不屬于實(shí)實(shí)例的內(nèi)內(nèi)存結(jié)構(gòu)構(gòu)。PGA含含有單個(gè)個(gè)進(jìn)程工工作時(shí)需需要的數(shù)數(shù)據(jù)和控控制信息息,PGA是非非共享的的,只有有服務(wù)進(jìn)進(jìn)程本身身才能夠夠訪問(wèn)它它自己的的PGA區(qū)。16PGAPGA為為指定進(jìn)進(jìn)程專用用.當(dāng)用戶連連接服務(wù)務(wù)器并建建立會(huì)話話時(shí),Oracle為為其分配配一個(gè)PGA。。17PGAPGA包包括私有SQL區(qū)會(huì)話內(nèi)存存區(qū)排序區(qū)18Oracle結(jié)結(jié)構(gòu)圖Oracle數(shù)數(shù)據(jù)庫(kù)服務(wù)器實(shí)例數(shù)據(jù)庫(kù)Oracle進(jìn)進(jìn)程SGA區(qū)區(qū)后臺(tái)進(jìn)程程服務(wù)進(jìn)程程物理存儲(chǔ)儲(chǔ)邏輯存儲(chǔ)儲(chǔ)數(shù)據(jù)文件件控制文件件日志文件件初始化文文件密碼文件件歸檔文件件表空間段區(qū)塊19后臺(tái)進(jìn)程程數(shù)據(jù)庫(kù)寫寫進(jìn)程DBWR(DatebaseWriter)日志寫進(jìn)進(jìn)程LGWR((LogWriter)檢查點(diǎn)進(jìn)進(jìn)程CKPT((CheckpointProcess)系統(tǒng)監(jiān)控控進(jìn)程SMON(SystemMonitor)進(jìn)程監(jiān)控控進(jìn)程PMON(ProcessMonitor)20請(qǐng)大家看看一下書書上§2.3Oracle進(jìn)程21數(shù)據(jù)庫(kù)寫寫進(jìn)程((DBWn/DBWR)DBWn進(jìn)程負(fù)負(fù)責(zé)將數(shù)數(shù)據(jù)庫(kù)緩緩存中的的臟緩存存塊寫入入數(shù)據(jù)文文件中。。在出現(xiàn)以以下情況況時(shí),DBWn開始工工作系統(tǒng)發(fā)出出檢查點(diǎn)點(diǎn)(checkpoint))。臟緩沖區(qū)區(qū)個(gè)數(shù)達(dá)達(dá)到指定定閾值。。服務(wù)器進(jìn)進(jìn)程不能能找到自自由緩沖沖區(qū)。22DBWnDBWR23日志寫進(jìn)進(jìn)程(LGWR)當(dāng)運(yùn)行DML((INSERT、UPDATE、DELETE))或DDL(CREATE、、ALTER、、DROP)語(yǔ)語(yǔ)句時(shí),,服務(wù)器器進(jìn)程首首先將事事務(wù)變化化記載到到重做日日志緩沖沖區(qū),然然后才會(huì)會(huì)將數(shù)據(jù)據(jù)寫入到到數(shù)據(jù)高高速緩存存的相應(yīng)應(yīng)緩沖區(qū)區(qū),并且且重做日日志緩沖沖區(qū)的內(nèi)內(nèi)容將會(huì)會(huì)被寫入入到重做做日志文文件中,,以避免免系統(tǒng)出出現(xiàn)意外外所帶來(lái)來(lái)的數(shù)據(jù)據(jù)損失。。24LGWR重做日志志緩存循循環(huán)使用用。LGWR在以下下幾種情情況下發(fā)發(fā)生:在DBWR將臟臟數(shù)據(jù)寫寫入數(shù)據(jù)據(jù)文件之之前。重做日志志緩沖區(qū)區(qū)已有三三分之一一填滿。。每隔3秒秒鐘。提交事務(wù)務(wù)。重做日志志記錄大大小到1M.25思考Oracle總總是盡量量將用戶戶“最常使用用的數(shù)據(jù)據(jù)”保留在緩緩沖區(qū)內(nèi)內(nèi),以提提高數(shù)據(jù)據(jù)存取的的效率。。那么,,如果僅僅將最不不常用的的數(shù)據(jù)寫寫至數(shù)據(jù)據(jù)文件,,那么這這些“經(jīng)常使用用”的數(shù)據(jù)反反而沒(méi)機(jī)機(jī)會(huì)存回回硬盤??Oracle系系統(tǒng)使用用檢查點(diǎn)點(diǎn)進(jìn)程((CKPT)定定時(shí)觸發(fā)發(fā)一次更更新數(shù)據(jù)據(jù)文件的的操作。。26檢查點(diǎn)進(jìn)進(jìn)程(CKPT)CKPT進(jìn)程負(fù)負(fù)責(zé)向數(shù)數(shù)據(jù)庫(kù)發(fā)發(fā)出檢查查點(diǎn),檢檢查點(diǎn)用用于同步步數(shù)據(jù)庫(kù)庫(kù)的所有有數(shù)據(jù)文文件、控控制文件件和重做做日志。。27SCN((SystemChangeNumber))當(dāng)運(yùn)行Insert、、Update、Delete以及及其他涉涉及到數(shù)數(shù)據(jù)庫(kù)變變化的語(yǔ)語(yǔ)句時(shí),,Oracle會(huì)針對(duì)對(duì)任何修修改生成成順序遞遞增的SCN值值,并將將該SCN值連連同事務(wù)務(wù)變化一一起記載載到重做做日志緩緩沖區(qū)。。SCN是用于于記載數(shù)數(shù)據(jù)庫(kù)變變化的唯唯一標(biāo)識(shí)識(shí)號(hào),永永遠(yuǎn)不會(huì)會(huì)用盡。。假定Update之前前的SCN為100000,,當(dāng)執(zhí)行行了Update之后后有三個(gè)個(gè)數(shù)據(jù)塊塊發(fā)生變變化,則則SCN會(huì)增加加為100003。28CKPT工作原原理當(dāng)Oracle發(fā)出檢檢查點(diǎn)時(shí)時(shí),系統(tǒng)統(tǒng)會(huì)將檢檢查點(diǎn)時(shí)時(shí)刻的SCN值值寫入到到控制文文件和數(shù)數(shù)據(jù)文件件頭部,,同時(shí)還還會(huì)促使使DBWR進(jìn)程程將所有有臟緩沖沖區(qū)寫入入到數(shù)據(jù)據(jù)文件中中。29檢查點(diǎn)工工作機(jī)制制在DBWR進(jìn)程程工作之之前,LGWR進(jìn)程首首先將重重做日志志緩沖區(qū)區(qū)內(nèi)容寫寫入到重重做日志志文件,,即該時(shí)時(shí)刻的SCN值值會(huì)被寫寫入重做做日志。。當(dāng)CKPT進(jìn)程程工作的的時(shí)候,,會(huì)將當(dāng)當(dāng)前時(shí)刻刻的SCN值寫寫入數(shù)據(jù)據(jù)文件和和控制文文件。在發(fā)出檢檢查點(diǎn)時(shí)時(shí)刻,數(shù)數(shù)據(jù)文件件、控制制文件和和重做日日志的SCN值值完全一一致。30系統(tǒng)恢復(fù)復(fù)當(dāng)運(yùn)行OracleServer時(shí),在在訪問(wèn)數(shù)數(shù)據(jù)文件件、控制制文件和和重做日日志時(shí),,Oracle會(huì)定期期檢查并并比較每每種文件件的SCN值,,確定文文件是否否損壞、、系統(tǒng)是是否出現(xiàn)現(xiàn)異常,,最終確確定系統(tǒng)統(tǒng)是否需需要進(jìn)行行恢復(fù)。。31思考假定某用用戶執(zhí)行行了“insertintoDEPTvalues(50,’SALES’,’BeiJing’)”和”COMMIT”操作后,,突然意意外斷電電,那么么事務(wù)變化化記載到到了哪種種文件中中?控制文件件和數(shù)據(jù)據(jù)文件的的SCN值是否否一致??控制文件件和重做做日志的的SCN值是否否一致??32分析在執(zhí)行COMMIT操操作時(shí),,后臺(tái)進(jìn)進(jìn)程LGWR要要開始工工作,所所以事務(wù)務(wù)變化被被記載到到重做日日志中。。因?yàn)橹恢挥性诎l(fā)發(fā)出檢查查點(diǎn)時(shí),,才會(huì)將將SCN值寫入入控制文文件和數(shù)數(shù)據(jù)文件件頭部,,所以控控制文件件和數(shù)據(jù)據(jù)文件的的SCN值保持持一致,,并且存存放的是是先前檢檢查點(diǎn)的的SCN值??刂莆募蛿?shù)據(jù)據(jù)文件的的SCN值一致致,與重重做日志志不一致致!33SMON如果數(shù)據(jù)據(jù)庫(kù)未正正常關(guān)閉閉,文件件中數(shù)據(jù)據(jù)不同步步。因?yàn)樽罱鼨z查點(diǎn)點(diǎn)SCN到COMMIT時(shí)間間點(diǎn)SCN之間間的事務(wù)務(wù)變化都都被記載載到了重重做日志志中,所所以在重重新打開開數(shù)據(jù)庫(kù)庫(kù)之前,,Oracle會(huì)自動(dòng)動(dòng)執(zhí)行這這兩個(gè)時(shí)時(shí)間點(diǎn)之之間的事事務(wù)操作作,并同同步所有有數(shù)據(jù)文文件、控控制文件件和重做做日志文文件,然然后才會(huì)會(huì)打開數(shù)數(shù)據(jù)庫(kù)。。該過(guò)程被被稱為應(yīng)應(yīng)急恢復(fù)復(fù),正是是由SMON完完成的,,SMON還負(fù)負(fù)責(zé)在啟啟動(dòng)實(shí)例例時(shí)清理理臨時(shí)段段和合并并區(qū)碎片片。34一致性處處理如果數(shù)據(jù)據(jù)文件、、控制文文件、重重做日志志的當(dāng)前前SCN值完全全一致,,則系統(tǒng)統(tǒng)會(huì)直接接打開所所有數(shù)據(jù)據(jù)文件和和重做日日志。如果控制制文件和和數(shù)據(jù)文文件的當(dāng)當(dāng)前SCN值完完全一致致,并小小于重做做日志的的當(dāng)前SCN值值,則需需要進(jìn)行行實(shí)例恢恢復(fù)。如果控制制文件和和數(shù)據(jù)文文件的當(dāng)當(dāng)前SCN值不不匹配,,則表示示數(shù)據(jù)文文件或控控制文件件存在損損壞,此此時(shí)需要要進(jìn)行介介質(zhì)恢復(fù)復(fù),以恢恢復(fù)損壞壞文件。。35思考假定你在在客戶端端運(yùn)行SQL**PLUS訪問(wèn)問(wèn)OracleServer,那那么Oracle將在在服務(wù)器器端分配配相應(yīng)的的服務(wù)器器進(jìn)程。。假如你你正常退退出了SQL**PLUS或該該進(jìn)程出出現(xiàn)了意意外情況況,那么么Oracle會(huì)如何何處理服服務(wù)器進(jìn)進(jìn)程呢??系統(tǒng)當(dāng)然然要釋放放服務(wù)器器進(jìn)程所所占用的的資源。。36PMONOracle如如何確定定用戶進(jìn)進(jìn)程是處處于連接接狀態(tài)、、斷開連連接還是是異常狀狀態(tài)?這個(gè)任務(wù)務(wù)由PMON來(lái)來(lái)完成。。資源回收收(鎖、、SGA、PGA)狀態(tài)恢復(fù)復(fù)(將用用戶的操操作回退退到最近近一次事事務(wù)提交交時(shí)的狀狀態(tài))37一個(gè)典型型的獨(dú)立立型Oracle實(shí)例例38一個(gè)并行行的Oracle服務(wù)務(wù)器實(shí)例例(OracleParallelServer))39Oracle結(jié)結(jié)構(gòu)圖Oracle數(shù)數(shù)據(jù)庫(kù)服務(wù)器實(shí)例數(shù)據(jù)庫(kù)Oracle進(jìn)進(jìn)程SGA區(qū)區(qū)后臺(tái)進(jìn)程程服務(wù)進(jìn)程程物理存儲(chǔ)儲(chǔ)邏輯存儲(chǔ)儲(chǔ)數(shù)據(jù)文件件控制文件件日志文件件初始化文文件密碼文件件歸檔文件件表空間段區(qū)塊40請(qǐng)大家看看一下書書上§3.1Oracle數(shù)據(jù)庫(kù)庫(kù)的物理理結(jié)構(gòu)41Oracle數(shù)數(shù)據(jù)庫(kù)物物理存儲(chǔ)儲(chǔ)結(jié)構(gòu)Oracle數(shù)數(shù)據(jù)庫(kù)在在物理上上是存儲(chǔ)儲(chǔ)于硬盤盤的各種種文件。。它是活活動(dòng)的,,可擴(kuò)充充的,隨隨著數(shù)據(jù)據(jù)的添加加和應(yīng)用用程序的的增大而而變化。。42數(shù)據(jù)文件件Oracle數(shù)數(shù)據(jù)庫(kù)模模式對(duì)象象中的所所有數(shù)據(jù)據(jù)均存儲(chǔ)儲(chǔ)在數(shù)據(jù)據(jù)文件中中,也就就是說(shuō),,數(shù)據(jù)文文件是Oracle數(shù)數(shù)據(jù)庫(kù)的的唯一物物理存儲(chǔ)儲(chǔ)對(duì)象,,所以每個(gè)Oracle數(shù)據(jù)據(jù)庫(kù)至少少由一個(gè)個(gè)數(shù)據(jù)文文件組成成。數(shù)據(jù)文件件用來(lái)存存儲(chǔ)數(shù)據(jù)據(jù)庫(kù)中的的全部數(shù)數(shù)據(jù),如如數(shù)據(jù)庫(kù)庫(kù)表中的的數(shù)據(jù)和和索引數(shù)數(shù)據(jù)。數(shù)數(shù)據(jù)文件件通常是是后綴名名為.dbf格格式的文文件。43數(shù)據(jù)文件件數(shù)據(jù)文件件實(shí)際上上是一個(gè)個(gè)操作系系統(tǒng)文件件,這些些文件中中的數(shù)據(jù)據(jù)格式是是只有Oracle數(shù)數(shù)據(jù)庫(kù)系系統(tǒng)才能能夠正確確識(shí)別的的二進(jìn)制制格式。。44數(shù)據(jù)文件件Oracle數(shù)數(shù)據(jù)庫(kù)至至少要包包含一個(gè)個(gè)數(shù)據(jù)文文件,并并且數(shù)據(jù)據(jù)文件是是表空間間的物理理組成元元素,一一個(gè)表空空間可以以包含多多個(gè)數(shù)據(jù)據(jù)文件,,并且每每個(gè)數(shù)據(jù)據(jù)文件只只能唯一一地屬于于某個(gè)表表空間。數(shù)據(jù)庫(kù)SYSTEM表空間表空間一一表空間二二數(shù)據(jù)文件件邏輯組成成物理組成成45重做日志志文件重做日志志是用于于記錄數(shù)數(shù)據(jù)庫(kù)變變化的物物理文件件,其目目的是為為了在出出現(xiàn)意外外時(shí)恢復(fù)復(fù)Oracle數(shù)據(jù)庫(kù)庫(kù),數(shù)據(jù)庫(kù)至至少要包包含2個(gè)個(gè)重做日日志組,,并且這這些重做做日志組組是循環(huán)環(huán)使用的的。日志組一日志組二日志組三46歸檔當(dāng)數(shù)據(jù)庫(kù)庫(kù)處于ARCHIVELOG(自動(dòng)動(dòng)歸檔))模式時(shí)時(shí),在進(jìn)進(jìn)行日志志切換時(shí)時(shí),Oracle會(huì)自自動(dòng)將重重做日志志內(nèi)容復(fù)復(fù)制到歸歸檔日志志中。47多元化重重做日志志用戶可以以為相同同的日志志文件建建立一個(gè)個(gè)文件組組,將同同一個(gè)文文件組中中的文件件放在不不同的磁磁盤上建建立一些些副本。。LOG1ALOG2ALOG1BLOG2B磁盤A磁盤BLGWR日志組1日志組248控制文件件每個(gè)Oracle數(shù)據(jù)據(jù)庫(kù)都有有一個(gè)控控制文件件(名字通通常為Ctr**.ctl格式式),用用以記錄錄與描述述數(shù)據(jù)庫(kù)庫(kù)的物理理結(jié)構(gòu),,包括以以下信息息:Oracle數(shù)數(shù)據(jù)庫(kù)庫(kù)名稱與與建立時(shí)時(shí)間。數(shù)據(jù)文件件與重做做日志文文件名稱稱及所在在位置。。日志記錄錄序列號(hào)號(hào)(logsequencenumber))。數(shù)據(jù)庫(kù)檢檢查點(diǎn)信信息。49數(shù)據(jù)庫(kù)的的數(shù)據(jù)文文件和重重做日志志文件均均是一些些操作系系統(tǒng)文件件,Oracle在操操作數(shù)據(jù)據(jù)庫(kù)時(shí),,怎樣將將指定數(shù)數(shù)據(jù)庫(kù)中中的這些些文件同同普通的的操作系系統(tǒng)文件件和其他他數(shù)據(jù)庫(kù)庫(kù)文件區(qū)區(qū)分開來(lái)來(lái),這正正是數(shù)據(jù)據(jù)庫(kù)控制制文件的的功能。。如果把數(shù)數(shù)據(jù)文件件比作一一個(gè)倉(cāng)庫(kù)庫(kù),那么么重做日日志文件件就相當(dāng)當(dāng)于該倉(cāng)倉(cāng)庫(kù)的貨貨物進(jìn)出出記錄賬賬本,控控制文件件就是該該倉(cāng)庫(kù)的的管理中中心??刂莆募?0Oracle結(jié)結(jié)構(gòu)圖Oracle數(shù)數(shù)據(jù)庫(kù)服務(wù)器實(shí)例數(shù)據(jù)庫(kù)Oracle進(jìn)進(jìn)程SGA區(qū)區(qū)后臺(tái)進(jìn)程程服務(wù)進(jìn)程程物理存儲(chǔ)儲(chǔ)邏輯存儲(chǔ)儲(chǔ)數(shù)據(jù)文件件控制文件件日志文件件初始化文文件密碼文件件歸檔文件件表空間段區(qū)塊51Oracle數(shù)數(shù)據(jù)庫(kù)的的邏輯結(jié)結(jié)構(gòu)邏輯上,,數(shù)據(jù)庫(kù)庫(kù)是由一一個(gè)或多多個(gè)表空空間組成成的,并并且一個(gè)個(gè)表空間間只能屬屬于一個(gè)個(gè)數(shù)據(jù)庫(kù)庫(kù)。物理上,,表空間間又是由由一個(gè)或或多個(gè)數(shù)數(shù)據(jù)文件件組成的的。表空間1表空間2表空間1Oracle邏輯結(jié)構(gòu)構(gòu)Oracle物理結(jié)構(gòu)構(gòu)52Oracle邏邏輯結(jié)構(gòu)構(gòu)數(shù)據(jù)庫(kù)表空間段區(qū)Oracle塊數(shù)據(jù)文件O/S塊邏輯輯物理理53表空間((Tablespace)如果將圖圖書館比比喻為數(shù)數(shù)據(jù)庫(kù)的的話,那那么可以以將圖書書館的每每個(gè)書架架看作為為表空間間類似于于書架,,不同表表空間將將用于存存放不同同類型的的數(shù)據(jù)。。54表空間的的類型

系統(tǒng)表空空間回滾表空空間臨時(shí)表空空間用戶表空空間索引表空空間用戶創(chuàng)建建的表空空間55表空間的的作用1能夠?qū)?shù)數(shù)據(jù)字典典與用戶戶數(shù)據(jù)分分離。能夠?qū)⒒鼗赝藬?shù)據(jù)據(jù)與用戶戶數(shù)據(jù)分分離,避避免由于于硬盤損損壞而帶帶來(lái)的永永久性數(shù)數(shù)據(jù)丟失失。能夠?qū)⒈肀砜臻g的的數(shù)據(jù)文文件分散散保存到到不同的的硬盤上上,平均均分布物物理I//O操作作。56能夠?qū)⒛衬硞€(gè)表空空間設(shè)置置為脫機(jī)機(jī)狀態(tài)或或聯(lián)機(jī)狀狀態(tài),以以便對(duì)數(shù)數(shù)據(jù)庫(kù)的的一部分分進(jìn)行備備份和恢恢復(fù)。能夠?yàn)槟衬撤N特殊殊用途專專門設(shè)置置一個(gè)表表空間,,如臨時(shí)時(shí)表空間間,以優(yōu)優(yōu)化表空空間的使使用效率率。能夠更加加靈活地地為用戶戶設(shè)置表表空間限限額。表空間的的作用257Oracle邏邏輯結(jié)構(gòu)構(gòu)數(shù)據(jù)庫(kù)表空間段區(qū)Oracle塊數(shù)據(jù)文件O/S塊邏輯輯物理理58段(segment))段用于存存儲(chǔ)特定定邏輯結(jié)結(jié)構(gòu)的所所有數(shù)據(jù)據(jù)。當(dāng)建建立數(shù)據(jù)據(jù)對(duì)象((表、索索引、簇簇等)時(shí)時(shí),Oracle會(huì)自自動(dòng)給這這些數(shù)據(jù)據(jù)對(duì)象分分配相應(yīng)應(yīng)的存儲(chǔ)儲(chǔ)控件,,以存放放它們的的數(shù)據(jù)信信息。在一個(gè)表表空間上上可以包包含一個(gè)個(gè)或多個(gè)個(gè)段,一一個(gè)段只只能存放放在一個(gè)個(gè)表空間間上,并并且段是是由一個(gè)個(gè)或多個(gè)個(gè)區(qū)組成成的。59段的類型型根據(jù)段中中存儲(chǔ)的的模式對(duì)對(duì)象不同同,段分分為以下下幾類::數(shù)據(jù)段::保存數(shù)數(shù)據(jù)表中中的記錄錄。索引段::當(dāng)執(zhí)行行CREATEINDEX語(yǔ)句時(shí)時(shí),Oracle自動(dòng)動(dòng)創(chuàng)建索索引段。。臨時(shí)段::在執(zhí)行行查詢、、排序、、創(chuàng)建索索引等操操作時(shí),,Oracle使用臨臨時(shí)段保保存臨時(shí)時(shí)數(shù)據(jù)。?;貪L段::用于存存放數(shù)據(jù)據(jù)修改之之前的值值。60Oracle邏邏輯結(jié)構(gòu)構(gòu)數(shù)據(jù)庫(kù)表空間段區(qū)Oracle塊數(shù)據(jù)文件O/S塊邏輯輯物理理61區(qū)(Extent)區(qū)由連續(xù)續(xù)的數(shù)據(jù)據(jù)塊組成成,它是是Oracle空間分分配的邏邏輯單元元。Oracle為段段分配空空間是以以區(qū)為單單位進(jìn)行行分配的的。例如:當(dāng)當(dāng)建立表表EMP時(shí),Oracle會(huì)會(huì)為該表表建立相相應(yīng)的表表段EMP,假假定初始始時(shí)該表表段只包包含一個(gè)個(gè)區(qū)(1M),,那么當(dāng)當(dāng)數(shù)據(jù)占占滿1M空間之之后,再再插入數(shù)數(shù)據(jù)時(shí),,Oracle會(huì)自動(dòng)動(dòng)擴(kuò)展該該段,并并為其分分配第二二個(gè)區(qū)。。62Oracle邏邏輯結(jié)構(gòu)構(gòu)數(shù)據(jù)庫(kù)表空間段區(qū)Oracle塊數(shù)據(jù)文件O/S塊邏輯輯物理理63數(shù)據(jù)塊((DataBlock)數(shù)據(jù)塊也也稱為Oracle塊塊,它是是Oracle在數(shù)據(jù)據(jù)文件上上執(zhí)行I/O操操作的最最小單位位。例子:假假定某用用戶執(zhí)行行”SELECT**FROMempWHEREempno=7788””只會(huì)返返回100B的的數(shù)據(jù),,而數(shù)據(jù)據(jù)塊尺寸寸為2KB,那那么Oracle讀取取多少數(shù)數(shù)據(jù)到數(shù)數(shù)據(jù)高速速緩存呢呢?2KB64Oracle結(jié)結(jié)構(gòu)圖Oracle數(shù)數(shù)據(jù)庫(kù)服務(wù)器實(shí)例數(shù)據(jù)庫(kù)Oracle進(jìn)進(jìn)程SGA區(qū)區(qū)后臺(tái)進(jìn)程程服務(wù)進(jìn)程程物理存儲(chǔ)儲(chǔ)邏輯存儲(chǔ)儲(chǔ)數(shù)據(jù)文件件控制文件件日志文件件初始化文文件密碼文件件歸檔文件件表空間段區(qū)塊65企業(yè)管理理器(OracleEnterpriseManager)企業(yè)管理理器(OEM))是Oracle為管管理用戶戶提供的的可視化化管理工工具,該該工具幾幾乎包含含了對(duì)數(shù)數(shù)據(jù)庫(kù)對(duì)對(duì)象的所所有管理理.66OEM體體系結(jié)構(gòu)構(gòu)OracleManagementOracleManagementRepositoryOracleAgentOracleAgentOracleAgentWebBrowserConsoleConsole67OEM三三層結(jié)構(gòu)構(gòu)-1第一層客客戶端工工具,如如OEMConsole,SQL**PLUS.這這些工工具是從從機(jī)器本本地啟

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論