




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1內(nèi)容簡要內(nèi)容簡要使用使用Oracle數(shù)據(jù)庫,必須了解數(shù)據(jù)庫,必須了解Oracle體系的基本結(jié)體系的基本結(jié)構(gòu),以及構(gòu),以及Oracle組件之間的相互關(guān)系、他們在結(jié)構(gòu)組件之間的相互關(guān)系、他們在結(jié)構(gòu)中的位置、如何以最佳方式定制系統(tǒng)滿足用戶的需中的位置、如何以最佳方式定制系統(tǒng)滿足用戶的需要。本講從物理結(jié)構(gòu)、邏輯結(jié)構(gòu)、內(nèi)存結(jié)構(gòu)和進(jìn)程要。本講從物理結(jié)構(gòu)、邏輯結(jié)構(gòu)、內(nèi)存結(jié)構(gòu)和進(jìn)程等方面剖析等方面剖析Oracle的體系結(jié)構(gòu)。的體系結(jié)構(gòu)。2Oracle體系概述體系概述n基于實(shí)例機(jī)制的數(shù)據(jù)服務(wù)系統(tǒng)基于實(shí)例機(jī)制的數(shù)據(jù)服務(wù)系統(tǒng)n數(shù)據(jù)庫數(shù)據(jù)庫Database):數(shù)據(jù)的存儲結(jié)構(gòu)):數(shù)據(jù)的存儲結(jié)構(gòu)n物理存儲結(jié)構(gòu):實(shí)際數(shù)據(jù)
2、存儲單元,如文件或數(shù)物理存儲結(jié)構(gòu):實(shí)際數(shù)據(jù)存儲單元,如文件或數(shù)據(jù)塊據(jù)塊n邏輯存儲結(jié)構(gòu):概念上的數(shù)據(jù)組織,如表空間、邏輯存儲結(jié)構(gòu):概念上的數(shù)據(jù)組織,如表空間、段空間、區(qū)、塊,模式對象表、視圖等)。段空間、區(qū)、塊,模式對象表、視圖等)。n實(shí)例實(shí)例Instance):服務(wù)器的內(nèi)存構(gòu)成和管理進(jìn)):服務(wù)器的內(nèi)存構(gòu)成和管理進(jìn)程程n內(nèi)存結(jié)構(gòu):內(nèi)存結(jié)構(gòu):SGA,PGAn管理進(jìn)程:服務(wù)器進(jìn)程管理進(jìn)程:服務(wù)器進(jìn)程Server process和后和后臺進(jìn)程臺進(jìn)程Oracle Process)。如果服務(wù)器處于共)。如果服務(wù)器處于共享服務(wù)器操作模式下,還包括調(diào)度程序進(jìn)程。享服務(wù)器操作模式下,還包括調(diào)度程序進(jìn)程。3 Or
3、acle存儲結(jié)構(gòu)存儲結(jié)構(gòu)n兩個(gè)方面,兩者是相互關(guān)聯(lián)的兩個(gè)方面,兩者是相互關(guān)聯(lián)的n物理存儲結(jié)構(gòu),實(shí)際的數(shù)據(jù)存儲單元物理存儲結(jié)構(gòu),實(shí)際的數(shù)據(jù)存儲單元n邏輯存儲結(jié)構(gòu),數(shù)據(jù)在概念上的組織邏輯存儲結(jié)構(gòu),數(shù)據(jù)在概念上的組織4物理存儲結(jié)構(gòu)物理存儲結(jié)構(gòu)n是指數(shù)據(jù)在是指數(shù)據(jù)在OS層的組織管理方式,有:層的組織管理方式,有:n數(shù)據(jù)文件數(shù)據(jù)文件Data files)n控制文件控制文件Control files)n重做日志文件重做日志文件Redo log files)n其他文件其他文件n歸檔日志文件歸檔日志文件Archived log files)n初始化參數(shù)文件初始化參數(shù)文件Parameter file)n口令文件
4、口令文件Password file)n警告文件警告文件(Alert file)n服務(wù)器進(jìn)程跟蹤文件服務(wù)器進(jìn)程跟蹤文件n后臺進(jìn)程跟蹤文件后臺進(jìn)程跟蹤文件5數(shù)據(jù)文件數(shù)據(jù)文件n數(shù)據(jù)文件數(shù)據(jù)文件(Data files)用于存儲數(shù)據(jù)庫數(shù)據(jù),包括用于存儲數(shù)據(jù)庫數(shù)據(jù),包括系統(tǒng)數(shù)據(jù)系統(tǒng)數(shù)據(jù)(數(shù)據(jù)字典數(shù)據(jù)字典)、用戶數(shù)據(jù)、用戶數(shù)據(jù)(表、索引、簇等表、索引、簇等)、撤銷撤銷(Undo)數(shù)據(jù)、臨時(shí)數(shù)據(jù)等。數(shù)據(jù)、臨時(shí)數(shù)據(jù)等。n系統(tǒng)數(shù)據(jù)是用來管理用戶數(shù)據(jù)和數(shù)據(jù)庫本身的數(shù)系統(tǒng)數(shù)據(jù)是用來管理用戶數(shù)據(jù)和數(shù)據(jù)庫本身的數(shù)據(jù)據(jù)n用戶數(shù)據(jù)是用于應(yīng)用軟件的數(shù)據(jù),帶有應(yīng)用軟件用戶數(shù)據(jù)是用于應(yīng)用軟件的數(shù)據(jù),帶有應(yīng)用軟件的所有信息,是用戶存
5、放在數(shù)據(jù)庫中的信息的所有信息,是用戶存放在數(shù)據(jù)庫中的信息n撤銷數(shù)據(jù)包含事務(wù)的回退信息撤銷數(shù)據(jù)包含事務(wù)的回退信息n臨時(shí)數(shù)據(jù)是排序、分組、游標(biāo)操作等生成的中間臨時(shí)數(shù)據(jù)是排序、分組、游標(biāo)操作等生成的中間過程數(shù)據(jù),一般由系統(tǒng)自動管理過程數(shù)據(jù),一般由系統(tǒng)自動管理6數(shù)據(jù)文件數(shù)據(jù)文件n在在Oracle數(shù)據(jù)庫中,至少要包含一個(gè)數(shù)據(jù)文件,數(shù)據(jù)庫中,至少要包含一個(gè)數(shù)據(jù)文件,一個(gè)數(shù)據(jù)文件包括多個(gè)一個(gè)數(shù)據(jù)文件包括多個(gè)OS物理磁盤塊。物理磁盤塊。 n數(shù)據(jù)庫邏輯上由一個(gè)或多個(gè)表空間數(shù)據(jù)庫邏輯上由一個(gè)或多個(gè)表空間(Tablespace)組成,而表空間物理上則是由一個(gè)或多個(gè)數(shù)據(jù)文組成,而表空間物理上則是由一個(gè)或多個(gè)數(shù)據(jù)文件組
6、成,如下圖。件組成,如下圖。 7重做日志文件重做日志文件n用于記錄數(shù)據(jù)庫變化用于記錄數(shù)據(jù)庫變化n在出現(xiàn)例程失敗或介在出現(xiàn)例程失敗或介n質(zhì)故障時(shí)恢復(fù)數(shù)據(jù)庫質(zhì)故障時(shí)恢復(fù)數(shù)據(jù)庫nOracle需要至少兩個(gè)需要至少兩個(gè)n重做日志文件組重做日志文件組n循環(huán)使用重做日志文件組循環(huán)使用重做日志文件組n重做日志文件的配置和大小將會影響到系統(tǒng)性能重做日志文件的配置和大小將會影響到系統(tǒng)性能nWindows下默認(rèn)創(chuàng)建下默認(rèn)創(chuàng)建3個(gè)組,每組一個(gè)文件個(gè)組,每組一個(gè)文件8重做日志文件重做日志文件nOracle數(shù)據(jù)庫有兩種運(yùn)行模式數(shù)據(jù)庫有兩種運(yùn)行模式nNOARCHIVELOG非歸檔日志方式非歸檔日志方式n為系統(tǒng)默認(rèn)模式為系統(tǒng)
7、默認(rèn)模式n系統(tǒng)不保留舊的重做日志系統(tǒng)不保留舊的重做日志n有限的恢復(fù)能力有限的恢復(fù)能力nARCHIVELOG歸檔日志方式歸檔日志方式n所有的事務(wù)重做日志都將保存所有的事務(wù)重做日志都將保存n在一個(gè)重做日志被覆蓋前為其建立一個(gè)副本在一個(gè)重做日志被覆蓋前為其建立一個(gè)副本n在重做日志歸檔工作完成之前,在重做日志歸檔工作完成之前,Oracle不對其進(jìn)不對其進(jìn)行覆蓋行覆蓋9 重做日志文件重做日志文件n日志管理日志管理10控制文件控制文件n用于記錄和維護(hù)數(shù)據(jù)庫的物理結(jié)構(gòu)用于記錄和維護(hù)數(shù)據(jù)庫的物理結(jié)構(gòu)n一個(gè)例程只能訪問一個(gè)數(shù)據(jù)庫,通過控制文件在一個(gè)例程只能訪問一個(gè)數(shù)據(jù)庫,通過控制文件在例程和數(shù)據(jù)庫之間建立關(guān)聯(lián)例
8、程和數(shù)據(jù)庫之間建立關(guān)聯(lián)nOracle啟動時(shí)通過控制文件查找數(shù)據(jù)文件的位置啟動時(shí)通過控制文件查找數(shù)據(jù)文件的位置和聯(lián)機(jī)重做日志。和聯(lián)機(jī)重做日志。n數(shù)據(jù)庫運(yùn)行時(shí),控制文件被不斷更新數(shù)據(jù)庫運(yùn)行時(shí),控制文件被不斷更新n數(shù)據(jù)庫至少要包含一個(gè)控制文件數(shù)據(jù)庫至少要包含一個(gè)控制文件n控制文件對數(shù)據(jù)庫至關(guān)重要,應(yīng)聯(lián)機(jī)保存多個(gè)備控制文件對數(shù)據(jù)庫至關(guān)重要,應(yīng)聯(lián)機(jī)保存多個(gè)備份,存儲在不同的磁盤上份,存儲在不同的磁盤上11其他文件其他文件n歸檔日志文件歸檔日志文件n只有在只有在ARCHIVELOG模式下才會生成歸檔日志文模式下才會生成歸檔日志文件。件。n初始化參數(shù)文件初始化參數(shù)文件(Parameter file)n用于定
9、義啟動例程所需要的初始化參數(shù),如數(shù)據(jù)用于定義啟動例程所需要的初始化參數(shù),如數(shù)據(jù)塊的大小、內(nèi)存結(jié)構(gòu)的配置等。塊的大小、內(nèi)存結(jié)構(gòu)的配置等。n文本格式的參數(shù)文件文本格式的參數(shù)文件(PFILE)n二進(jìn)制服務(wù)器參數(shù)文件二進(jìn)制服務(wù)器參數(shù)文件(Server Parameter File,SPFILE)n參數(shù)文件的默認(rèn)位置:參數(shù)文件的默認(rèn)位置:ORACLE_HOMEdatabasen文本參數(shù)文件的名稱格式:文本參數(shù)文件的名稱格式:init.oran服務(wù)器參數(shù)文件的名稱格式為:服務(wù)器參數(shù)文件的名稱格式為:SPFILE.ora12其他文件其他文件n口令文件口令文件(Password file)n存放具有存放具有S
10、YSDBA或或SYSOPER權(quán)限的用戶信息權(quán)限的用戶信息n初始特權(quán)用戶為初始特權(quán)用戶為SYSn口令文件的默認(rèn)位置:口令文件的默認(rèn)位置:ORACLE_HOMEdatabasen口令文件名稱格式:口令文件名稱格式:PWD.oran警告文件警告文件(Alert file)n連續(xù)的消息和錯(cuò)誤信息組成連續(xù)的消息和錯(cuò)誤信息組成n查看查看Oracle內(nèi)部錯(cuò)誤也可以監(jiān)視特權(quán)用戶的操作內(nèi)部錯(cuò)誤也可以監(jiān)視特權(quán)用戶的操作n應(yīng)從文件尾部開始查看應(yīng)從文件尾部開始查看n文件位置由初始化參數(shù)文件位置由初始化參數(shù)background_dump_dest確定確定n名稱格式為名稱格式為alert _.log13其他文件其他文件n
11、后臺進(jìn)程跟蹤文件后臺進(jìn)程跟蹤文件n用于記載后臺進(jìn)程的警告或錯(cuò)誤信息用于記載后臺進(jìn)程的警告或錯(cuò)誤信息n名稱格式為名稱格式為_.trcn服務(wù)器進(jìn)程跟蹤文件服務(wù)器進(jìn)程跟蹤文件n主要用于跟蹤主要用于跟蹤SQL語句語句n用于診斷用于診斷SQL語句的性能,并做出相應(yīng)的調(diào)整語句的性能,并做出相應(yīng)的調(diào)整n名稱為名稱為_ora_.trc14邏輯存儲結(jié)構(gòu)邏輯存儲結(jié)構(gòu)n數(shù)據(jù)庫的邏輯結(jié)構(gòu)是面向用戶的,描述了數(shù)據(jù)庫數(shù)據(jù)庫的邏輯結(jié)構(gòu)是面向用戶的,描述了數(shù)據(jù)庫在邏輯上是如何組織和存儲數(shù)據(jù)在邏輯上是如何組織和存儲數(shù)據(jù)n數(shù)據(jù)庫的邏輯結(jié)構(gòu)支配一個(gè)數(shù)據(jù)庫如何使用其物數(shù)據(jù)庫的邏輯結(jié)構(gòu)支配一個(gè)數(shù)據(jù)庫如何使用其物理空間。理空間。n數(shù)據(jù)庫
12、數(shù)據(jù)表、索引、簇物理上存放在數(shù)據(jù)數(shù)據(jù)庫數(shù)據(jù)表、索引、簇物理上存放在數(shù)據(jù)文件中,而邏輯上則存放在表空間中文件中,而邏輯上則存放在表空間中nOracle數(shù)據(jù)庫使用表空間、段、區(qū)間、數(shù)據(jù)塊等數(shù)據(jù)庫使用表空間、段、區(qū)間、數(shù)據(jù)塊等邏輯結(jié)構(gòu)管理對象空間邏輯結(jié)構(gòu)管理對象空間15 邏輯存儲結(jié)構(gòu)邏輯存儲結(jié)構(gòu)n一個(gè)一個(gè)Oracle數(shù)據(jù)庫可數(shù)據(jù)庫可n以擁有多個(gè)表空間,以擁有多個(gè)表空間,n每個(gè)表空間可包含多每個(gè)表空間可包含多n個(gè)段,每個(gè)段由若干個(gè)段,每個(gè)段由若干n個(gè)區(qū)間組成,每個(gè)區(qū)個(gè)區(qū)間組成,每個(gè)區(qū)n間包含多個(gè)數(shù)據(jù)塊,間包含多個(gè)數(shù)據(jù)塊,n每個(gè)每個(gè)Oracle數(shù)據(jù)塊由多個(gè)數(shù)據(jù)塊由多個(gè)OS物理磁盤塊組成。物理磁盤塊組成。
13、n表空間由多個(gè)物理文件支持,具體存儲表空間中表空間由多個(gè)物理文件支持,具體存儲表空間中的各對象的各對象16表空間表空間Tablespace)n用表空間將相關(guān)的邏輯結(jié)構(gòu)進(jìn)行分組用表空間將相關(guān)的邏輯結(jié)構(gòu)進(jìn)行分組n一個(gè)一個(gè)Oracle數(shù)據(jù)庫中至少要包含一個(gè)數(shù)據(jù)庫中至少要包含一個(gè)SYSTEM表表空間和一個(gè)空間和一個(gè)SYSAUX表空間表空間10g引入)引入)n一般還包含數(shù)據(jù)表空間、索引表空間、臨時(shí)表空一般還包含數(shù)據(jù)表空間、索引表空間、臨時(shí)表空間和間和UNDO表空間等表空間等n表空間的空間使用信息表空間的空間使用信息n存儲于數(shù)據(jù)文件中存儲于數(shù)據(jù)文件中(使用位圖,稱為本地管理的表使用位圖,稱為本地管理的表空
14、間空間)n存儲在數(shù)據(jù)字典中存儲在數(shù)據(jù)字典中(稱為數(shù)據(jù)字典管理的表空間稱為數(shù)據(jù)字典管理的表空間)n一個(gè)表空間只能屬于一個(gè)數(shù)據(jù)庫一個(gè)表空間只能屬于一個(gè)數(shù)據(jù)庫17表空間表空間Tablespace)n系統(tǒng)表空間系統(tǒng)表空間nSYSTEM表空間表空間 nOracle在在SYSTEM表空間中存儲數(shù)據(jù)庫的數(shù)據(jù)字表空間中存儲數(shù)據(jù)庫的數(shù)據(jù)字典典n存儲全部存儲全部PL/SQL的源代碼和編譯后的代碼的源代碼和編譯后的代碼n大量使用大量使用PL/SQL的數(shù)據(jù)庫應(yīng)該有足夠大的的數(shù)據(jù)庫應(yīng)該有足夠大的SYSTEM表空間。表空間。nSYSTEM表空間被保留用于存放系統(tǒng)信息,用戶表空間被保留用于存放系統(tǒng)信息,用戶數(shù)據(jù)對象不應(yīng)保存
15、在數(shù)據(jù)對象不應(yīng)保存在SYSTEM表空間中表空間中nSYSAUX表空間表空間nOracle 10g新增加的輔助系統(tǒng)表空間新增加的輔助系統(tǒng)表空間n數(shù)據(jù)庫組件將數(shù)據(jù)庫組件將SYSAUX表空間作為存儲數(shù)據(jù)的默表空間作為存儲數(shù)據(jù)的默認(rèn)位置認(rèn)位置18表空間表空間Tablespace)n非系統(tǒng)表空間非系統(tǒng)表空間nUNDO表空間表空間UNDOTBS1n保存事務(wù)回退保存事務(wù)回退(Rollback)信息信息n不可存放表、索引等需要持久保存的數(shù)據(jù)對象不可存放表、索引等需要持久保存的數(shù)據(jù)對象n用戶表空間用戶表空間USERSn存放用戶的私有信息和用戶創(chuàng)建的數(shù)據(jù)庫對象存放用戶的私有信息和用戶創(chuàng)建的數(shù)據(jù)庫對象n臨時(shí)表空間臨
16、時(shí)表空間TEMPn用于存放臨時(shí)表和臨時(shí)數(shù)據(jù)用于存放臨時(shí)表和臨時(shí)數(shù)據(jù)n樣例表空間樣例表空間EXAMPLEn在創(chuàng)建數(shù)據(jù)庫時(shí),若選擇安裝示例方案,將創(chuàng)建在創(chuàng)建數(shù)據(jù)庫時(shí),若選擇安裝示例方案,將創(chuàng)建樣例表空間存儲人力資源、訂單輸入、聯(lián)機(jī)目錄、樣例表空間存儲人力資源、訂單輸入、聯(lián)機(jī)目錄、產(chǎn)品介紹、信息交換和銷售歷史等示例方案產(chǎn)品介紹、信息交換和銷售歷史等示例方案19表空間表空間Tablespace)n表空間在實(shí)際工程中的應(yīng)用表空間在實(shí)際工程中的應(yīng)用nOracle建議將不同類型的數(shù)據(jù)部署到不同的表空建議將不同類型的數(shù)據(jù)部署到不同的表空間間n提高數(shù)據(jù)訪問性能提高數(shù)據(jù)訪問性能n便于數(shù)據(jù)管理、備份、恢復(fù)等操作便于
17、數(shù)據(jù)管理、備份、恢復(fù)等操作n一個(gè)一個(gè)Oracle數(shù)據(jù)庫應(yīng)用方案應(yīng)該包括專用的數(shù)據(jù)庫應(yīng)用方案應(yīng)該包括專用的n數(shù)據(jù)表空間數(shù)據(jù)表空間(可能需要建立多個(gè)可能需要建立多個(gè))n索引表空間索引表空間(可能需要建立多個(gè)可能需要建立多個(gè))n臨時(shí)表空間臨時(shí)表空間n表空間對應(yīng)的數(shù)據(jù)文件分開存儲到不同的磁盤上表空間對應(yīng)的數(shù)據(jù)文件分開存儲到不同的磁盤上nSYSTEM表空間應(yīng)該只包含系統(tǒng)數(shù)據(jù)表空間應(yīng)該只包含系統(tǒng)數(shù)據(jù)(如數(shù)據(jù)字典如數(shù)據(jù)字典)20表空間表空間Tablespace)n表空間狀態(tài)和工作模式表空間狀態(tài)和工作模式n聯(lián)機(jī)表空間與脫機(jī)表空間聯(lián)機(jī)表空間與脫機(jī)表空間n聯(lián)機(jī)表空間中的數(shù)據(jù)對用戶是可用的聯(lián)機(jī)表空間中的數(shù)據(jù)對用戶是
18、可用的n脫機(jī)表空間中的數(shù)據(jù)對用戶是不可用的脫機(jī)表空間中的數(shù)據(jù)對用戶是不可用的nDBA基于數(shù)據(jù)庫維護(hù)的目的,可將表空間臨時(shí)脫基于數(shù)據(jù)庫維護(hù)的目的,可將表空間臨時(shí)脫機(jī)以阻止普通用戶對數(shù)據(jù)的訪問機(jī)以阻止普通用戶對數(shù)據(jù)的訪問nSYSTEM表空間必須始終保持聯(lián)機(jī)表空間必須始終保持聯(lián)機(jī)n只讀表空間和可讀寫表空間只讀表空間和可讀寫表空間n一個(gè)新的表空間創(chuàng)建時(shí),總是一個(gè)可讀寫表空間一個(gè)新的表空間創(chuàng)建時(shí),總是一個(gè)可讀寫表空間n當(dāng)一個(gè)表空間的數(shù)據(jù)不能被改變時(shí)如用于數(shù)據(jù)當(dāng)一個(gè)表空間的數(shù)據(jù)不能被改變時(shí)如用于數(shù)據(jù)倉庫應(yīng)用的歷史數(shù)據(jù)),可以將其設(shè)置為只讀表倉庫應(yīng)用的歷史數(shù)據(jù)),可以將其設(shè)置為只讀表空間空間21段段Segm
19、ent)n段由一個(gè)或多個(gè)區(qū)間組成,用于存儲特定對象的段由一個(gè)或多個(gè)區(qū)間組成,用于存儲特定對象的數(shù)據(jù)數(shù)據(jù)nOracle以區(qū)間為單位為段分配空間以區(qū)間為單位為段分配空間n段不可以跨表空間,一個(gè)段只能屬于一個(gè)表空間。段不可以跨表空間,一個(gè)段只能屬于一個(gè)表空間。但段可以跨表空間文件但段可以跨表空間文件nOracle提供十幾種段類型提供十幾種段類型22段段Segment)n常將各種形式的數(shù)據(jù)表對應(yīng)的段稱為數(shù)據(jù)段常將各種形式的數(shù)據(jù)表對應(yīng)的段稱為數(shù)據(jù)段n一個(gè)一個(gè)Oracle數(shù)據(jù)庫中的常見段可歸為數(shù)據(jù)庫中的常見段可歸為4種種n數(shù)據(jù)段數(shù)據(jù)段n索引段:存儲表表記錄關(guān)鍵字及對應(yīng)記錄的索引段:存儲表表記錄關(guān)鍵字及對應(yīng)
20、記錄的ROWIDn臨時(shí)段:存放臨時(shí)段:存放SQL語句操作的數(shù)據(jù)語句操作的數(shù)據(jù)n回退段:存放數(shù)據(jù)更新事務(wù)中更新前的數(shù)據(jù)回退段:存放數(shù)據(jù)更新事務(wù)中更新前的數(shù)據(jù)23區(qū)區(qū)Extent)n表空間中的一片連續(xù)空間稱為區(qū)間表空間中的一片連續(xù)空間稱為區(qū)間n區(qū)間是區(qū)間是Oracle進(jìn)行空間分配的邏輯單元,是進(jìn)行空間分配的邏輯單元,是Oracle數(shù)據(jù)庫的最小存儲分配單元數(shù)據(jù)庫的最小存儲分配單元n一個(gè)區(qū)間一定屬于某個(gè)段一個(gè)區(qū)間一定屬于某個(gè)段nOracle根據(jù)段的存儲特性確定區(qū)間的大小根據(jù)段的存儲特性確定區(qū)間的大小n屬于段的區(qū)間在段刪除時(shí)才成為自由空間屬于段的區(qū)間在段刪除時(shí)才成為自由空間n區(qū)間不可以跨數(shù)據(jù)文件,只能存
21、在于某一個(gè)數(shù)據(jù)區(qū)間不可以跨數(shù)據(jù)文件,只能存在于某一個(gè)數(shù)據(jù)文件中文件中24數(shù)據(jù)庫管理數(shù)據(jù)庫管理“區(qū)區(qū)的幾個(gè)主要存儲參數(shù):的幾個(gè)主要存儲參數(shù):nINITIALnNEXTnMAXEXTENTSnMINEXTENTSnPCTINCREASEnINITRANSnNTKXTRANS段建立時(shí)分配的第一個(gè)區(qū)的大小段建立時(shí)分配的第一個(gè)區(qū)的大小(單位單位:字節(jié))字節(jié))段內(nèi)分配的下一個(gè)增量區(qū)大小單位:字節(jié))段內(nèi)分配的下一個(gè)增量區(qū)大小單位:字節(jié))分配給段的區(qū)總數(shù)。分配給段的區(qū)總數(shù)。建立段時(shí)分配的區(qū)總數(shù)即段的最小區(qū)建立段時(shí)分配的區(qū)總數(shù)即段的最小區(qū) 數(shù)量)數(shù)量)為段分配的增量區(qū)超過上一個(gè)區(qū)的百分比。為段分配的增量區(qū)超過上
22、一個(gè)區(qū)的百分比。為初始數(shù)量的為初始數(shù)量的DML事務(wù)條目并發(fā)訪問數(shù)據(jù)塊事務(wù)條目并發(fā)訪問數(shù)據(jù)塊中的行保留的預(yù)分配空間數(shù)量。中的行保留的預(yù)分配空間數(shù)量。當(dāng)多個(gè)事務(wù)同時(shí)訪問同一數(shù)據(jù)塊的行時(shí),為數(shù)當(dāng)多個(gè)事務(wù)同時(shí)訪問同一數(shù)據(jù)塊的行時(shí),為數(shù)據(jù)塊中每個(gè)據(jù)塊中每個(gè)DML事務(wù)的條目分配的空間。事務(wù)的條目分配的空間。25塊塊Data Block)n數(shù)據(jù)塊也稱為數(shù)據(jù)塊也稱為Oracle塊塊nOracle在數(shù)據(jù)文件上執(zhí)行在數(shù)據(jù)文件上執(zhí)行I/O操作的最小單位操作的最小單位n尺寸為尺寸為OS磁盤塊大小的整數(shù)倍,磁盤塊大小的整數(shù)倍,2/4/8/16/32KBn數(shù)據(jù)塊未寫滿數(shù)據(jù),保留部分修改數(shù)據(jù)時(shí)用數(shù)據(jù)塊未寫滿數(shù)據(jù),保留部分修
23、改數(shù)據(jù)時(shí)用n頭部:保存數(shù)據(jù)塊的地址、表目錄、行目錄以及頭部:保存數(shù)據(jù)塊的地址、表目錄、行目錄以及為事務(wù)保留的空間為事務(wù)保留的空間n數(shù)據(jù):在數(shù)據(jù)塊的底部數(shù)據(jù):在數(shù)據(jù)塊的底部n空閑區(qū):在中間,保留用于以后的數(shù)據(jù)更新空閑區(qū):在中間,保留用于以后的數(shù)據(jù)更新26塊塊Data Block)n設(shè)計(jì)策略:設(shè)計(jì)策略:n以空間換取時(shí)間,改善系統(tǒng)性能以空間換取時(shí)間,改善系統(tǒng)性能n使用使用PCTFREE和和PCTUSED參參n數(shù)來優(yōu)化塊空間的使用:數(shù)來優(yōu)化塊空間的使用:nPCTFREE塊中保留用于塊中保留用于UPDATE操作的空間百分操作的空間百分比,當(dāng)數(shù)據(jù)占用的空間達(dá)到此上限時(shí),新的數(shù)據(jù)比,當(dāng)數(shù)據(jù)占用的空間達(dá)到此上
24、限時(shí),新的數(shù)據(jù)將不能再插入到此數(shù)據(jù)塊中;將不能再插入到此數(shù)據(jù)塊中;nPCTUSED指定塊中數(shù)據(jù)使用空間的最小百分比,指定塊中數(shù)據(jù)使用空間的最小百分比,當(dāng)一個(gè)塊達(dá)到當(dāng)一個(gè)塊達(dá)到PCTFREE之后經(jīng)歷了一些之后經(jīng)歷了一些DELETE操作,在其空間使用下降到操作,在其空間使用下降到PCTUSED后,便可以后,便可以重新被用于重新被用于INSERT數(shù)據(jù)。數(shù)據(jù)。 27邏輯結(jié)構(gòu)之間的邏輯結(jié)構(gòu)之間的 關(guān)系關(guān)系n塊可看成一張張空白紙,多張紙訂成一本看成區(qū)。塊可看成一張張空白紙,多張紙訂成一本看成區(qū)。n區(qū)間是區(qū)間是Oracle進(jìn)行空間分配的邏輯單元,當(dāng)需要記錄進(jìn)行空間分配的邏輯單元,當(dāng)需要記錄時(shí),得到一個(gè)空本子
25、;空本子寫滿,可獲得另一個(gè)空時(shí),得到一個(gè)空本子;空本子寫滿,可獲得另一個(gè)空白本子。白本子。n寫滿數(shù)據(jù)的本子放在一個(gè)文件袋中,該文件袋就是段寫滿數(shù)據(jù)的本子放在一個(gè)文件袋中,該文件袋就是段n多個(gè)文件袋將被放入一個(gè)文件柜中,該文件柜就是表多個(gè)文件袋將被放入一個(gè)文件柜中,該文件柜就是表空間。空間。n而整個(gè)數(shù)據(jù)庫就是由多個(gè)文件柜組成,每個(gè)文件柜中而整個(gè)數(shù)據(jù)庫就是由多個(gè)文件柜組成,每個(gè)文件柜中存放的是與某一特定類型應(yīng)用相關(guān)的所有文件。存放的是與某一特定類型應(yīng)用相關(guān)的所有文件。28Oracle實(shí)例實(shí)例n一個(gè)一個(gè)Oracle實(shí)例實(shí)例n只能訪問一個(gè)數(shù)據(jù)庫只能訪問一個(gè)數(shù)據(jù)庫n獨(dú)立的內(nèi)存結(jié)構(gòu)獨(dú)立的內(nèi)存結(jié)構(gòu)n專有的一
26、系列管理進(jìn)程專有的一系列管理進(jìn)程UserProcessServerProcessPGAInstanceSGARedo LogBufferData BufferCacheLarge PoolShared PoolData Dict.CacheShared SQL& PL/SQL PMON DBWRSMON LGWRCKPTARCHUserProcessServerProcessPGA29內(nèi)存結(jié)構(gòu)內(nèi)存結(jié)構(gòu)nOracle服務(wù)器運(yùn)行時(shí),內(nèi)存內(nèi)容服務(wù)器運(yùn)行時(shí),內(nèi)存內(nèi)容n程序代碼程序代碼PLSQL、Java););n關(guān)于已經(jīng)連接的會話的信息,包括當(dāng)前所有活動關(guān)于已經(jīng)連接的會話的信息,包括當(dāng)前所有活
27、動和非活動會話;和非活動會話;n程序運(yùn)行時(shí)必須的相關(guān)信息,例如查詢計(jì)劃;程序運(yùn)行時(shí)必須的相關(guān)信息,例如查詢計(jì)劃;nOracle 進(jìn)程之間共享的信息和相互交流的信息,進(jìn)程之間共享的信息和相互交流的信息,例如鎖;例如鎖;n那些被永久存儲在外圍存儲介質(zhì)上,被那些被永久存儲在外圍存儲介質(zhì)上,被cache 在在內(nèi)存中的數(shù)據(jù)如內(nèi)存中的數(shù)據(jù)如redo log 條目,數(shù)據(jù)塊)條目,數(shù)據(jù)塊)30內(nèi)存結(jié)構(gòu)內(nèi)存結(jié)構(gòu)n組成組成n共享部分主要是共享部分主要是SGA)nOracle進(jìn)程和一個(gè)進(jìn)程和一個(gè)SGA就構(gòu)成了一個(gè)就構(gòu)成了一個(gè)Oracle實(shí)例實(shí)例n實(shí)例啟動時(shí),實(shí)例啟動時(shí),Oracle自動從系統(tǒng)中分配內(nèi)存給自動從系統(tǒng)中
28、分配內(nèi)存給SGAn實(shí)例關(guān)閉時(shí),操作系統(tǒng)回收內(nèi)存實(shí)例關(guān)閉時(shí),操作系統(tǒng)回收內(nèi)存n進(jìn)程獨(dú)享部分主要是進(jìn)程獨(dú)享部分主要是PGA)31 是是Oracle分配的共享內(nèi)存區(qū)域,包含一個(gè)數(shù)據(jù)庫實(shí)例的數(shù)據(jù)和控分配的共享內(nèi)存區(qū)域,包含一個(gè)數(shù)據(jù)庫實(shí)例的數(shù)據(jù)和控制信息,制信息, 系統(tǒng)進(jìn)程和連接到系統(tǒng)進(jìn)程和連接到Oracle的所有用戶進(jìn)程都共享的所有用戶進(jìn)程都共享SGA數(shù)據(jù),數(shù)據(jù),如下圖。如下圖。 系統(tǒng)全局區(qū)系統(tǒng)全局區(qū)System Global Area,SGA)32系統(tǒng)全局區(qū)系統(tǒng)全局區(qū)System Global Area,SGA)n包含實(shí)例數(shù)據(jù)和控制信息的共享內(nèi)存結(jié)構(gòu),特性:包含實(shí)例數(shù)據(jù)和控制信息的共享內(nèi)存結(jié)構(gòu),特性
29、:nSGA構(gòu)成:數(shù)據(jù)和控制信息構(gòu)成:數(shù)據(jù)和控制信息nSGA區(qū)是可讀寫的,所有登錄用戶都能讀取區(qū)是可讀寫的,所有登錄用戶都能讀取SGA中的信息,而在中的信息,而在oracle 做執(zhí)行操作時(shí),服務(wù)進(jìn)程做執(zhí)行操作時(shí),服務(wù)進(jìn)程會將修改的信息寫入會將修改的信息寫入SGA區(qū)區(qū)nSGA是共享的,即當(dāng)有多個(gè)用戶同時(shí)登錄了這個(gè)是共享的,即當(dāng)有多個(gè)用戶同時(shí)登錄了這個(gè)實(shí)例,實(shí)例,SGA中的信息可以被它們同時(shí)訪問;中的信息可以被它們同時(shí)訪問;n一個(gè)一個(gè)SGA只服務(wù)于一個(gè)實(shí)例,也就是說,當(dāng)一臺只服務(wù)于一個(gè)實(shí)例,也就是說,當(dāng)一臺機(jī)器上有多個(gè)實(shí)例運(yùn)行時(shí),每個(gè)實(shí)例都有一個(gè)自機(jī)器上有多個(gè)實(shí)例運(yùn)行時(shí),每個(gè)實(shí)例都有一個(gè)自己的己的S
30、GA,盡管,盡管SGA來自于來自于OS的共享內(nèi)存區(qū),但的共享內(nèi)存區(qū),但實(shí)例之間不能相互訪問對方的實(shí)例之間不能相互訪問對方的SGA區(qū)區(qū)33系統(tǒng)全局區(qū)系統(tǒng)全局區(qū)System Global Area,SGA)n組成組成n固定固定SGA(Fixed SGA), 100K,后臺進(jìn)程頻繁,后臺進(jìn)程頻繁訪問訪問n數(shù)據(jù)字典緩存數(shù)據(jù)字典緩存(Data Dictionary Cache)n其他信息,如數(shù)據(jù)庫和實(shí)例的狀態(tài)信息、控制并其他信息,如數(shù)據(jù)庫和實(shí)例的狀態(tài)信息、控制并發(fā)進(jìn)程的鎖發(fā)進(jìn)程的鎖latch等等n可變可變SGA(Variable SGA),因系統(tǒng)參數(shù)設(shè)置而改,因系統(tǒng)參數(shù)設(shè)置而改變變n數(shù)據(jù)庫緩沖區(qū)數(shù)據(jù)庫緩
31、沖區(qū)(DataBase Buffer Cache)n重做日志緩沖重做日志緩沖(Redo Log Buffer)n共享池共享池(Shared Pool)nJava池池(Java Pool)n大池大池(Large Pool)n流池流池(Streams Pool),10g以后才有以后才有34n數(shù)據(jù)庫緩沖區(qū)數(shù)據(jù)庫緩沖區(qū)Database Buffer Cache)n 數(shù)據(jù)庫緩沖區(qū)中存放著最近從數(shù)據(jù)庫緩沖區(qū)中存放著最近從數(shù)據(jù)文件中讀取的數(shù)據(jù)塊。數(shù)據(jù)庫緩沖數(shù)據(jù)文件中讀取的數(shù)據(jù)塊。數(shù)據(jù)庫緩沖區(qū)又稱用戶數(shù)據(jù)高速緩沖區(qū),為所有與區(qū)又稱用戶數(shù)據(jù)高速緩沖區(qū),為所有與該實(shí)例相鏈接的用戶進(jìn)程所共享。該實(shí)例相鏈接的用戶進(jìn)程
32、所共享。 數(shù)據(jù)塊緩沖區(qū)的容量受物理容量限制:在數(shù)據(jù)塊緩沖區(qū)的容量受物理容量限制:在Oracle9i中,數(shù)據(jù)庫中,數(shù)據(jù)庫緩存的大小可以直接由初始化參數(shù)緩存的大小可以直接由初始化參數(shù)DB_CACHESIZE指定,該參數(shù)指定,該參數(shù)可以直接以可以直接以K字節(jié)或字節(jié)或M字節(jié)為單位來設(shè)置數(shù)據(jù)庫緩存的大小。字節(jié)為單位來設(shè)置數(shù)據(jù)庫緩存的大小。系統(tǒng)全局區(qū)系統(tǒng)全局區(qū)System Global Area,SGA)35SGA之?dāng)?shù)據(jù)庫緩沖區(qū)之?dāng)?shù)據(jù)庫緩沖區(qū)(Database Buffer Cache)n多緩沖池多緩沖池n配置不同配置不同buffer cache類型,實(shí)現(xiàn)不同的類型,實(shí)現(xiàn)不同的cache數(shù)數(shù)據(jù)目的據(jù)目的n
33、保持緩沖池保持緩沖池(Keep Buffer Pool)n緩存需要永久駐入內(nèi)存的數(shù)據(jù)塊緩存需要永久駐入內(nèi)存的數(shù)據(jù)塊n由由db_keep_cache_size或或buffer_poor_keep指定指定n回收緩沖池回收緩沖池(Recycle Buffer Pool)n緩存塊一旦使用完畢將立即清除緩存塊一旦使用完畢將立即清除n由由db_recycle_cache_size或或buffer_poor_ recycle指定指定n默認(rèn)的標(biāo)準(zhǔn)緩存池,由默認(rèn)的標(biāo)準(zhǔn)緩存池,由db_cache_size指定,管理指定,管理策略:最近最少使用鏈表策略:最近最少使用鏈表36共享存儲區(qū)共享存儲區(qū)Shared Pool
34、),也稱之為共享),也稱之為共享SQL池池 共享共享SQL池池Shared SQL Pool相當(dāng)于程序高速緩沖區(qū),相當(dāng)于程序高速緩沖區(qū),所有的用戶程序都存放在共享所有的用戶程序都存放在共享SQL池中。池中。SQL共享池包括庫高速緩共享池包括庫高速緩存、數(shù)據(jù)字典高速緩存和服務(wù)器控制結(jié)構(gòu)。用于緩存與存、數(shù)據(jù)字典高速緩存和服務(wù)器控制結(jié)構(gòu)。用于緩存與SQL或或PL/SQL,數(shù)據(jù)字典、鎖資源以及其他控制結(jié)構(gòu)相關(guān)的數(shù)據(jù)數(shù)據(jù)字典、鎖資源以及其他控制結(jié)構(gòu)相關(guān)的數(shù)據(jù) 共享池的大小取決于共享池的大小取決于init.ora文件參數(shù)文件參數(shù)SHARED_POOL_SIZE,它是以字節(jié)為單位的。,它是以字節(jié)為單位的。重
35、做日志緩沖區(qū)重做日志緩沖區(qū)Redo Log Buffer) 對數(shù)據(jù)庫進(jìn)行修改的任何事務(wù)對數(shù)據(jù)庫進(jìn)行修改的任何事務(wù)Transaction在記錄到在記錄到重做日志之前都必須首先放到重做日志緩沖區(qū)中。重做日志緩沖區(qū)重做日志之前都必須首先放到重做日志緩沖區(qū)中。重做日志緩沖區(qū)是專為此開辟的一塊內(nèi)存區(qū)域,重做日志緩存中的內(nèi)容將被是專為此開辟的一塊內(nèi)存區(qū)域,重做日志緩存中的內(nèi)容將被LGWR后臺進(jìn)程隨時(shí)寫入重做日志文件。后臺進(jìn)程隨時(shí)寫入重做日志文件。 重做日志緩存是一個(gè)循環(huán)緩存區(qū),在使用時(shí)從頂端向底端重做日志緩存是一個(gè)循環(huán)緩存區(qū),在使用時(shí)從頂端向底端寫入數(shù)據(jù),然后再返回到緩沖區(qū)的起始點(diǎn)循環(huán)寫入。重做日志緩沖寫
36、入數(shù)據(jù),然后再返回到緩沖區(qū)的起始點(diǎn)循環(huán)寫入。重做日志緩沖區(qū)的大小以字節(jié)為單位由區(qū)的大小以字節(jié)為單位由init.ora文件中的文件中的LOGBUFFER參數(shù)決參數(shù)決定。定。3.1.3 軟件結(jié)構(gòu)實(shí)例結(jié)構(gòu),內(nèi)存結(jié)構(gòu))軟件結(jié)構(gòu)實(shí)例結(jié)構(gòu),內(nèi)存結(jié)構(gòu))37Java存儲區(qū)存儲區(qū)Java Pool),也稱之為),也稱之為Java池。池。 Java池為池為Java命令提供語法分析。命令提供語法分析。大型存儲區(qū)大型存儲區(qū)Large Pool) 共享服務(wù)器將大型存儲區(qū)的分配堆用作會話內(nèi)共享服務(wù)器將大型存儲區(qū)的分配堆用作會話內(nèi)存,通過并行執(zhí)行,將其用作消息緩沖區(qū);通過備份,存,通過并行執(zhí)行,將其用作消息緩沖區(qū);通過備份
37、,將其用作磁盤將其用作磁盤I/O緩沖區(qū)。緩沖區(qū)。 該值通過初始化文件參數(shù)該值通過初始化文件參數(shù)LARGE_POOL_SIZE指定。指定。 緩沖池把大數(shù)據(jù)集與其他的應(yīng)用程序分開,以緩沖池把大數(shù)據(jù)集與其他的應(yīng)用程序分開,以減少它們爭奪數(shù)據(jù)塊緩沖區(qū)內(nèi)相同的資源。可以在減少它們爭奪數(shù)據(jù)塊緩沖區(qū)內(nèi)相同的資源。可以在SGA中創(chuàng)建多個(gè)緩沖池中創(chuàng)建多個(gè)緩沖池 。 3.1.3 軟件結(jié)構(gòu)實(shí)例結(jié)構(gòu),內(nèi)存結(jié)構(gòu))軟件結(jié)構(gòu)實(shí)例結(jié)構(gòu),內(nèi)存結(jié)構(gòu))38程序全局區(qū)程序全局區(qū)Program Global Area,PGA)n存放單個(gè)存放單個(gè)Oracle服務(wù)進(jìn)程的內(nèi)存區(qū)域服務(wù)進(jìn)程的內(nèi)存區(qū)域n服務(wù)進(jìn)程啟動時(shí)創(chuàng)建,存放其需要的數(shù)據(jù)和控制
38、信服務(wù)進(jìn)程啟動時(shí)創(chuàng)建,存放其需要的數(shù)據(jù)和控制信息,包含進(jìn)程使用的息,包含進(jìn)程使用的OS資源信息,及進(jìn)程狀態(tài)信資源信息,及進(jìn)程狀態(tài)信息息n進(jìn)程意外中止時(shí),能夠及時(shí)釋放和清除這些資源進(jìn)程意外中止時(shí),能夠及時(shí)釋放和清除這些資源n進(jìn)程使用的進(jìn)程使用的Oracle共享資源信息存儲于共享資源信息存儲于SGA中中n是非共享的,不需要是非共享的,不需要Latch保護(hù),一個(gè)服務(wù)進(jìn)程只保護(hù),一個(gè)服務(wù)進(jìn)程只能訪問自己的能訪問自己的PGA區(qū),包括排序區(qū)、用戶私人會話區(qū),包括排序區(qū)、用戶私人會話信息和堆??臻g等。信息和堆??臻g等。n注:注:n專有服務(wù)器專有服務(wù)器(Dedicated Server)方式:方式:1會話會話
39、1進(jìn)程進(jìn)程n多線程服務(wù)多線程服務(wù)(Multi-Thread Server)方式:方式:n會話共會話共享享1進(jìn)程進(jìn)程39Oracle進(jìn)程進(jìn)程n 進(jìn)程又稱任務(wù)進(jìn)程又稱任務(wù)n是是OS中一個(gè)極為重要的概念中一個(gè)極為重要的概念n一個(gè)進(jìn)程執(zhí)行一組操作,完成一個(gè)特定的任務(wù)。一個(gè)進(jìn)程執(zhí)行一組操作,完成一個(gè)特定的任務(wù)。n進(jìn)程與程序的區(qū)別進(jìn)程與程序的區(qū)別n進(jìn)程是一個(gè)動態(tài)概念,強(qiáng)調(diào)執(zhí)行過程進(jìn)程是一個(gè)動態(tài)概念,強(qiáng)調(diào)執(zhí)行過程n動態(tài)創(chuàng)建,完成任務(wù)后即會消亡動態(tài)創(chuàng)建,完成任務(wù)后即會消亡n程序是一個(gè)靜態(tài)實(shí)體,是指令的有序集合程序是一個(gè)靜態(tài)實(shí)體,是指令的有序集合40Oracle進(jìn)程進(jìn)程n分類分類n用戶進(jìn)程用戶進(jìn)程n當(dāng)用戶運(yùn)行一
40、個(gè)應(yīng)用程序時(shí),系統(tǒng)就為它建立一當(dāng)用戶運(yùn)行一個(gè)應(yīng)用程序時(shí),系統(tǒng)就為它建立一個(gè)用戶進(jìn)程個(gè)用戶進(jìn)程n用戶進(jìn)程執(zhí)行的是一個(gè)應(yīng)用程序或用戶進(jìn)程執(zhí)行的是一個(gè)應(yīng)用程序或Oracle工具程工具程序的代碼,以完成用戶所指定的任務(wù)序的代碼,以完成用戶所指定的任務(wù)n用戶進(jìn)程不是實(shí)例的一部分用戶進(jìn)程不是實(shí)例的一部分n服務(wù)進(jìn)程服務(wù)進(jìn)程n處理用戶進(jìn)程的請求,它與用戶進(jìn)程相通訊,為處理用戶進(jìn)程的請求,它與用戶進(jìn)程相通訊,為用戶進(jìn)程請求用戶進(jìn)程請求Oracle后臺服務(wù)后臺服務(wù)n后臺進(jìn)程后臺進(jìn)程n用來管理數(shù)據(jù)庫的讀寫、恢復(fù)和監(jiān)視工作用來管理數(shù)據(jù)庫的讀寫、恢復(fù)和監(jiān)視工作41Oracle進(jìn)程進(jìn)程n注:注:n當(dāng)應(yīng)用和當(dāng)應(yīng)用和Orac
41、le在同一臺機(jī)器時(shí),用戶進(jìn)程和相在同一臺機(jī)器時(shí),用戶進(jìn)程和相應(yīng)的服務(wù)進(jìn)程組合成單個(gè)進(jìn)程,以降低系統(tǒng)開銷;應(yīng)的服務(wù)進(jìn)程組合成單個(gè)進(jìn)程,以降低系統(tǒng)開銷;n當(dāng)應(yīng)用和當(dāng)應(yīng)用和Oracle運(yùn)行在網(wǎng)絡(luò)環(huán)境時(shí),用戶進(jìn)程通運(yùn)行在網(wǎng)絡(luò)環(huán)境時(shí),用戶進(jìn)程通過一個(gè)分離服務(wù)器進(jìn)程,與過一個(gè)分離服務(wù)器進(jìn)程,與Oracle通信通信nOracle 9i支持支持TCP/IP、使用、使用SSL的的TCP/IP、命名、命名管道協(xié)議;不支持管道協(xié)議;不支持IPS/SPX、LU6.2協(xié)議協(xié)議42Oracle進(jìn)程進(jìn)程n后臺進(jìn)程后臺進(jìn)程 進(jìn)進(jìn)程程名名 釋釋義義 系系統(tǒng)統(tǒng)監(jiān)監(jiān)控控進(jìn)進(jìn)程程(SMON) 數(shù)數(shù)據(jù)據(jù)庫庫系系統(tǒng)統(tǒng)啟啟動動時(shí)時(shí)執(zhí)執(zhí)行行
42、恢恢復(fù)復(fù)性性工工作作,對對有有故故障障數(shù)數(shù)據(jù)據(jù)庫庫進(jìn)進(jìn)行行恢恢復(fù)復(fù) 進(jìn)進(jìn)程程監(jiān)監(jiān)控控進(jìn)進(jìn)程程(PMON) 用用于于恢恢復(fù)復(fù)失失敗敗的的用用戶戶進(jìn)進(jìn)程程 數(shù)數(shù)據(jù)據(jù)庫庫寫寫入入進(jìn)進(jìn)程程(DBWR) 將將修修改改后后的的數(shù)數(shù)據(jù)據(jù)塊塊內(nèi)內(nèi)容容寫寫回回?cái)?shù)數(shù)據(jù)據(jù)庫庫 日日志志寫寫入入進(jìn)進(jìn)程程(LGWR) 將將內(nèi)內(nèi)存存中中的的日日志志內(nèi)內(nèi)容容寫寫入入日日志志文文件件 歸歸檔檔進(jìn)進(jìn)程程(ARCH) 當(dāng)當(dāng)數(shù)數(shù)據(jù)據(jù)庫庫服服務(wù)務(wù)器器以以歸歸檔檔方方式式運(yùn)運(yùn)行行時(shí)時(shí)調(diào)調(diào)用用該該進(jìn)進(jìn)程程完完成成日日志志歸歸檔檔 檢檢查查點(diǎn)點(diǎn)進(jìn)進(jìn)程程(CKPT) 標(biāo)標(biāo)識識檢檢查查點(diǎn)點(diǎn),用用于于減減少少數(shù)數(shù)據(jù)據(jù)庫庫恢恢復(fù)復(fù)所所需需要要的的
43、時(shí)時(shí)間間 恢恢復(fù)復(fù)進(jìn)進(jìn)程程(RECO) 用用于于分分布布式式數(shù)數(shù)據(jù)據(jù)庫庫中中的的失失敗敗處處理理 鎖鎖進(jìn)進(jìn)程程(LCKn) 在在并并行行服服務(wù)務(wù)器器模模式式下下確確保保數(shù)數(shù)據(jù)據(jù)的的一一致致性性 快快照照進(jìn)進(jìn)程程(SNPn) 進(jìn)進(jìn)行行快快照照刷刷新新 調(diào)調(diào)度度進(jìn)進(jìn)程程(Dnnn) 負(fù)負(fù)責(zé)責(zé)把把用用戶戶進(jìn)進(jìn)程程路路由由到到可可用用的的服服務(wù)務(wù)器器進(jìn)進(jìn)程程進(jìn)進(jìn)行行處處理理 共共享享服服務(wù)務(wù)器器進(jìn)進(jìn)程程(Snnn) 系統(tǒng)監(jiān)控進(jìn)程系統(tǒng)監(jiān)控進(jìn)程SMON進(jìn)程監(jiān)控進(jìn)程進(jìn)程監(jiān)控進(jìn)程PMON數(shù)據(jù)庫寫入進(jìn)數(shù)據(jù)庫寫入進(jìn)程程DBWR日志寫入進(jìn)程日志寫入進(jìn)程LGWR檢查點(diǎn)進(jìn)程檢查點(diǎn)進(jìn)程CKPT)43Oracle進(jìn)程進(jìn)程n
44、后臺進(jìn)程后臺進(jìn)程 SMON PMON LCKn RECO SGA Database Buffer Cache Shared Pool Redo Log Buffer Request Queue Response Queue CKPT DBWR Control Files Data Files Shared Server Process Dispatcher Process User Process LGWR Dedicated Server Process Redo Log Files Control Files ARCn Storage Device 44Oracle進(jìn)程進(jìn)程n后臺進(jìn)程后臺進(jìn)
45、程n如果一個(gè)服務(wù)進(jìn)程意外中止,如果一個(gè)服務(wù)進(jìn)程意外中止,Oracle將啟動將啟動PMON進(jìn)程釋放該進(jìn)程所占用的資源,并由進(jìn)程釋放該進(jìn)程所占用的資源,并由SMON進(jìn)程執(zhí)行事務(wù)恢復(fù)工作進(jìn)程執(zhí)行事務(wù)恢復(fù)工作n分離服務(wù)進(jìn)程、調(diào)度進(jìn)程:網(wǎng)絡(luò)環(huán)境中有效,實(shí)分離服務(wù)進(jìn)程、調(diào)度進(jìn)程:網(wǎng)絡(luò)環(huán)境中有效,實(shí)現(xiàn)用戶進(jìn)程和現(xiàn)用戶進(jìn)程和Oracle通訊;單機(jī)環(huán)境中,用戶進(jìn)通訊;單機(jī)環(huán)境中,用戶進(jìn)程和相應(yīng)服務(wù)進(jìn)程合并程和相應(yīng)服務(wù)進(jìn)程合并45附錄附錄:n數(shù)據(jù)字典是數(shù)據(jù)字典是Oracle數(shù)據(jù)庫的核心組件,對用戶來說,是由數(shù)據(jù)庫的核心組件,對用戶來說,是由只讀類型的表和視圖組成,保存著關(guān)于數(shù)據(jù)庫系統(tǒng)本身及只讀類型的表和視圖組成,
46、保存著關(guān)于數(shù)據(jù)庫系統(tǒng)本身及其存儲的所有對象的基本信息,其存儲的所有對象的基本信息,n一個(gè)數(shù)據(jù)字典包括基礎(chǔ)表,動態(tài)性能視圖及數(shù)據(jù)字典視圖。一個(gè)數(shù)據(jù)字典包括基礎(chǔ)表,動態(tài)性能視圖及數(shù)據(jù)字典視圖。數(shù)據(jù)字典視圖又包含數(shù)據(jù)字典視圖又包含ALL視圖,視圖,USER視圖和視圖和DBA視圖。視圖。n基礎(chǔ)表:存儲相關(guān)數(shù)據(jù)庫信息的表,包括表、索引、約束,基礎(chǔ)表:存儲相關(guān)數(shù)據(jù)庫信息的表,包括表、索引、約束,以及所有其他數(shù)據(jù)庫對象結(jié)構(gòu)的信息,是以及所有其他數(shù)據(jù)庫對象結(jié)構(gòu)的信息,是Oracle系統(tǒng)的核系統(tǒng)的核心。只有心。只有Oracle才能寫和讀取這些表。才能寫和讀取這些表。46附錄附錄:n動態(tài)性能視圖:是一種在動態(tài)性能
47、視圖:是一種在Oracle操作過程中,用于記錄當(dāng)操作過程中,用于記錄當(dāng)前數(shù)據(jù)庫的活動的前數(shù)據(jù)庫的活動的“虛擬虛擬表的集合,以表的集合,以V$開頭。開頭。nALL視圖:包含用戶查詢表時(shí)可以訪問的所有對象的信息。視圖:包含用戶查詢表時(shí)可以訪問的所有對象的信息。nUSER視圖:每個(gè)數(shù)據(jù)庫用戶都擁有屬于自己的視圖:每個(gè)數(shù)據(jù)庫用戶都擁有屬于自己的USER視視圖,在圖,在USER視圖中包含了該用戶模式下所有對象的信息。視圖中包含了該用戶模式下所有對象的信息。nDBA視圖:在視圖:在DBA數(shù)據(jù)字典視圖中包含著全部數(shù)據(jù)庫對象數(shù)據(jù)字典視圖中包含著全部數(shù)據(jù)庫對象的信息,只能被數(shù)據(jù)庫管理員查詢。授予系統(tǒng)權(quán)限的信息,
48、只能被數(shù)據(jù)庫管理員查詢。授予系統(tǒng)權(quán)限SELECT ANY TABLE的用戶都能查詢的用戶都能查詢DBA視圖。視圖。47系統(tǒng)全局區(qū)系統(tǒng)全局區(qū)System Global Area,SGA)nSGA的查詢視圖的查詢視圖 視圖名視圖名 釋義釋義 v$sga 查詢查詢SGA的概況,顯示的概況,顯示SGA各個(gè)區(qū)的大小各個(gè)區(qū)的大小 v$sgastat 記錄記錄SGA統(tǒng)計(jì)信息, 詳細(xì)記錄各個(gè)池統(tǒng)計(jì)信息, 詳細(xì)記錄各個(gè)池(Pool)的內(nèi)存分配情況,對定位的內(nèi)存分配情況,對定位4031錯(cuò)誤有重要錯(cuò)誤有重要參考價(jià)值參考價(jià)值 v$sga_dynamic_components 記錄記錄 SGA 各個(gè)動態(tài)內(nèi)存區(qū)情況, 是
49、已經(jīng)完各個(gè)動態(tài)內(nèi)存區(qū)情況, 是已經(jīng)完成了的、 針對成了的、 針對 SGA 動態(tài)內(nèi)存區(qū)大小調(diào)整的動態(tài)內(nèi)存區(qū)大小調(diào)整的操作操作 v$ga_dynamic_free_memory 只有一個(gè)字段,一條記錄,記錄當(dāng)前只有一個(gè)字段,一條記錄,記錄當(dāng)前 SGA用于動態(tài)調(diào)整的空閑內(nèi)存區(qū)域大小用于動態(tài)調(diào)整的空閑內(nèi)存區(qū)域大小 48SGA之?dāng)?shù)據(jù)庫緩沖區(qū)之?dāng)?shù)據(jù)庫緩沖區(qū)(Database Buffer Cache)nDatabase Buffer Cache的參數(shù)配置的參數(shù)配置 參數(shù)名參數(shù)名 釋義釋義 db_block_size 指定數(shù)據(jù)塊大小,默認(rèn)指定數(shù)據(jù)塊大小,默認(rèn) 8K,一般設(shè)置為,一般設(shè)置為 OS 塊的倍數(shù)塊的
50、倍數(shù) DB_BLOCK_BUFFERS 8i 以后版本,指定以后版本,指定 Buffer Cache 中緩存塊數(shù)中緩存塊數(shù) Buffer Cache 大小大小 = db_block_buffers * db_block_size db_cache_size 9i 以后版本,指定默認(rèn)的標(biāo)準(zhǔn)以后版本,指定默認(rèn)的標(biāo)準(zhǔn) Buffer Cache 大小,可以聯(lián)機(jī)修改的,實(shí)例無需重啟大小,可以聯(lián)機(jī)修改的,實(shí)例無需重啟 默認(rèn)值默認(rèn)值 48K,OLTP 系統(tǒng)中,推薦值系統(tǒng)中,推薦值=SGA_MAX_SIZE/2SGA_MAX_SIZE*2/3 DB_nK_CACHE_SIZE 定義非標(biāo)準(zhǔn)塊大小定義非標(biāo)準(zhǔn)塊大小
51、 Buffer Cache(n 為為 2、4、8、16 或或 32) ,) ,10g 以后版本有效以后版本有效 BUFFER_POOL_KEEP 8i 以后版本,設(shè)置保持緩沖池(以后版本,設(shè)置保持緩沖池(Keep Buffer Pool)大?。┐笮?DB_KEEP_CACHE_SZIE 9i 以后版本,設(shè)置保持緩沖池(以后版本,設(shè)置保持緩沖池(Keep Buffer Pool)大?。┐笮?BUFFER_POOL_RECYCLE 8i 以后版本,設(shè)置回收緩沖池(以后版本,設(shè)置回收緩沖池(Recycle Buffer Pool)大小)大小 DB_RECYLE_CACHE_SIZE 9i 以后版以后
52、版本,設(shè)置回收緩沖池(本,設(shè)置回收緩沖池(Recycle Buffer Pool)大?。┐笮?db_cache_advice 設(shè)置設(shè)置 Buffer Cache 建議器的開關(guān),默認(rèn)值為建議器的開關(guān),默認(rèn)值為 False DB_BLOCK_LRU_LATCHES 設(shè)置了設(shè)置了 LUR latch 數(shù)量,隱含參數(shù),其值由數(shù)量,隱含參數(shù),其值由 Oracle 自動計(jì)算自動計(jì)算 DB_WRITER_PROCESSES 配置寫進(jìn)程配置寫進(jìn)程 DBWn 個(gè)數(shù),值個(gè)數(shù),值=MAX(1,TRUNC(CPU 數(shù)數(shù)/8),=20,標(biāo)號從,標(biāo)號從 0 開始開始 49SGA之?dāng)?shù)據(jù)庫緩沖區(qū)之?dāng)?shù)據(jù)庫緩沖區(qū)(Databas
53、e Buffer Cache)nDatabase Buffer Cache的查詢視圖的查詢視圖 視圖名視圖名 釋義釋義 v$db_cache_advice 查詢查詢 buffer cache 建議器性能評估數(shù)據(jù), 作為建議器性能評估數(shù)據(jù), 作為 DBA調(diào)整調(diào)整 db_cache_size 值,提高系統(tǒng)性能的依據(jù)值,提高系統(tǒng)性能的依據(jù) V$BUFFER_POOL 查詢當(dāng)前實(shí)例中所有緩沖池的信息查詢當(dāng)前實(shí)例中所有緩沖池的信息 v$buffer_pool_statistics 查詢所有緩沖池的統(tǒng)計(jì)數(shù)據(jù)查詢所有緩沖池的統(tǒng)計(jì)數(shù)據(jù) v$bh 查詢查詢 buffer cache 的使用情況和消耗的使用情況和
54、消耗 buffer cache的數(shù)據(jù)塊對象, 粒度非常細(xì), 一條記錄對應(yīng)一個(gè)數(shù)的數(shù)據(jù)塊對象, 粒度非常細(xì), 一條記錄對應(yīng)一個(gè)數(shù)據(jù)塊, 對于定位緩沖區(qū)問題, 做內(nèi)存問題分析或分據(jù)塊, 對于定位緩沖區(qū)問題, 做內(nèi)存問題分析或分析析 Oracle 行為很有幫助行為很有幫助 最初目的最初目的用于用于 OPS (Oracle Parallel Server Oracle平行服務(wù)器,平行服務(wù)器,9i 后稱為后稱為 RAC) ,保證) ,保證 RAC 中各個(gè)中各個(gè)節(jié)點(diǎn)的數(shù)據(jù)一致性節(jié)點(diǎn)的數(shù)據(jù)一致性 50SGA之共享池之共享池(Shared pool)nShared pool的參數(shù)配置的參數(shù)配置 參參數(shù)數(shù)名名
55、釋釋義義 SHARED_POOL_SIZE 指指定定共共享享池池大大小小(=4G);32 位位系系統(tǒng)統(tǒng)默默認(rèn)認(rèn)值值 8M,64 位位系系統(tǒng)統(tǒng)默默認(rèn)認(rèn)值值 64M 9i 及及之之前前版版本本,共共享享池池的的實(shí)實(shí)際際大大小小 = SHARED_POOL_SIZE + 內(nèi)內(nèi)部部 SGA 消消耗耗大大小小 10g 以以后后版版本本,共共享享池池的的實(shí)實(shí)際際大大小小 = SHARED_POOL_SIZE - 內(nèi)內(nèi)部部 SGA 消消耗耗大大小小 shared_pool_reserved_size 指指定定共共享享池池中中緩緩存存大大內(nèi)內(nèi)存存對對象象的的保保留留區(qū)區(qū)大大小小 shared_pool_reserved _min_alloc 設(shè)設(shè)置置進(jìn)進(jìn)入入保保留留區(qū)區(qū)的的對對象象大大小小的的閥閥值值 51SGA之共享池之共享池(Shared pool)nShared pool的查詢視圖的查詢視圖 視圖名視圖名 釋義釋義 v$shared_pool_advice 查詢共享池建議器的預(yù)測數(shù)據(jù),用于調(diào)整共享池大小查詢共享池建議器的預(yù)測數(shù)據(jù),用于調(diào)整共享池大小 v$shared_poo
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省威海市2024-2025學(xué)年高二上學(xué)期期末考試地理試題 含解析
- 新能源技術(shù)發(fā)展現(xiàn)狀及趨勢預(yù)測分析表
- 《數(shù)學(xué)公式記憶與理解:初中數(shù)學(xué)公式教學(xué)計(jì)劃》
- 信息網(wǎng)絡(luò)安全領(lǐng)域技術(shù)防護(hù)策略制定
- 快速上手操作指南與簡明教程集萃
- 市場調(diào)研員-市場研究機(jī)構(gòu)簡歷
- 智能能源投資合同
- 營銷培訓(xùn)課筆記
- 如何制定有效的營銷策略需要考慮哪些因素
- 圖文電視制作和播出設(shè)備相關(guān)行業(yè)投資方案范本
- 【課件】化學(xué)與人體健康課件-九年級化學(xué)人教版(2024)下冊
- 現(xiàn)代家政導(dǎo)論-課件 3.2.2認(rèn)知家庭生活管理
- 離職證明(標(biāo)準(zhǔn)模版)
- 2022風(fēng)電工程標(biāo)桿造價(jià)指標(biāo)表格
- 遼寧省部分高中2023-2024學(xué)年高一下學(xué)期4月月考化學(xué)試題
- 08J333 建筑防腐蝕構(gòu)造
- 電工技術(shù)基礎(chǔ)與技能 第4版 課件全套(姚錦衛(wèi))第1-7章 電能與安全用電- 戶內(nèi)開關(guān)箱的安裝與調(diào)試
- 熟練掌握客服常用工具的使用課件
- 分析化學(xué)試題(附答案)
- 小兒腸套疊護(hù)理查房
- DL-T5440-2020重覆冰架空輸電線路設(shè)計(jì)技術(shù)規(guī)程
評論
0/150
提交評論