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

下載本文檔

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

文檔簡介

第2章Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)2.1Oracle數(shù)據(jù)庫的物理存儲(chǔ)結(jié)構(gòu)Oracle數(shù)據(jù)庫的物理存儲(chǔ)結(jié)構(gòu)由存儲(chǔ)在磁盤中的操作系統(tǒng)文件組成。包括構(gòu)成數(shù)據(jù)庫的各種物理文件,包括數(shù)據(jù)文件,控制文件,重演日志文件,歸檔重演日志文件,參數(shù)文件,警告、跟蹤日志文件和備份文件等。Oracle數(shù)據(jù)庫存儲(chǔ)結(jié)構(gòu)

物理存儲(chǔ)結(jié)構(gòu)數(shù)據(jù)文件(DataFile)重做日志文件(RedoLogFile)控制文件(ControlFile)邏輯存儲(chǔ)結(jié)構(gòu)表空間(TableSpace)段(Segment)區(qū)(Extent)塊(Block)Oracle數(shù)據(jù)庫文件類型及其關(guān)聯(lián)2.1.1數(shù)據(jù)文件(DataFile)數(shù)據(jù)庫中所有的數(shù)據(jù)最終都保存在數(shù)據(jù)文件中。每個(gè)Oracle數(shù)據(jù)庫都有一個(gè)或多個(gè)物理數(shù)據(jù)文件數(shù)據(jù)文件中包括表數(shù)據(jù)索引數(shù)據(jù)數(shù)據(jù)字典定義回滾事務(wù)所需的信息存儲(chǔ)過程、函數(shù)和數(shù)據(jù)包的代碼用來排序的臨時(shí)數(shù)據(jù)一個(gè)數(shù)據(jù)文件只能與一個(gè)數(shù)據(jù)庫相關(guān)聯(lián)(N:1)??梢詫?shù)據(jù)文件設(shè)置一些特性,在數(shù)據(jù)庫空間用完的情況下可以自動(dòng)擴(kuò)展。一個(gè)或多個(gè)數(shù)據(jù)文件構(gòu)成了一個(gè)數(shù)據(jù)庫存儲(chǔ)的邏輯單元——表空間(tablespace)。

提示:表空間是數(shù)據(jù)庫存儲(chǔ)的邏輯單位。數(shù)據(jù)庫文件如果離開了表空間將失去意義,而表空間如果離開了數(shù)據(jù)文件將失去物理基礎(chǔ)數(shù)據(jù)文件的特點(diǎn)例:使用數(shù)據(jù)字典dba_data_files查看表空間system所對應(yīng)的數(shù)據(jù)文件的部分信息。SQL>descdba_data_files;SQL>selectfile_name,tablespace_name,autoextensiblefromdba_data_fileswheretablespace_name=‘SYSTEM’;dba_data_files表結(jié)構(gòu):查詢執(zhí)行結(jié)果:2.1.2控制文件數(shù)據(jù)庫控制文件(controlfile)是一個(gè)很小的二進(jìn)制文件,用于維護(hù)數(shù)據(jù)庫的全局物理結(jié)構(gòu),它存放著數(shù)據(jù)庫中數(shù)據(jù)文件和日志文件的信息。創(chuàng)建數(shù)據(jù)庫時(shí),同時(shí)就提供了與之對應(yīng)的控制文件。每一個(gè)控制文件只能與一個(gè)Oracle數(shù)據(jù)庫相關(guān)聯(lián)。控制文件包含了數(shù)據(jù)庫實(shí)例在啟動(dòng)和正常操作時(shí),訪問數(shù)據(jù)庫所需的關(guān)于數(shù)據(jù)庫的信息。一旦損壞,數(shù)據(jù)庫將無法正常工作查詢當(dāng)前數(shù)據(jù)庫的控制文件信息(使用數(shù)據(jù)字典:V$controlfile)提示:Oracle一般會(huì)默認(rèn)創(chuàng)建3個(gè)包含相同信息的控制文件,分別存儲(chǔ)在不同磁盤互為鏡像,以防其中之一受損時(shí),數(shù)據(jù)庫可以調(diào)用其他控制文件繼續(xù)工作SQL>columnnameformata50;SQL>selectnamefromV$controlfile;控制文件包含的信息數(shù)據(jù)庫名稱數(shù)據(jù)庫創(chuàng)建的時(shí)間戳相關(guān)的數(shù)據(jù)文件、重演日志文件的名稱和位置表空間信息數(shù)據(jù)文件脫機(jī)范圍日志歷史歸檔日志信息備份組和備份塊信息備份數(shù)據(jù)文件和重演日志信息數(shù)據(jù)文件拷貝信息當(dāng)前日志序列數(shù)檢查點(diǎn)(checkpoint)信息2.1.3重做日志文件每一個(gè)Oracle數(shù)據(jù)庫都有一個(gè)由兩個(gè)或多個(gè)重演日志文件(redologfile)構(gòu)成的文件組,這組重演日志文件合稱為數(shù)據(jù)庫的重演日志。一個(gè)重演日志文件是由重做條目(redoentry,也叫重做記錄)組成的。重演日志的主要功能是記錄下所有數(shù)據(jù)的改變。重演日志文件中的信息可以用在數(shù)據(jù)庫從系統(tǒng)失敗或者介質(zhì)失敗的恢復(fù)之中。

記錄數(shù)據(jù)庫所有修改信息的文件,簡稱日志文件,是數(shù)據(jù)庫最重要的文件之一。其中修改信息包括數(shù)據(jù)的修改信息或者數(shù)據(jù)庫結(jié)構(gòu)的修改信息等。為了確保日志文件的安全,在實(shí)際應(yīng)用中,允許對日志文件進(jìn)行鏡像,它們構(gòu)成一個(gè)日志文件組,同一個(gè)族的日志文件最好放在不同的磁盤中。Oracle中的多個(gè)日志文件組是循環(huán)使用的。當(dāng)所有的日志文件組的空間都被填滿后,系統(tǒng)將重新切換到第一個(gè)日志文件組,發(fā)生日志切換時(shí),日志文件組中已有的信息是否被覆蓋取決于系統(tǒng)運(yùn)行的模式(歸檔模式和非歸檔模式。)日志文件組2.1.4其他文件

1.歸檔重演日志文件歸檔重演日志文件(archivelogfile)就是對寫滿的重演日志文件進(jìn)行復(fù)制并保存而生成的文件。

可以通過設(shè)置數(shù)據(jù)庫為歸檔模式(ARCHIVELOGmode)下來自動(dòng)地保存日志文件。歸檔進(jìn)程(ARCO)在后臺(tái)負(fù)責(zé)把寫滿的重演日志文件復(fù)制到歸檔日志目標(biāo)中。歸檔日志文件在數(shù)據(jù)庫恢復(fù)時(shí)起決定性作用。2.參數(shù)文件(parameterfile)

參數(shù)文件包含了一組關(guān)于數(shù)據(jù)庫和實(shí)例的配置參數(shù)。主要包括數(shù)據(jù)庫名和控制文件所在路徑。有文本參數(shù)文件(parameterFile,簡稱Pfile。ini<SID>.ora)和服務(wù)器參數(shù)文件(ServerParameterFile,簡稱Spfile,spfile<SID>.ora)兩種類型。

Oracle推薦用戶使用一個(gè)服務(wù)器參數(shù)文件作為維護(hù)初始化參數(shù)的動(dòng)態(tài)手段。一個(gè)服務(wù)器參數(shù)文件允許用戶在一個(gè)服務(wù)器端的磁盤文件里持久地保存和管理初始化參數(shù)。3.警告、跟蹤日志文件

每一個(gè)服務(wù)器和后臺(tái)進(jìn)程都可以寫入一個(gè)相關(guān)的跟蹤文件(tracefile)。當(dāng)一個(gè)進(jìn)程發(fā)現(xiàn)了一個(gè)內(nèi)部錯(cuò)誤的時(shí)候,它把關(guān)于錯(cuò)誤的信息轉(zhuǎn)儲(chǔ)到它的跟蹤文件里。寫入到跟蹤文件的一部分信息是給數(shù)據(jù)庫管理員使用的,而其他信息是給Oracle支持服務(wù)的。跟蹤文件信息還可以用于調(diào)整應(yīng)用程序和實(shí)例。警告文件(alertfile)是一種特殊的跟蹤文件,一個(gè)數(shù)據(jù)庫的警告文件就是包括按時(shí)間排序的消息和錯(cuò)誤的記錄。

4.備份文件用戶管理的備份和恢復(fù)實(shí)際上就是要求用戶在試圖恢復(fù)備份的時(shí)候先還原備份文件。服務(wù)器管理的備份和恢復(fù)管理了備份過程,例如,調(diào)度備份及恢復(fù)過程就是在需要恢復(fù)的時(shí)候施加正確的備份文件。主要的邏輯存儲(chǔ)結(jié)構(gòu):表空間各種段數(shù)據(jù)段索引段臨時(shí)段回滾段區(qū)間數(shù)據(jù)塊2.2Oracle數(shù)據(jù)庫的邏輯存儲(chǔ)結(jié)構(gòu)表空間段數(shù)據(jù)塊數(shù)據(jù)塊數(shù)據(jù)庫表空間段區(qū)區(qū)………Oracle數(shù)據(jù)庫的邏輯結(jié)構(gòu)表空間是Oracle中最大的邏輯存儲(chǔ)結(jié)構(gòu),它與物理上的一個(gè)或多個(gè)數(shù)據(jù)文件相對應(yīng),每個(gè)Oracle數(shù)據(jù)庫都至少擁有一個(gè)表空間。表空間的大小等于構(gòu)成表空間的所有數(shù)據(jù)文件大小的總和。表空間用于存儲(chǔ)用戶在數(shù)據(jù)庫中創(chuàng)建的所有的內(nèi)容。2.2.1表空間(Tablespace)表空間與數(shù)據(jù)文件的關(guān)系一個(gè)表空間與硬盤上的一個(gè)或多個(gè)物理數(shù)據(jù)文件相對應(yīng)。例:通過數(shù)據(jù)字典dba_tablespaces,查看當(dāng)前數(shù)據(jù)庫的所有表空間的名稱SQL>selecttablespace_namefromdba_tablespaces;Oracle自動(dòng)創(chuàng)建的表空間的說明:見P23頁中表2-1系統(tǒng)表空間臨時(shí)表空間工具表空間用戶表空間數(shù)據(jù)庫索引表空間回滾表空間主要的數(shù)據(jù)庫表空間Oracle允許在逐個(gè)表空間基礎(chǔ)上控制數(shù)據(jù)庫數(shù)據(jù)的可用性在聯(lián)機(jī)表空間中的數(shù)據(jù)對于應(yīng)用程序和數(shù)據(jù)庫來說是可用的在脫機(jī)表空間中的數(shù)據(jù)對于應(yīng)用程序和數(shù)據(jù)庫來說是不可用的,即使當(dāng)數(shù)據(jù)庫是可用的也是如此。聯(lián)機(jī)和脫機(jī)表空間永久表空間和臨時(shí)表空間在Oracle數(shù)據(jù)庫中,大多數(shù)表空間是永久表空間。永久表空間存儲(chǔ)單個(gè)SQL請求和事務(wù)中必須存留的信息。Oracle還允許在數(shù)據(jù)庫中創(chuàng)建臨時(shí)表空間。臨時(shí)表空間使事務(wù)能夠用于處理復(fù)雜SQL操作的大量臨時(shí)工作空間,如存儲(chǔ)查詢、連接查詢和建立索引等。段是一組盤區(qū),是Oracle管理數(shù)據(jù)庫對象的單位。是終端用戶能處理的最小單位。Oracle為段分配的空間是以數(shù)據(jù)區(qū)為單位的,當(dāng)斷的數(shù)據(jù)區(qū)已滿,Oracle圍棋分配另一個(gè)數(shù)據(jù)區(qū)。段的數(shù)據(jù)區(qū)可以是不連續(xù)的磁盤空間。段可以分為:數(shù)據(jù)段、索引段、臨時(shí)段、回退段四種類型。2.2.2段(Segment)1.數(shù)據(jù)段用于存儲(chǔ)表中的數(shù)據(jù)。數(shù)據(jù)段的名稱與表的名稱相同。系統(tǒng)為分區(qū)表的每個(gè)分區(qū)分配一個(gè)數(shù)據(jù)段。2.索引段用于存儲(chǔ)表中國的所有索引信息。索引段的名稱與索引相同。分區(qū)索引的每一個(gè)分區(qū)對應(yīng)一個(gè)索引段。3.臨時(shí)表臨時(shí)段用于存儲(chǔ)臨時(shí)數(shù)據(jù)。排序或者匯總時(shí)所產(chǎn)生的臨時(shí)數(shù)據(jù)都存儲(chǔ)在臨時(shí)段中,該段由系統(tǒng)在用戶的臨時(shí)表空間中自動(dòng)創(chuàng)建,兵在排序或者匯總結(jié)束是自動(dòng)消除。4.回退段用于存儲(chǔ)用戶數(shù)據(jù)被修改之前的值。用于用戶進(jìn)行回退(恢復(fù))操作時(shí)使用。每個(gè)Oracle數(shù)據(jù)庫至少擁有一個(gè)回退段。2.2.3區(qū)(EXtent)區(qū)時(shí)磁盤空間分配的最小單位,由一個(gè)或多個(gè)數(shù)據(jù)塊組成。當(dāng)段中的所有空間被使用完后,系統(tǒng)將自動(dòng)為該段分配一個(gè)新的區(qū)。段所包含的區(qū)的個(gè)數(shù)由:minextents和maxextents參數(shù)決定。2.2.4數(shù)據(jù)塊是用來管理存儲(chǔ)空間的最基本的單位,也是最小的邏輯存儲(chǔ)單位。塊頭部:包含數(shù)據(jù)塊中的餓一般屬性信息,如物理地址、所屬斷的類型等。表目錄:用來存儲(chǔ)相關(guān)對象的信息。行目錄:用來存儲(chǔ)數(shù)據(jù)塊中有效的行信息??臻e空間:數(shù)據(jù)塊中還沒有使用的存儲(chǔ)空間。行空間:數(shù)據(jù)塊中已使用的存儲(chǔ)空間塊頭部表目錄行目錄空閑空間行空間塊頭部信息區(qū)塊的默認(rèn)大小,由db_block_size參數(shù)在數(shù)據(jù)庫創(chuàng)建時(shí)指定,一旦數(shù)據(jù)庫創(chuàng)建成功后無法修改。2.2.5表空間、段、分區(qū)和數(shù)據(jù)塊的關(guān)系圖2.3Oracle數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)與實(shí)例Oracle數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)包括:Oracle實(shí)例(Instance)、數(shù)據(jù)庫文件、用戶進(jìn)程、服務(wù)器進(jìn)程,以及其他文件如:密碼文件、和歸檔文件(ArchiveLogFile)等。Oracle數(shù)據(jù)庫管理系統(tǒng)包括:Oracle數(shù)據(jù)庫和Oracle實(shí)例Oracle數(shù)據(jù)庫是一組相關(guān)的操作系統(tǒng)文件的集合2.3.1Oracle數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)LibrarycacheDatadictcacheOracle數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)Oracle系統(tǒng)結(jié)構(gòu)圖2.3.2Oracle數(shù)據(jù)庫實(shí)例Oracle實(shí)例由一些內(nèi)存區(qū)和后臺(tái)進(jìn)程組成。內(nèi)存區(qū)域主要包括:數(shù)據(jù)庫高速緩存、共享池、流池以及其他可選內(nèi)存區(qū)(如java池)。后臺(tái)進(jìn)程主要由:系統(tǒng)監(jiān)控進(jìn)程(SMON)、進(jìn)程監(jiān)控(PMON)、數(shù)據(jù)庫寫進(jìn)程(DBWR)、日志寫進(jìn)程(LGWR)、檢驗(yàn)點(diǎn)進(jìn)程(CKPT)、其他進(jìn)程(如ARCn進(jìn)程、RECO進(jìn)程)1.實(shí)例和數(shù)據(jù)庫之間的關(guān)系2.Oracle實(shí)例與參數(shù)文件每個(gè)實(shí)例都要用稱為SID(systemidentifier,系統(tǒng)標(biāo)識(shí)符)的符號(hào)來標(biāo)識(shí)決定實(shí)例的大小及組成的參數(shù)存儲(chǔ)在初始化參數(shù)文件(init.ora)中,啟動(dòng)實(shí)例時(shí)讀取這個(gè)文件,在運(yùn)行時(shí)可由數(shù)據(jù)庫管理員修改對該文件的任何修改都只有在數(shù)據(jù)庫下一次啟動(dòng)時(shí)才起作用2.3.3Oracle數(shù)據(jù)庫系統(tǒng)的內(nèi)存結(jié)構(gòu)1.系統(tǒng)全局區(qū)(SGA)主要部分組成數(shù)據(jù)庫高速緩存區(qū)共享池重做日志緩存區(qū)大緩存池固定的SGA。緩沖區(qū)域共享區(qū)域系統(tǒng)全局區(qū)(SGA)軟件代碼區(qū)域??臻g會(huì)話信息其他區(qū)程序全局區(qū)(PGA)Oracle內(nèi)存結(jié)構(gòu)圖數(shù)據(jù)庫高速緩存區(qū)

(DatabaseBufferCache)圖2.8數(shù)據(jù)庫高速緩存區(qū)用于存儲(chǔ)從磁盤數(shù)據(jù)文件中讀取的數(shù)據(jù),供所有用戶共享,以提高數(shù)據(jù)庫的整體效率共享池Sharepool圖2.9共享池中的內(nèi)存結(jié)構(gòu)

用于保存最近執(zhí)行的SQL語句、PL/SQL程序的數(shù)據(jù)字典信息,以用于系統(tǒng)對其進(jìn)行語法分析、編譯和執(zhí)行的內(nèi)存區(qū)域。重做日志緩存區(qū)用于在內(nèi)存中存儲(chǔ)未被刷新寫入聯(lián)機(jī)重做日志文件的重做信息是Oracle在循環(huán)方式下使用的先進(jìn)先出的緩沖區(qū)大小可在初始化參數(shù)文件中由logbuffer參數(shù)設(shè)定,以字節(jié)為單位大緩存池是Oracle的一個(gè)可選內(nèi)存區(qū),主要用于多線程的服務(wù)器或備份還原等操作固定的SGA用于存儲(chǔ)極大量的值。為了對實(shí)例進(jìn)行操作,這些值需要在內(nèi)部進(jìn)行記錄。程序全局區(qū)(PGA)

獨(dú)立于SGA,不會(huì)出現(xiàn)在SGA中。由操作系統(tǒng)在本地分配。在系統(tǒng)全局區(qū)可用的共享內(nèi)存連接到Oracle數(shù)據(jù)庫的進(jìn)程的私有的內(nèi)存區(qū)--程序全局區(qū)(PGA)程序全局區(qū)不能共享程序全局區(qū)含有單個(gè)進(jìn)程工作時(shí)需要的數(shù)據(jù)、控制信息、進(jìn)程會(huì)話變量和內(nèi)部數(shù)組等2.3.4Oracle數(shù)據(jù)庫系統(tǒng)的后臺(tái)進(jìn)程圖2.10典型的Oracle后臺(tái)進(jìn)程集合

在NT服務(wù)器上,后臺(tái)進(jìn)程的執(zhí)行是作為OracleService的多線程實(shí)現(xiàn)的,它允許Oracle進(jìn)程更有效地使用共享內(nèi)存地址空間,從而減少了NT操作系統(tǒng)處理。Oracle數(shù)據(jù)庫啟動(dòng)時(shí),會(huì)啟動(dòng)多個(gè)Oracle后臺(tái)進(jìn)程,用于異步執(zhí)行不同的特定任務(wù)。通過查詢數(shù)據(jù)字典v$bgprocess可以查看它們的相關(guān)信息。DBWn進(jìn)程:數(shù)據(jù)庫寫入進(jìn)程,負(fù)責(zé)將數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)寫入數(shù)據(jù)文件。其主要有以下幾個(gè)作用:管理數(shù)據(jù)緩沖區(qū),一遍用戶進(jìn)程總能找到空閑的緩沖區(qū)。將所有修改后的緩沖區(qū)數(shù)據(jù)(dirtydata)寫入數(shù)據(jù)文件。使用LRU算法將最近使用過的塊保留在內(nèi)存中。通過延遲些來優(yōu)化磁盤I/O讀寫。DBWn進(jìn)程最多可以啟動(dòng)20個(gè),分別命名為DBW0,DBW1….DBW9,DBWa,,,DBWj。由參數(shù)db_writer_processes決定。LGWR進(jìn)程日志寫入進(jìn)程,負(fù)責(zé)管理日志緩沖區(qū)的后臺(tái)進(jìn)程。將日志信息同步的寫入在線日志文件組中。若整個(gè)日志文件組均無法使用,則進(jìn)程會(huì)被掛起,直至問題被解決。CKPT進(jìn)程檢驗(yàn)點(diǎn)進(jìn)程。一般在發(fā)生日志切換時(shí)自動(dòng)產(chǎn)生,用于縮短實(shí)例恢復(fù)所需要的時(shí)間。在檢查點(diǎn)期間,該進(jìn)程更新控制文件與數(shù)據(jù)文件的標(biāo)題,從而反映最近成功SCN(系統(tǒng)更改號(hào))。參數(shù)Log_checkpoint_timeout:設(shè)置檢查點(diǎn)產(chǎn)生的時(shí)間間隔,默認(rèn)1800秒。參數(shù)Log_checkpoint_interval:設(shè)置一個(gè)檢查點(diǎn)需要填充的日志文件塊的數(shù)目。默認(rèn)為0。SMON進(jìn)程:系統(tǒng)監(jiān)控進(jìn)程,所負(fù)責(zé)的工作有:數(shù)據(jù)庫實(shí)例故障恢復(fù)管理和維護(hù)表空間中的空閑空間系統(tǒng)啟動(dòng)期間,回收所有表空間中的臨時(shí)段PMON進(jìn)程:用戶進(jìn)程監(jiān)控進(jìn)程,負(fù)責(zé)用戶進(jìn)程故障恢復(fù),清理釋放用戶進(jìn)程的內(nèi)存區(qū)域。周期性檢查調(diào)度進(jìn)程和服務(wù)器進(jìn)程狀態(tài)。ARCn進(jìn)程:歸檔進(jìn)程。用于將邪門的日志文件復(fù)制到歸檔日志文件中,防止日志文件組中的日志信息被覆蓋或者破壞。運(yùn)行在數(shù)據(jù)庫服務(wù)器歸檔模式下。RECO進(jìn)程:存在于分布式數(shù)據(jù)庫系統(tǒng)中,用于自動(dòng)解決在分布式數(shù)據(jù)庫系統(tǒng)中出現(xiàn)的事務(wù)故障。主要負(fù)責(zé)事務(wù)回滾,保持分布式系統(tǒng)中數(shù)據(jù)的一致性。2.3.5數(shù)據(jù)庫字典Oracle數(shù)據(jù)庫字典(datadictionary),是存儲(chǔ)在數(shù)據(jù)庫中的所有對象信息的知識(shí)庫,Oracle數(shù)據(jù)庫管理系統(tǒng)使用數(shù)據(jù)字典獲取對象信息和安全信息。而用戶和數(shù)據(jù)庫系統(tǒng)管理員則用數(shù)據(jù)字典查詢數(shù)據(jù)庫信息。數(shù)據(jù)字典中保存有數(shù)據(jù)庫中對象和段的信息,如:表、索引、視圖、包、存儲(chǔ)過程以及與用戶、權(quán)限、角色、審計(jì)和約束等相關(guān)的信息數(shù)據(jù)字典試只讀的,用戶不能修改數(shù)據(jù)信息和結(jié)構(gòu)。數(shù)據(jù)字典主要有:user視圖,all視圖,dba視圖,v$視圖,GV$視圖。詳見P32表2-2。2.4Oracle數(shù)據(jù)庫的應(yīng)用結(jié)構(gòu)主要的應(yīng)用結(jié)構(gòu)有:多磁盤結(jié)構(gòu)磁盤映像系統(tǒng)客戶/服務(wù)器系統(tǒng)多線程服務(wù)器系統(tǒng)并行數(shù)據(jù)庫系統(tǒng)分布式數(shù)據(jù)庫系統(tǒng)OracleWebServer系統(tǒng)2.4.1多磁盤結(jié)構(gòu)圖2.14多磁盤結(jié)構(gòu)上的Oracle服務(wù)器

2.4.2磁盤映像系統(tǒng)磁盤映像的好處。磁盤映像可以作為磁盤失效時(shí)的備份來使用。可以改進(jìn)系統(tǒng)的性能2.4.3客戶/服務(wù)器系統(tǒng)

應(yīng)用程序運(yùn)行在客戶端的工作站上,Oracle數(shù)據(jù)庫運(yùn)行在服務(wù)器上,二者通過以太網(wǎng)連接在一起。為了使客戶和服務(wù)器易于連接,Oracle提供了SQL*Net的高層網(wǎng)絡(luò)協(xié)議。在客戶/服務(wù)器環(huán)境下,所有客戶都安裝了SQL*Net客戶端軟件,服務(wù)器則安裝相應(yīng)的服務(wù)端軟件。SQL*Net提供了一個(gè)程序代碼的公用接口,而不用考慮其底層的實(shí)現(xiàn)?;诳蛻簦?wù)器的Oracle系統(tǒng)

圖2.15基于客戶/服務(wù)器的Oracle系統(tǒng)客戶機(jī)與服務(wù)器通信必須進(jìn)行的幾步操作服務(wù)器必須配置成通過網(wǎng)絡(luò)接受通信。服務(wù)器必須識(shí)別哪個(gè)數(shù)據(jù)庫允許網(wǎng)絡(luò)登錄。服務(wù)器必須運(yùn)行SQL*Net。客戶機(jī)必須配置成通過網(wǎng)絡(luò)進(jìn)行通信。客戶機(jī)必須有充足的內(nèi)存和磁盤資源可供使用。客戶機(jī)必須已安裝有SQL*Net,并指定一個(gè)連接字符串。三層模式的Oracle系統(tǒng)computerserver客戶機(jī)1客戶機(jī)2數(shù)據(jù)庫服務(wù)器應(yīng)用程序服務(wù)器圖2.16三層模式的Oracle系統(tǒng)三層配置的優(yōu)點(diǎn)可量測性有利于應(yīng)用程序的執(zhí)行易于分布式處理提高了性能能簡化對客戶機(jī)的維護(hù)2.4.4多線程服務(wù)器系統(tǒng)多線程服務(wù)器(MTS)允許多用戶會(huì)話共享一組服務(wù)器進(jìn)程,因而減少了支持大量用戶所必要的資源開銷。同時(shí),多線程服務(wù)器的體系結(jié)構(gòu)也允許降低這些服務(wù)器會(huì)話的全部空閑時(shí)間。多線程服務(wù)器的體系結(jié)構(gòu)不同于專用服務(wù)器。共享服務(wù)器進(jìn)程不直接與調(diào)度器或服務(wù)器進(jìn)程交互,而是監(jiān)控請求隊(duì)列。

多線程服務(wù)器的下列參數(shù)進(jìn)行設(shè)置mts_dispatchersmts_serversmts_max_servers可以通過在SQL*Plus中查詢動(dòng)態(tài)視圖V$SESSION來確定當(dāng)前連接到啟動(dòng)數(shù)據(jù)庫的類型,若結(jié)果是DEDICATED,則目前是專用服務(wù)器配置;若結(jié)果是SHARED,則目前是多線程服務(wù)器。查詢命令為:{SELECTserverFROMV$SESSIONWHEREaudsid=USERENV('SESSIONID');}2.4.5并行數(shù)據(jù)庫系統(tǒng)配置針對一個(gè)Oracle實(shí)例訪問的數(shù)據(jù)庫針對兩個(gè)或兩個(gè)以上數(shù)據(jù)庫實(shí)例(服務(wù)器)訪問同一個(gè)數(shù)據(jù)庫--Oracle并行服務(wù)器(oracleparallelserver,OPS)3個(gè)獨(dú)立的Oracle實(shí)例共享同一數(shù)據(jù)庫文件

圖2.18Oracle并行服務(wù)器

并行服務(wù)器的好處可以增加數(shù)據(jù)庫資源的數(shù)量或凈值數(shù)量允許數(shù)據(jù)庫為更多的用戶處理更多的工作提供了一種對災(zāi)難進(jìn)行恢復(fù)的手段可以根據(jù)執(zhí)行的進(jìn)程的類型對用戶進(jìn)行分組,并且大量占用CPU的用戶可以留在與常規(guī)聯(lián)機(jī)處理事務(wù)相分離的一個(gè)主機(jī)上設(shè)計(jì)使用并行數(shù)據(jù)庫時(shí)需要注意的問題可以使用不同的初始化參數(shù)配置在并行服務(wù)器數(shù)據(jù)庫上運(yùn)行的各種實(shí)例。用戶可以把系統(tǒng)設(shè)計(jì)為使用具有一個(gè)或多個(gè)富余實(shí)例的并行服務(wù)器,以便在主實(shí)例不可獲取時(shí)仍能支持自己的所有用戶。如果硬件可以支持足夠的節(jié)點(diǎn),可以在相同的數(shù)據(jù)庫上使用并行服務(wù)器的伸縮特性及故障恢復(fù)能力。設(shè)計(jì)使用并行數(shù)據(jù)庫時(shí)需要注意的問題在設(shè)計(jì)多實(shí)例數(shù)據(jù)庫時(shí),在伸縮特性及故障恢復(fù)能力這兩個(gè)功能之間進(jìn)行明確的區(qū)分是非常重要的。需要做好準(zhǔn)備修改單實(shí)例數(shù)據(jù)庫使用的初始化參數(shù)文件中的參數(shù),以使并行服務(wù)器使用的多個(gè)實(shí)例可以成功地相互作用。

在并行方式下啟動(dòng)一個(gè)實(shí)例的兩種方法需要將初始化文件中的parallelserver設(shè)為true。通過在SQL*Plus的STARTUP命令中包括PARALLEL或SHARED關(guān)鍵字。在數(shù)據(jù)庫管理器總控臺(tái)的實(shí)例管理屏上使用SHARED單選按鈕。2.4.6分布式數(shù)據(jù)庫系統(tǒng)

分布式數(shù)據(jù)庫系統(tǒng)是作為一個(gè)單獨(dú)的數(shù)據(jù)庫但位于不同場所的系統(tǒng)。這些場所可以在任何地方,可以在緊鄰的辦公室,也可以在地球的另一端。在一個(gè)由不同節(jié)點(diǎn)連接起來的網(wǎng)絡(luò)環(huán)境中,分布式數(shù)據(jù)庫擔(dān)當(dāng)一個(gè)單獨(dú)的系統(tǒng)。在一個(gè)分布式環(huán)境中,不同服務(wù)器(主機(jī))上的數(shù)據(jù)庫彼此共享數(shù)據(jù)。每個(gè)服務(wù)器既能在物理上分離,又可以保持彼此間的邏輯關(guān)系。分布式數(shù)據(jù)庫系統(tǒng)圖2.19分布式數(shù)據(jù)庫系統(tǒng)分布式事務(wù)會(huì)的好處其他服務(wù)器上的數(shù)據(jù)庫可以被更新,并且這些事務(wù)可以與其他事務(wù)組成一個(gè)邏輯單元數(shù)據(jù)庫對2PC的使用接收的數(shù)據(jù)庫的3種響應(yīng)方式準(zhǔn)備好——已準(zhǔn)備好進(jìn)行更新只讀——沒有準(zhǔn)備的必要退出——子處理不能執(zhí)行更新2.4.7OracleWebserver系統(tǒng)隨著網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,數(shù)據(jù)庫技術(shù)也面臨著一場深刻的變革OracleWebServer相當(dāng)于一個(gè)簡單請求傳送者的角色OracleWebServer支持用內(nèi)建的過程創(chuàng)建HTML文檔OracleWebServer的基本組成及功能

Web監(jiān)聽器在Oracle主機(jī)上的HTTP引擎,它接受并管理服務(wù)請求,它可以監(jiān)聽多個(gè)遠(yuǎn)程客戶的服務(wù)請求并把這些請求交給Web請求代理器Web請求代理器一個(gè)異步請求處理程序,它具有一個(gè)能使它與各種后端程序組件動(dòng)態(tài)無縫地進(jìn)行交互的應(yīng)用程序接口公共網(wǎng)關(guān)接口和Web請求代理器的作用類似,也是把用戶的請求與Web服務(wù)器聯(lián)系起來一些Cartridge是Oracle中的一些組件或稱為工具的一組程序OracleWebServer的體系結(jié)構(gòu)

圖2.20OracleWebServer的體系結(jié)構(gòu)2.5本章小結(jié)介紹了Oracle10g數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)數(shù)據(jù)庫是通過各種存儲(chǔ)結(jié)構(gòu)有組織地存儲(chǔ)數(shù)據(jù)的Oracle的存儲(chǔ)結(jié)構(gòu)可以分為物理結(jié)構(gòu)和邏輯結(jié)構(gòu)Oracle系統(tǒng)是由數(shù)據(jù)庫文件和作用在文件之上的實(shí)例構(gòu)成的Oracle在實(shí)際中的廣泛應(yīng)用決定了Oracle數(shù)據(jù)庫的多樣的、適用的應(yīng)用解決方案2.6習(xí)題選擇題(1) ()是一個(gè)小二進(jìn)制文件,它維護(hù)著數(shù)據(jù)庫的全局物理結(jié)構(gòu),用以支持?jǐn)?shù)據(jù)庫成功地啟動(dòng)和運(yùn)行。A. 數(shù)據(jù)文件 B. 控制文件C. 日志文件 D. 參數(shù)文件(2) 如果出現(xiàn)了失敗故障,用戶修改的數(shù)據(jù)沒有永久地寫入到數(shù)據(jù)文件里,那么就可以利用()找到數(shù)據(jù)的更改,這樣做過的工作就不會(huì)丟失了。A. 數(shù)據(jù)文件 B. 控制文件C. 日志文件 D. 參數(shù)文件2.6習(xí)題填空題(1) 從存儲(chǔ)結(jié)構(gòu)的角度來說,Oracle數(shù)據(jù)庫可分為

。(2) Oracle實(shí)例,也被稱作數(shù)據(jù)庫服務(wù)或服務(wù)器,是一組

,Oracle使用它們來管理數(shù)據(jù)庫訪問。(3) 內(nèi)存結(jié)構(gòu)是指一個(gè)進(jìn)程在其中進(jìn)行自身對話或與其他進(jìn)程對話的內(nèi)存區(qū)域,Oracle使用兩種類型的內(nèi)存結(jié)構(gòu),一種是

;另一種是

。2.6習(xí)題簡答題(1) 簡要介紹表空間和數(shù)據(jù)文件之間的關(guān)系。(2) 簡要介紹段、區(qū)間和數(shù)據(jù)塊之間的關(guān)系。(3) Oracle實(shí)例有哪些后臺(tái)進(jìn)程,各實(shí)現(xiàn)了什么功能?2.6習(xí)題上機(jī)操作題(1) 在SQL*Plus環(huán)境下,查詢構(gòu)成一個(gè)數(shù)據(jù)庫的各種文件:① 查詢構(gòu)成數(shù)據(jù)庫的數(shù)據(jù)文件列表;② 查詢數(shù)據(jù)庫的控制文件的名字和位置。(2) 在SQL*Plus環(huán)境下,查詢當(dāng)前與Oracle的會(huì)話,以確定連接到數(shù)據(jù)庫的類型。樹立質(zhì)量法制觀念、提高全員質(zhì)量意識(shí)。7月-237月-23Saturday,July15,2023人生得意須盡歡,莫使金樽空對月。20:00:5820:00:5820:007/15/20238:00:58PM安全象只弓,不拉它就松,要想保安全,常把弓弦繃。7月-2320:00:5820:00Jul-2315-Jul-23加強(qiáng)交通建設(shè)管理,確保工程建設(shè)質(zhì)量。20:00:5820:00:5820:00Saturday,July15,2023安全在于心細(xì),事故出在麻痹。7月-237月-2320:00:5820:00:58July15,2023踏實(shí)肯干,努力奮斗。2023年7月15日8:00下午7月-237月-23追求至善憑技術(shù)開拓市場,憑管理增創(chuàng)效益,憑服務(wù)樹立形象。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論