Oracle對內(nèi)存的管理越來越趨向智能化、自動化,從9i通過PGA_AGGREGATE_TARGET參數(shù)實現(xiàn)PGA的自動管理,10g通過Automatic Shared M
Oracle對內(nèi)存的管理越來越趨向智能化、自動化,從9i通過PGA_AGGREGATE_TARGET參數(shù)實現(xiàn)PGA的自動管理,10g通過Automatic Shared Memory Management(ASMM)實現(xiàn)SGA的自動管理,到11g通過Automatic Memory Management(AMM)實現(xiàn)內(nèi)存(SGA+PGA)的自動管理。由于11G(AMM)的引入,DBA只需要設置一個或兩個參數(shù)就可以實現(xiàn)ORACLE對整個內(nèi)存塊的自動管理。memory_max_target參數(shù)指定了ORACLE可以分配的最大內(nèi)存大小,如果不指定memory_target參數(shù),,默認為0,即和memory_max_target同樣大小。
默認情況下,Oracle 11g是使用AMM的。我們在安裝過程中,指定Oracle使用內(nèi)存的百分比,這個取值就作為MEMORY_TARGET和MEMORY_MAX_TARGET的初始取值使用。如果這兩個參數(shù)設置為非零取值,那么Oracle就是采用AMM管理策略的。同時,如果我們設置這兩個參數(shù)為0,則AMM自動關閉。對應的SGA_TARGET、PGA_AGGREGATE_TARGET參數(shù)取值非零之后,Oracle自動退化使用ASMM特性。
下面介紹一下4個相關的初始化參數(shù)。
SGA_MAX_SIZE
屬性
描述
參數(shù)類型
Big integer
語法
SGA_MAX_SIZE = integer [K | M | G]
默認值
是否可修改
否
取值范圍
0~視操作系統(tǒng)而定
SGA_TARGET
屬性
描述
參數(shù)類型
Big integer
語法
SGA_TARGET = integer [K | M | G]
默認值
是否可修改
ALTER SYSTEM
取值范圍
64M~視操作系統(tǒng)而定
是否基本參數(shù)
是
l Buffer cache (DB_CACHE_SIZE)
l Shared pool (SHARED_POOL_SIZE)
l Large pool (LARGE_POOL_SIZE)
l Java pool (JAVA_POOL_SIZE)
l Streams pool (STREAMS_POOL_SIZE)
l Log buffer
l Fixed SGA and other internal allocations
MEMORY_MAX_TARGET
屬性
描述
參數(shù)類型
Big integer
語法
MEMORY _MAX_TARGET = integer [K | M | G]
默認值
0
是否可修改
NO
取值范圍
0~Oracle數(shù)據(jù)庫可用物理內(nèi)存大小
是否基本參數(shù)
否
MEMORY_TARGET
屬性
描述
參數(shù)類型
Big integer
語法
MEMORY _TARGET = integer [K | M | G]
默認值
是否可修改
ALTER SYSTEM
取值范圍
152M~視操作系統(tǒng)而定
是否基本參數(shù)
否
MEMORY_TARGET指定Oracle系統(tǒng)范圍的可用內(nèi)存。數(shù)據(jù)庫將內(nèi)存大小調(diào)整為MEMORY_TARGET的值,根據(jù)需要減少或擴大SGA和PGA。
MEMORY_TARGET應該設置大于或等于當前SGA和PGA大小的總和。
在文本初始化參數(shù)文件中,如果省略MEMORY_MAX_TARGET并包括一個MEMORY_TARGET值,則數(shù)據(jù)庫會自動將MEMORY_MAX_TARGET的值設置為MEMORY_TARGET的值。如果省略MEMORY_TARGET并包括MEMORY_MAX_TARGET,則MEMORY_TARGET參數(shù)默認值為零。在數(shù)據(jù)庫啟動后,你可以動態(tài)地修改MEMORY_TARGET為非零值,只要它不超過MEMORY_MAX_TARGET的值。
總的內(nèi)存使用量可以超過MEMORY_TARGET的值。例如,只要在操作系統(tǒng)級別上有可用內(nèi)存,無論MEMORY_TARGET的值是多少,都可以將內(nèi)存分配給PL / SQL表和可變數(shù)組。
在“默認值”字段中,IMMEDIATE模式自動調(diào)整要求是必要的,這樣可以避免ORA-04031錯誤。DEFERRED和IMMEDIATE模式的具體值,可以通過V$MEMORY_RESIZE_OPS視圖的OPER_MODE列來查看。
本文永久更新鏈接地址:
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com