Oracleg結構組件解析課件_第1頁
Oracleg結構組件解析課件_第2頁
Oracleg結構組件解析課件_第3頁
Oracleg結構組件解析課件_第4頁
Oracleg結構組件解析課件_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Oracle10g結構組件2022/10/101Oracle10g結構組件2022/10/91Oracle10g的組件概述PasswordfileInstanceSGARedo LogBufferShared PoolData DictionaryCacheLibraryCacheDBWRSMONPMONCKPTLGWRARCnUserprocessServerprocessPGAControl filesDatafiles DatabaseDatabaseBuffer CacheRedo Log filesJava PoolLarge PoolParameterfileArchived Lo

2、g filesStreams PoolMMONMMANMMNLOthers2022/10/102Oracle10g的組件概述PasswordInstanceOracle10g服務器一個oracle10g服務器是一個開放的,全面綜合的數(shù)據(jù)庫管理系統(tǒng)由一個Oracle實例和一個Oracle數(shù)據(jù)庫組成Oracle server2022/10/103Oracle10g服務器一個oracle10g服務器OracOracle10g實例一個Oracle實例:是一種訪問Oracle數(shù)據(jù)庫的方法一個實例只能用于訪問一個數(shù)據(jù)庫由內存和后臺進程組成后臺進程結構內存結構InstanceSGARedo LogBuffe

3、rShared PoolData DictionaryCacheLibraryCacheDBWRSMONPMONCKPTLGWROthersDatabaseBuffer CacheJava PoolLarge PoolStreams Pool2022/10/104Oracle10g實例一個Oracle實例:后臺進程結構內存建立一個連接和創(chuàng)建一個會話連接到一個Oracle的實例:建立一個用戶連接創(chuàng)建一個會話創(chuàng)建會話數(shù)據(jù)庫用戶UserprocessServerprocess建立連接Oracle server2022/10/105建立一個連接和創(chuàng)建一個會話連接到一個Oracle的實例:創(chuàng)建三種連接方

4、式本地連接網(wǎng)絡連接(通過Net)三層連接(通過中間層服務器)2022/10/106三種連接方式本地連接2022/10/96Oracle10g數(shù)據(jù)庫一個Oracle數(shù)據(jù)庫:可以看成是一個數(shù)據(jù)存儲的單元主要由三種類型文件組成(數(shù)據(jù)文件、日志文件、控制文件)PasswordfileParameterfileArchived Log filesControl filesDatafiles Redo Log filesOracle Database2022/10/107Oracle10g數(shù)據(jù)庫一個Oracle數(shù)據(jù)庫:Passwo物理結構物理結構包括三種文件類型:控制文件數(shù)據(jù)文件聯(lián)機重做日志文件Contr

5、olfilesDatafiles(includes Data Dictionary) HeaderOnlineRedo Logfiles2022/10/108物理結構物理結構包括三種文件類型:ControlData H內存結構內存結構包括兩個部分:系統(tǒng)全局區(qū) (SGA): 在實例啟動的時候分配, 是Oracle實例的基礎組件程序全局區(qū) (PGA): 當服務器進程產生時分配2022/10/109內存結構內存結構包括兩個部分:2022/10/99內存分配單位分配的基本單位是粒度(granule)連續(xù)的虛擬內存分配根據(jù)SGA_MAX_SIZE調整大小大小按照以下規(guī)則分配: SQL select de

6、code(floor(to_number(value/1024/1024/1024),0,4M,16M) granules 2 from v$parameter where name=sga_max_size; GRA - 4MSGA內存按SGA組件顯示,單位為粒度V$BUFFER_POOL顯示分配和取消分配的情況2022/10/1010內存分配單位分配的基本單位是粒度(granule)2022/系統(tǒng)全局區(qū)系統(tǒng)全局區(qū)包括以下幾個部分:共享池數(shù)據(jù)緩沖區(qū)重做日志緩沖區(qū)其他 (例如 statistical data)三個額外的內存結構:Streams Pool大池Java池2022/10/1011系

7、統(tǒng)全局區(qū)系統(tǒng)全局區(qū)包括以下幾個部分:2022/10/911系統(tǒng)全局區(qū)動態(tài)的由參數(shù)SGA_MAX_SIZE決定大小SGA_TARGET如果設置了SGA_TARGET,以下組件將自動調整:Buffer cache (DB_CACHE_SIZE)Shared pool (SHARED_POOL_SIZE)Large pool (LARGE_POOL_SIZE)Java pool (JAVA_POOL_SIZE)2022/10/1012系統(tǒng)全局區(qū)動態(tài)的2022/10/91210g自動SGA調整SGA_TARGET SQL show parameter sga_ NAME TYPE VALUE - sg

8、a_max_size big integer 300M sga_target big integer 276M2022/10/101310g自動SGA調整SGA_TARGET2022/10/91V$SGAINFOSQL select * from v$sgainfo;NAME BYTES RES- - -Fixed SGA Size 1301704 NoRedo Buffers 1048576 NoBuffer Cache Size 25165824 YesShared Pool Size 125829120 YesLarge Pool Size 8388608 YesJava Pool Si

9、ze 125829120 YesStreams Pool Size 0 YesGranule Size 4194304 NoMaximum SGA Size 314572800 NoStartup overhead in Shared Pool 37748736 NoFree SGA Memory Available 2516582411 rows selected.2022/10/1014V$SGAINFOSQL select * from v$v$sga_dynamic_componentsSQL select component, current_size,min_size,max_si

10、ze 2 from v$sga_dynamic_components;COMPONENT CURRENT_SIZE MIN_SIZE MAX_SIZE- - - -shared pool 138412032 138412032 0large pool 8388608 8388608 0java pool 125829120 125829120 0streams pool 0 0 0DEFAULT buffer cache 37748736 37748736 0KEEP buffer cache 0 0 0RECYCLE buffer cache 0 0 0DEFAULT 2K buffer c

11、ache 0 0 0DEFAULT 4K buffer cache 0 0 0DEFAULT 8K buffer cache 0 0 0DEFAULT 16K buffer cache 0 0 0DEFAULT 32K buffer cache 0 0 0OSM Buffer Cache 0 0 013 rows selected.2022/10/1015v$sga_dynamic_componentsSQL s共享池用于存儲:最近執(zhí)行的SQL語句最近使用的數(shù)據(jù)定義由兩個與性能相關的部分組成:庫緩存數(shù)據(jù)字典緩存由參數(shù)SHARED_POOL_SIZE決定大小Shared PoolDataDict

12、ionaryCacheLibraryCacheALTER SYSTEM SET SHARED_POOL_SIZE = 100M;2022/10/1016共享池用于存儲:Shared PoolDataDictio庫緩存存儲最近使用的SQL和PL/SQL語句的信息共享最常用的語句管理上遵循LRU規(guī)則包括兩個部分:共享SQL區(qū)共享PL/SQL區(qū)大小由Shared_Pool_Size的大小決定2022/10/1017庫緩存存儲最近使用的SQL和PL/SQL語句的信息2022/數(shù)據(jù)字典緩存存儲在數(shù)據(jù)庫中最近使用的定義包括數(shù)據(jù)文件,表,索引,列,用戶,權限和其他的數(shù)據(jù)庫對象在分析階段, 服務器進程查找數(shù)據(jù)

13、字典去驗證對象的名字以及是否是合法訪問對于查詢和DML語句,如果數(shù)據(jù)字典的信息在緩存中能夠提高響應時間大小由Shared Pool的大小決定2022/10/1018數(shù)據(jù)字典緩存存儲在數(shù)據(jù)庫中最近使用的定義2022/10/91數(shù)據(jù)緩沖區(qū)存儲從數(shù)據(jù)文件中獲得的數(shù)據(jù)塊的鏡像當獲取和更新數(shù)據(jù)的時候能夠大幅度的提高性能管理上遵循LRU規(guī)則參數(shù)DB_BLOCK_SIZE其塊的大小Database BufferCache2022/10/1019數(shù)據(jù)緩沖區(qū)存儲從數(shù)據(jù)文件中獲得的數(shù)據(jù)塊的鏡像Database數(shù)據(jù)緩沖區(qū)包括以下獨立的子緩存:DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_REC

14、YCLE_CACHE_SIZE能夠動態(tài)的調整大小ALTER SYSTEM SET DB_CACHE_SIZE = 100M;2022/10/1020數(shù)據(jù)緩沖區(qū)包括以下獨立的子緩存:ALTER SYSTEM S重做日志緩沖區(qū)記錄所有數(shù)據(jù)庫的塊改變主要的目的是用于恢復大小由參數(shù)LOG_BUFFER決定Redo LogBuffer2022/10/1021重做日志緩沖區(qū)記錄所有數(shù)據(jù)庫的塊改變Redo LogBuf大池是系統(tǒng)全局區(qū)中可選的一個部分減輕在共享池中的負擔用于:共享服務器的會話內存(UGA)I/O slaver進程備份恢復操作或者是使用RMAN大小由參數(shù)LARGE_POOL_SIZE決定能夠被

15、動態(tài)的改變大小2022/10/1022大池是系統(tǒng)全局區(qū)中可選的一個部分2022/10/922Java池Java命令的分析如果要安裝和使用Java大小由參數(shù)JAVA_POOL_SIZE決定,如果granule是4M,默認是24M;如果granule是16M,默認大小是32M2022/10/1023Java池Java命令的分析2022/10/923程序全局區(qū)為每個用戶連接Oracle數(shù)據(jù)庫保留的內存當進程創(chuàng)建時分配進程結束后被釋放只能被一個進程使用參數(shù)PGA_AGGREGATE_TARGET指定PGA的總共大小 UserprocessPGAServerprocess2022/10/1024程序全局

16、區(qū)為每個用戶連接Oracle數(shù)據(jù)庫保留的內存User建議值 For OLTP 系統(tǒng)PGA_AGGREGATE_TARGET = ( * 80%) * 20% For DSS 系統(tǒng) PGA_AGGREGATE_TARGET = ( * 80%) * 50% 2022/10/1025建議值 For OLTP 系統(tǒng)PGA_AGGREGATE_進程結構Oracle有以下幾種進程:用戶進程: 在用戶連接數(shù)據(jù)庫時產生服務器進程: 當連接到Oracle實例并且用戶建立會話的時候產生后臺進程: Oracle實例啟動的時候產生2022/10/1026進程結構Oracle有以下幾種進程:2022/10/926用戶

17、進程請求與Oracle服務器連接必須要先建立一個連接不會直接和Oracle服務器聯(lián)系Database userServerprocessUserprocessConnectionestablished2022/10/1027用戶進程請求與Oracle服務器連接Database use服務器進程直接和Oracle服務器聯(lián)系完成調用并返回結果獨立服務器或者是共享服務器都能產生Connection establishedSession createdDatabase userUserprocessServerprocessOracle server2022/10/1028服務器進程直接和Oracle

18、服務器聯(lián)系Connection 后臺進程維持物理和內存之間的關聯(lián):必須要有的后臺進程:DBWnPMONCKPTLGWRSMON可選的后臺進程:ARCn CJQ0 LMON RECO QMNnLMSSnnn LCKn Pnnn LMDn2022/10/1029后臺進程維持物理和內存之間的關聯(lián):2022/10/929數(shù)據(jù)庫寫進程 (DBWn)DBWn寫的條件:發(fā)生檢查點臟緩存到達限制沒有空閑的緩存超時發(fā)生RAC ping請求 表空間離線表空間只讀表被刪除或者截斷開始備份表空間InstanceSGAControl filesData files Redo Log filesDatabaseDBWnD

19、atabaseBufferCache2022/10/1030數(shù)據(jù)庫寫進程 (DBWn)DBWn寫的條件:Instance日志寫進程 (LGWR)LGWR寫的條件:提交的時候達到三分之一滿日志的大小到1M每隔三秒在DBWn進程寫之前InstanceSGAControl filesData files Redo Log filesDatabaseRedo LogBufferDBWnLGWR2022/10/1031日志寫進程 (LGWR)LGWR寫的條件:InstanceS系統(tǒng)監(jiān)測進程 (SMON) 作用:實例恢復前滾所有重做日志中的改變打開數(shù)據(jù)庫為了用戶能訪問回滾沒有提交的事務接合自由的空間(coalesce every three seconds)釋放臨時表空間(deallocated)Control filesData files Redo Log filesDatabaseInstanceSGASMON2022/10/1032系統(tǒng)監(jiān)測進程 (SMON) 作用:Control files進程監(jiān)測進程 (PMON)清除失敗的進程:回滾事務釋放鎖釋放其他資源重啟死掉的dispatchersPGA areaInstanceSGAPMON2022/10/1033進程監(jiān)測進程 (PMON)清除失敗的進程:InstanceS檢查點進程 (CKPT)Control filesData f

溫馨提示

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

評論

0/150

提交評論