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

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論