oracle的sga
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?sga | |||||||||||||||||||||||||||||||
| ? ? | |||||||||||||||||||||||||||||||
| SGA的管理 | ■有三種方式: ? ? ? ? ? ●8i:SGA的總大小由所有內(nèi)存組件大小之和決定,不能直接定義SCA大小。對(duì)內(nèi)部組件大小的修改必須在數(shù)據(jù)庫重起? ? ? ? ? ? ? ? ? ? 后?才能生為,所以叫做SGA的靜態(tài)管理。 ? ? ? ? ? ●9i:?SGA總大小由初始化參數(shù)SGA_?MAX?SIZE確定,各個(gè)內(nèi)存組件大小之和不能超過這個(gè)參數(shù)。在這個(gè)大小之下,? ? ? ? ? ? ? ? ? ? ? SGA?各個(gè)內(nèi)存組件可以在不重起數(shù)據(jù)庫的情況下直接修改大小,所以叫做SGA的動(dòng)態(tài)管理。 ? ? ? ? ? ●10g:??SGA大小既可以像9i一樣動(dòng)態(tài)管理,也可以實(shí)施SGA的自動(dòng)管理,只需要設(shè)置初始化參數(shù)SGA_?TARGET,?SGA? ? ? ? ? ? ? ? ? ? ? ?各個(gè)內(nèi)存組件??三就可以由數(shù)據(jù)庫自動(dòng)設(shè)置大小,設(shè)置的依據(jù)來源于系統(tǒng)自動(dòng)收集的統(tǒng)計(jì)信息 ? ?■在9i以后,SGA的內(nèi)部組件大小可以動(dòng)態(tài)調(diào)整,也可以由數(shù)據(jù)庫自動(dòng)管理,在設(shè)置內(nèi)存大小的時(shí)候,分配的基本單位是粒? ? ? ? ? ? 度(granule)。Granule是一段連續(xù)的虛擬內(nèi)存,大小取決于SGA?_MAX?SIZE的大小 ? ? ? ? ? ?●如果SGA_?MAX?_SIZE小于128M,?Granule為4M,?否則Granule為16M ? ? ? ? ? ?●各個(gè)內(nèi)存組件分配大小必須是Granule的整倍數(shù) ? ? ? ? ? ?●整個(gè)SGA最小不小于3個(gè)Granule大小 ■9i中的規(guī)則如下: ? ? ? ?●linux/unix ? ? ? ? ? ? ?SGA?>128M?granule?16M? ? ? ? ? ●Windows ? ? ? ? ? ? SGA?>128M?granule?8M ■10g中的分配規(guī)則為 ? ? ? ? ●?linuxunix ? ? ? ? ●Windows | ||||||||||||||||||||||||||||||
| shared pool | ■用于存儲(chǔ): ? ?◆最近執(zhí)行的SQL 語句 ? ?◆最近使用的數(shù)據(jù)定義 ? ?◆庫緩存 | ||||||||||||||||||||||||||||||
| 庫緩存 | ■存儲(chǔ)最近使用的SQL和PL/SQL語句的信息 ■共享最常用的語句 ■管理上遵循LRU規(guī)則 ■包括兩個(gè)部分: ? ?◆共享PLSQL區(qū) | ||||||||||||||||||||||||||||||
| 數(shù)據(jù)字典緩存 | ■存儲(chǔ)在數(shù)據(jù)庫中最近使用的定義 ■包括數(shù)據(jù)文件,表,索引,列,用戶,權(quán)限和其他的數(shù)據(jù)庫對(duì)象 ■在分析階段,服務(wù)器進(jìn)程查找數(shù)據(jù)字典去驗(yàn)證對(duì)象的名字以及是否是合法訪問 ■對(duì)于查詢和DML語句,如果數(shù)據(jù)字典的信息在緩存中能夠提高響應(yīng)時(shí)間大小由Shared Pool的大小決定 | ||||||||||||||||||||||||||||||
| SGA中關(guān)鍵的內(nèi)存片段。特別是性能與擴(kuò)展上。 ■如果以前執(zhí)行過,則按照以前執(zhí)行的計(jì)劃執(zhí)行,通常是軟分析[soft parse|或快速軟分析 ? ? ◆通過PCA提交Sql語句>parse語句>soft parse->執(zhí)行語句- >通過PCA輸出 ■如果沒執(zhí)行過,oracle 開始分析語句的語法,語義,按照優(yōu)化器規(guī)則獲得最佳執(zhí)行計(jì)劃,并在內(nèi)存中保存這個(gè)語句與之對(duì)應(yīng) ? ?的執(zhí)行計(jì)劃等相關(guān)信息,便于下次快速調(diào)用。 ? ?◆通過PGA提交Sql語句parse語句hard parse→分析與得到優(yōu)化方案[CBOor RB0|→根據(jù)優(yōu)化方案制定執(zhí)行計(jì)劃》執(zhí)行語句 ? ?◆一-通過PGA輸出 | |||||||||||||||||||||||||||||||
| 數(shù)據(jù)高速緩存區(qū) | ■暫存從數(shù)據(jù)文件中獲得的數(shù)據(jù)塊的數(shù)據(jù)映像 ■同樣遵循LRU算法管理內(nèi)存 ? ? ◆DB RECYCLE CACHE SIZE ■只有defualt池可以被sga自動(dòng)管理
? ? | ||||||||||||||||||||||||||||||
| 重做日志緩沖區(qū) | ■暫存數(shù)據(jù)庫中所有數(shù)據(jù)塊的改變 ■內(nèi)存管理方法是FIFO ■重做日志被用于提供數(shù)據(jù)恢復(fù)功能 ■暫存重做日志的目的是為了提高語句的執(zhí)行速度 ■大小由參數(shù)LOG_ BUFFER決定,但這個(gè)內(nèi)存區(qū)不能動(dòng)態(tài)調(diào)整大小 | ||||||||||||||||||||||||||||||
| 大池 | ■大池是系統(tǒng)全局區(qū)中可選的一個(gè)內(nèi)存區(qū) | ||||||||||||||||||||||||||||||
| java池 | ■是系統(tǒng)全局區(qū)中一個(gè)可選內(nèi)存區(qū)。 ■用于Java程序的解析 和執(zhí)行 | ||||||||||||||||||||||||||||||
| ? | ? | ? | |||||||||||||||||||||||||||||
| ? | ? | ? | |||||||||||||||||||||||||||||
?
總結(jié)
以上是生活随笔為你收集整理的oracle的sga的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx中的location指令
- 下一篇: RESETLOGS