Oraclei數(shù)據(jù)庫體系結(jié)構(gòu)_第1頁
Oraclei數(shù)據(jù)庫體系結(jié)構(gòu)_第2頁
Oraclei數(shù)據(jù)庫體系結(jié)構(gòu)_第3頁
Oraclei數(shù)據(jù)庫體系結(jié)構(gòu)_第4頁
Oraclei數(shù)據(jù)庫體系結(jié)構(gòu)_第5頁
已閱讀5頁,還剩59頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Oracle9i數(shù)據(jù)庫體系結(jié)構(gòu)1Oracle9i數(shù)據(jù)庫體系結(jié)構(gòu)2Oracle9i

物理結(jié)構(gòu)

3SGA(SystemGlobalArea)BackgroundProcessesServersUsersDataFilesRedoLogFilesControlFilesParameterFileServerParameterFile4日志文件(RedoLogFiles)

RedoLog文件記錄對(duì)于數(shù)據(jù)庫的所有修改,用于數(shù)據(jù)庫的恢復(fù)如果對(duì)于日志文件進(jìn)行鏡像,則相同的RedoLog信息被寫入多個(gè)聯(lián)機(jī)的RedoLog文件中Oracle運(yùn)行NOARCHIVELOG時(shí)只有歷史日志,沒有歸檔日志5日志文件(RedoLogFiles)每個(gè)Oracle數(shù)據(jù)庫至少有兩個(gè)RedoLog日志文件組,每組有一個(gè)或多個(gè)日志文件建議對(duì)RedoLog文件進(jìn)行鏡像,以保證數(shù)據(jù)庫安全運(yùn)行建議使用四個(gè)RedoLog文件組,每組2或3個(gè)日志文件組內(nèi)RedoLog文件位于不同磁盤RedoLog文件是循環(huán)使用的6ServersUsersDataFilesRedoLog

FilesDatabase

BufferCacheSharedPoolRedoLogBufferSGA(SystemGlobalArea)DBWRARCHLGWR日志產(chǎn)生過程1237RedoLog文件鏡像一個(gè)日志組中RedoLog文件具有相同的信息選擇合適的日志文件大小組中的成員同時(shí)被更新每組應(yīng)包含與其他組中數(shù)目相同的日志成員鏡像的RedoLog文件可以防止

RedoLog

文件丟失8

Oracle9iDatabase(WindowsNT)

9

Oracle9iDatabase(Unix)

10日志切切換當(dāng)ORACLE從一個(gè)個(gè)RedoLog文件切切換到到另一一個(gè)日日志文文件時(shí)時(shí)發(fā)生生日志志切換換當(dāng)LGWR寫滿一一組日日志文文件時(shí)時(shí)發(fā)生生日志志切換換DBA可強(qiáng)制制日志志切換換數(shù)據(jù)庫庫關(guān)閉閉時(shí)發(fā)發(fā)生日日志切切換日志切切換時(shí)時(shí),當(dāng)當(dāng)前日日志文文件被被賦予予一個(gè)個(gè)新的的日志志序列列號(hào),,用于于標(biāo)識(shí)識(shí)其中中的信信息日志切切換時(shí)時(shí)產(chǎn)生生檢查查點(diǎn)CKPT(Checkpoint)11RedoLog文件組組Group1MemberAGroup2MemberAGroup3MemberAGroup1MemberBGroup2MemberBGroup3MemberBGroup1MemberCGroup2MemberCGroup3MemberCLogFile1LogFile2LogFile312Oracle9iforUnix日志文文件結(jié)結(jié)構(gòu)(SunSolaris)redo01.logredo02.logredo03.log三個(gè)日日志文文件組組,每每組一一個(gè)日日志成成員13Oracle9i日志志文文件件結(jié)結(jié)構(gòu)構(gòu)(WindowsNT)Redo01.log三個(gè)個(gè)日日志志文文件件組組,每每組組一一個(gè)個(gè)日日志志成成員員Redo02.logRedo03.log14Oracle9i數(shù)據(jù)據(jù)庫庫參參數(shù)數(shù)文文件件服務(wù)務(wù)器器參參數(shù)數(shù)參參數(shù)數(shù)spfileServerParameterFile文本本參參數(shù)數(shù)pfileParameterFile15控制制文文件件(ControlFiles)控制制文文件件是是描描述述數(shù)數(shù)據(jù)據(jù)庫庫結(jié)結(jié)構(gòu)構(gòu)的的二二進(jìn)進(jìn)制制文文件件控制制文文件件所有有必必須須的的數(shù)數(shù)據(jù)據(jù)文文件件和和日日志志文文件件在在控控制制文文件件中中標(biāo)標(biāo)識(shí)識(shí)數(shù)據(jù)據(jù)庫庫名名存存儲(chǔ)儲(chǔ)在在控控制制文文件件中中控制制文文件件用用于于打打開開和和存存取取數(shù)數(shù)據(jù)據(jù)庫庫數(shù)據(jù)據(jù)庫庫恢恢復(fù)復(fù)所所需需的的同同步步信信息息存存儲(chǔ)儲(chǔ)在在控控制制文文件件中中控制制文文件件數(shù)據(jù)據(jù)庫庫的的物物理理組組成成與與控控制制文文件件中中的的記記錄錄不不同同時(shí)時(shí),系系統(tǒng)統(tǒng)則則不不能能正正常常啟啟動(dòng)動(dòng)或或發(fā)發(fā)生生down機(jī)現(xiàn)現(xiàn)象象16控制制文文件件(ControlFiles)建議議設(shè)設(shè)置置::至少少使使用用兩兩個(gè)個(gè)控控制制文文件件,并并存存放放于于不不同同磁磁盤盤參數(shù)數(shù)Control_Files指明明控控制制文文件件控制制文文件件的的鏡鏡像像可可以以在在數(shù)數(shù)據(jù)據(jù)庫庫創(chuàng)創(chuàng)建建或或創(chuàng)創(chuàng)建建完完成成后后進(jìn)進(jìn)行行17Oracle9iDatabase(WindowsNT)18Oracle9iDatabase(Unix)19Oracle9i邏輯輯結(jié)構(gòu)構(gòu)20DatabaseTablespaceSegmentDataIndexTempRollbackExtentFreeUsedDataBlockPartofPartofOracle9i數(shù)據(jù)據(jù)庫庫的的邏邏輯輯結(jié)結(jié)構(gòu)構(gòu)21表空空間間Oracle表空空間間類類型型數(shù)據(jù)據(jù)字字典典管管理理表表空空間間(Oracle7,8,8i)本地地化化管管理理表表空空間間(Oracle8i,9i)UniformAutoAllocate22Oracle表空空間間類類型型23Oracle9i臨時(shí)時(shí)段段管管理理Oracle9i的缺缺省省臨臨時(shí)時(shí)表表空空間間((DefaultTemporaryTablespace))用于于用用戶戶排排序序時(shí)時(shí)SQL的Orderby語句句使使用用,,在在創(chuàng)創(chuàng)建建用用戶戶時(shí)時(shí)指指定定用用戶戶缺缺省省的的臨臨時(shí)時(shí)表表空空間間。。在Oracle9i中,,允允許許數(shù)數(shù)據(jù)據(jù)庫庫管管理理員員重重新新創(chuàng)創(chuàng)建建并并設(shè)設(shè)置置系系統(tǒng)統(tǒng)臨臨時(shí)時(shí)表表空空間間,,而而不不使使用用系系統(tǒng)統(tǒng)表表空空間間作作為為排排序序、、匯匯總總等等臨臨時(shí)時(shí)表表空空間間使使用用。。如如果果系系統(tǒng)統(tǒng)設(shè)設(shè)置置了了系系統(tǒng)統(tǒng)缺缺省省臨臨時(shí)時(shí)表表空空間間,,則則用用戶戶不不得得使使用用其其他他表表空空間間作作為為臨臨時(shí)時(shí)表表空空間間使使用用。。24回退退段段(RollbackSegments)為什什么么要要設(shè)設(shè)回回退退段段?回退退段段是是數(shù)數(shù)據(jù)據(jù)庫庫的的一一部部分分,,是Oracle數(shù)據(jù)據(jù)庫庫的的一一個(gè)個(gè)重重要要參參數(shù)數(shù),其其設(shè)設(shè)計(jì)計(jì)是是否否正正確確直直接接影影響響到到數(shù)數(shù)據(jù)據(jù)庫庫的的動(dòng)動(dòng)態(tài)態(tài)性性能能。。Rollback段的的使使用用用用于于保保存存一一個(gè)個(gè)事事務(wù)務(wù)的的操操作作,以以便便在在某某些些情情況況下下回回退退或或取取消消操操作作。。每個(gè)個(gè)Oracle數(shù)據(jù)據(jù)庫庫都都有有多多個(gè)個(gè)回回退退段段回退退段段的的作作用用并發(fā)發(fā)操操作作時(shí)時(shí),,保保證證數(shù)數(shù)據(jù)據(jù)的的讀讀一一致致性性使用用SQL語句句rollback回退退一一個(gè)個(gè)事事務(wù)務(wù)的的操操作作25回退退段段(RollbackSegments)事務(wù)務(wù)恢恢復(fù)復(fù)的的需需要要回退退段段操操作作舉舉例例由于于語語句句錯(cuò)錯(cuò)誤誤回回退退一一個(gè)個(gè)事事務(wù)務(wù)回退退一一個(gè)個(gè)事事務(wù)務(wù)、、或或回回退退事事務(wù)務(wù)到到一一個(gè)個(gè)保保存存點(diǎn)點(diǎn)(SavePoint)由于于異異常常進(jìn)進(jìn)程程中中斷斷而而回回退退在例例程程恢恢復(fù)復(fù)中中回回退退所所有有沒沒未未完完成成的的事事務(wù)務(wù)26Oracle9i自動(dòng)動(dòng)Undo空間間管管理理在Oracle8i以前前的的數(shù)數(shù)據(jù)據(jù)庫庫中中,,對(duì)對(duì)于于回回退退段段的的設(shè)設(shè)置置與與管管理理已已一一直直是是一一個(gè)個(gè)十十分分復(fù)復(fù)雜雜的的工工作作,,其其正正確確的的設(shè)設(shè)置置既既困困難難又又費(fèi)費(fèi)時(shí)時(shí)。。對(duì)對(duì)于于大大的的事事務(wù)務(wù)往往往往產(chǎn)產(chǎn)生生回回退退段段不不足足的的錯(cuò)錯(cuò)誤誤,,或或在在RBS表空空間間回回退退段段中中消消耗耗過過大大。。Oracle9i引如如了了一一個(gè)個(gè)新新的的概概念念,,即即AutomaticUndoManagement,,Undo空間間自自動(dòng)動(dòng)管管理理。。在在Oracle9i中,,可可以以使使用用傳傳統(tǒng)統(tǒng)的的回回退退段段,,也也可可以以使使用用Undo表空空間間,,Oracle9i對(duì)Undo空間間自自動(dòng)動(dòng)管管理理,,使使回回退退段段的的管管理理變變的的十十分分容容易易。。在Oracle9i中,,可可以以使使用用自自動(dòng)動(dòng)Undo管理理代代替替回回退退段段,,Oracle9i使用用Undo表空空間間,,并并對(duì)對(duì)Undo空間自動(dòng)動(dòng)管理。。27Oracle9i自動(dòng)Undo空間管理理在Oracle8i中,私通通使用手手動(dòng)管理理Undo空間,使使用在RBS表空間中中創(chuàng)建大大的回退退段的方方法處理理大的事事務(wù),由由于一個(gè)個(gè)事務(wù)只只可以使使用一個(gè)個(gè)回退段段,當(dāng)一一個(gè)回退退段動(dòng)態(tài)態(tài)擴(kuò)展超超過區(qū)最最大值、、或超過過數(shù)據(jù)文文件的允允許擴(kuò)展展范圍時(shí)時(shí),將產(chǎn)產(chǎn)生回退退段不足足的錯(cuò)誤誤,事務(wù)務(wù)被進(jìn)行行過程被被終止。。在Oracle9i中,一個(gè)個(gè)事務(wù)可可以使用用多個(gè)回回退段。。使用Oracle9i的Undo空間自動(dòng)動(dòng)管理特特點(diǎn),當(dāng)當(dāng)一個(gè)回回退段不不足時(shí),,Oracle會(huì)自動(dòng)使使用其他他回退段段,不終終止事務(wù)務(wù)的運(yùn)行行。在Oracle9i中,數(shù)據(jù)據(jù)庫管理理員只需需了解Undo表空間是是否有足足夠的空空間即可可。28自動(dòng)Undo空間管理理29Oracle9i內(nèi)存結(jié)構(gòu)構(gòu)30ServersUsersDataFilesRedoLogFilesDatabaseBufferCacheSharedPoolRedoLogBufferSGA(SystemGlobalArea)DBWRARCHLGWR系統(tǒng)全局局區(qū)SGA31ServersUsersDataFilesRedoLogFilesDatabaseBufferCacheSharedPoolRedoLogBufferSGADBWRARCHLGWR數(shù)據(jù)緩沖沖區(qū)(DatabaseBufferCache)32DB數(shù)據(jù)緩沖沖區(qū)Dirtylist....LRUlist....DatafilesDatafiles數(shù)據(jù)緩沖沖區(qū)(DatabaseBufferCache)ServerDBWRSGAFree,Dirty,PinnedServersUsersDataFilesRedoLogFilesDatabaseBufferCacheSharedPoolRedoLogBufferSGADBWRARCHLGWR日志緩沖沖區(qū)(RedoLogBuffer)34ServersUsersDataFilesDatabaseBufferCacheSharedPoolSGADBWR共享池(SharedGlobalArea)ServersServersUsersUsers35Oracle9i實(shí)例的進(jìn)程結(jié)結(jié)構(gòu)36Oracle啟動(dòng)時(shí),將分配配系統(tǒng)全全局區(qū)SGA并啟動(dòng)Oracle后臺(tái)進(jìn)程程(BackgroundProcesses)。。內(nèi)存區(qū)域域和后臺(tái)臺(tái)進(jìn)程合合稱為一一個(gè)Oracle實(shí)例(Instance)。。SGA是由Oracle為一個(gè)實(shí)實(shí)例分配配的一組組共享內(nèi)內(nèi)存區(qū)區(qū)域后臺(tái)進(jìn)程程異步地地為所有有的數(shù)據(jù)據(jù)庫用戶戶執(zhí)行不不同的任任務(wù)參數(shù)文件件決定了了實(shí)例的的特征及及大小不正確的的參數(shù)文文件,會(huì)會(huì)導(dǎo)致實(shí)實(shí)例啟動(dòng)動(dòng)失敗Oracle數(shù)據(jù)庫的的Instance決定了動(dòng)動(dòng)態(tài)運(yùn)行行的數(shù)據(jù)據(jù)庫的ORACLE_SIDOracle實(shí)實(shí)例(Instance)37SystemGlobalAreaBackgroundProcessesServersUsersDataFilesRedoLogFilesControlFiles38Oracle數(shù)據(jù)庫進(jìn)進(jìn)程結(jié)構(gòu)構(gòu)Oracle可以在多多進(jìn)程和和單進(jìn)程程配置下下工作。多進(jìn)程配配置多個(gè)進(jìn)程程執(zhí)行Oracle代碼的不不同部分分多進(jìn)程允允許多個(gè)個(gè)用戶同同時(shí)使用用單進(jìn)程配配置所有的Oracle代碼由一一個(gè)進(jìn)程程執(zhí)行單進(jìn)程實(shí)實(shí)例只允允許單個(gè)個(gè)用戶使使用主要用于于單任務(wù)務(wù)的機(jī)器器上通常使用用的Oracle都是多進(jìn)進(jìn)程實(shí)例例結(jié)構(gòu)39DatabaseBufferCacheSharedPoolSGAOracle數(shù)據(jù)庫單單進(jìn)程結(jié)結(jié)構(gòu)ORACLERDBMSSERVER應(yīng)用軟件件40DatabaseBufferCacheSharedPoolSGALISTENEROracle數(shù)據(jù)庫多多進(jìn)程結(jié)結(jié)構(gòu)DBWRLGWRDnnnUSERRECOCKPTSMONPMONARCH41用戶進(jìn)進(jìn)程與與服務(wù)務(wù)器進(jìn)進(jìn)程42ServersUsersDataFilesDatabaseBufferCacheSharedPoolSGADBWRUser與Server進(jìn)程ServersServersUsersUsers43用戶進(jìn)進(jìn)程與與服務(wù)務(wù)器進(jìn)進(jìn)程用戶進(jìn)進(jìn)程((UserProcess)在用戶戶運(yùn)行行應(yīng)用用程序序時(shí)自自動(dòng)產(chǎn)產(chǎn)品產(chǎn)產(chǎn)生系統(tǒng)創(chuàng)建服服務(wù)器器進(jìn)程程(ServerProcess)處理理用戶戶進(jìn)程程的請(qǐng)請(qǐng)求Server進(jìn)程和和User進(jìn)程程通信信并為為所連連接的的User進(jìn)程請(qǐng)請(qǐng)求服服務(wù)44Server進(jìn)程工工作過過程::分析、、編譯譯、執(zhí)執(zhí)行用用戶的的SQL語句確定執(zhí)執(zhí)行計(jì)計(jì)劃,,形成成分析析樹從磁盤盤數(shù)據(jù)據(jù)文件件將數(shù)數(shù)據(jù)讀讀入SGA的共享享數(shù)據(jù)據(jù)庫緩緩沖區(qū)區(qū)將SQL語句的的結(jié)果果返回回給用用戶進(jìn)進(jìn)程相同的的SQL代碼只只編譯譯一次次存在SQL優(yōu)化問問題45DBWR進(jìn)程46DBWR進(jìn)程在存儲(chǔ)儲(chǔ)數(shù)據(jù)據(jù)之前前,服服務(wù)器器進(jìn)程程必須須將數(shù)數(shù)據(jù)放放入數(shù)數(shù)據(jù)緩緩沖區(qū)區(qū)快存存中修改后后的數(shù)數(shù)據(jù)塊塊通過過后臺(tái)臺(tái)進(jìn)程程:數(shù)數(shù)據(jù)庫庫寫(DatabaseWriter-DBWR)寫回磁磁盤為處理理SQL語語句,,Server進(jìn)程使使用了了SGA中中的共共享內(nèi)內(nèi)存47DBWR進(jìn)程DBWR管理DatabaseBufferCache以便user進(jìn)程總總能找找到空空閑的的緩沖沖區(qū)將所有有修改改后的的緩沖沖區(qū)數(shù)數(shù)據(jù)寫寫入數(shù)數(shù)據(jù)文文件使用LRU算法來來將最最近使使用過過的塊塊保留留在內(nèi)內(nèi)存中中通過延延遲寫寫來優(yōu)優(yōu)化磁磁盤I/O讀寫可以啟啟動(dòng)多多個(gè)數(shù)數(shù)據(jù)寫寫入進(jìn)進(jìn)程參數(shù)DB_WRITER_PROCESSES決定DBWR啟動(dòng)的的個(gè)數(shù)數(shù)進(jìn)程名名稱分分別為為DBW0、、DBW1、、、、DBWj48DBWR進(jìn)程DBWR在下面面情況況將dirty緩沖區(qū)區(qū)寫入入磁盤盤:dirty隊(duì)列達(dá)達(dá)到一一定長長度某個(gè)進(jìn)進(jìn)程在在LRU隊(duì)列中中掃描描指定定數(shù)目目的緩緩沖區(qū)區(qū)仍沒沒有找找到空空閑緩緩沖區(qū)區(qū)超時(shí)(Time_Out)發(fā)生檢驗(yàn)點(diǎn)點(diǎn)(checkpoint)發(fā)生49LGWR進(jìn)程50ServersUsersDataFilesRedoLogFilesDatabaseBufferCacheSharedPoolRedoLogBufferSGADBWRARCHLGWR日志產(chǎn)產(chǎn)生過過程12351LGWR進(jìn)程LGWR在下面面情況況將RedoLog緩沖區(qū)區(qū)的信信息寫寫入RedoLog文件::發(fā)生數(shù)數(shù)據(jù)提提交RedoLog緩沖區(qū)區(qū)池達(dá)達(dá)到總總數(shù)的的三分分之一一時(shí)超時(shí)(Time_Out)發(fā)生DBWR需為檢檢驗(yàn)點(diǎn)點(diǎn)(checkpoint)清除緩緩沖區(qū)區(qū)塊時(shí)時(shí)52LGWR進(jìn)程每一個(gè)個(gè)例程程(instance)只有一一個(gè)RedoLog寫進(jìn)程程直到事事務(wù)已已被寫寫入redolog文件,,提交交確認(rèn)認(rèn)才被被執(zhí)行行并發(fā)提提交使使每次次提交交的平平均I/O數(shù)小于于153PMON與SMONPMONLCKnRECOSMONCKPT54ARCH進(jìn)程歸檔進(jìn)進(jìn)程(ARCH,ArchiverProcess)在聯(lián)機(jī)機(jī)RedoLog文件存存滿時(shí)時(shí)將它它們存存儲(chǔ)到到指定定的存存儲(chǔ)設(shè)設(shè)備。。55歸檔進(jìn)進(jìn)程(ARCH)將RedoLog文件寫寫到磁磁盤或或磁帶帶機(jī)上上用于于介質(zhì)質(zhì)失敗敗時(shí)的的數(shù)據(jù)據(jù)庫恢恢復(fù)ARCH只有當(dāng)日志志文件組切切換時(shí)才工工作ARCH是可選的,,由參數(shù)LOG_ARCHIVE_START啟動(dòng)ARCH可寫到磁帶帶或磁盤上上56ServersUsersDataFilesRedoLogFilesDatabaseBufferCacheSharedPoolRedoLogBufferSGADBWRARCHLG

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論