日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle内存管理模式amm,Oracle 11g自动内存管理(AMM)相关的初始化参数

發布時間:2024/3/12 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle内存管理模式amm,Oracle 11g自动内存管理(AMM)相关的初始化参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle對內存的管理越來越趨向智能化、自動化,從9i通過PGA_AGGREGATE_TARGET參數實現PGA的自動管理,10g通過Automatic Shared Memory Management(ASMM)實現SGA的自動管理,到11g通過Automatic Memory Management(AMM)實現內存(SGA+PGA)的自動管理。由于11G(AMM)的引入,DBA只需要設置一個或兩個參數就可以實現ORACLE對整個內存塊的自動管理。memory_max_target參數指定了ORACLE可以分配的最大內存大小,如果不指定memory_target參數,默認為0,即和memory_max_target同樣大小。

默認情況下,Oracle 11g是使用AMM的。我們在安裝過程中,指定Oracle使用內存的百分比,這個取值就作為MEMORY_TARGET和MEMORY_MAX_TARGET的初始取值使用。如果這兩個參數設置為非零取值,那么Oracle就是采用AMM管理策略的。同時,如果我們設置這兩個參數為0,則AMM自動關閉。對應的SGA_TARGET、PGA_AGGREGATE_TARGET參數取值非零之后,Oracle自動退化使用ASMM特性。

下面介紹一下4個相關的初始化參數。

SGA_MAX_SIZE

屬性

描述

參數類型

Big integer

語法

SGA_MAX_SIZE = integer [K | M | G]

默認值

數據庫啟動時SGA的初始化大小,取決于SGA中不同池的大小,例如緩沖區,共享池,大池,等等。

是否可修改

取值范圍

0~視操作系統而定

SGA_MAX_SIZE指定了實例生命周期內SGA的最大值。

在64位平臺或者非32位Windows平臺,當MEMORY_TARGET或MEMORY_MAX_TARGET被設定時,SGA_MAX_SIZE會被設置為二者的較大值。這樣將會預留更多的地址空間用于擴大SGA。

在32位Windows平臺,SGA_MAX_SIZE的默認值是下面幾個參數值的最大值:

l60%*MEMORY_TARGET(如果指定的話)

l60%*MEMORY_MAX_TARGET (如果指定的話)

l25%*總的可用虛擬地址空間

SGA_TARGET

屬性

描述

參數類型

Big integer

語法

SGA_TARGET = integer [K | M | G]

默認值

0(SGA自動調整功能在DEFERRED模式調整請求下被禁用,但是在IMMEDIATE模式調整請求下是允許的)

是否可修改

ALTER SYSTEM

取值范圍

64M~視操作系統而定

是否基本參數

SGA_TARGET制定了SGA各個組件的總大小。如果SGA_TARGET被指定,那么下面所列出的內存池大小將被自動分配:

lBuffer cache (DB_CACHE_SIZE)

lShared pool (SHARED_POOL_SIZE)

lLarge pool (LARGE_POOL_SIZE)

lJava pool (JAVA_POOL_SIZE)

lStreams pool (STREAMS_POOL_SIZE)

如果上述自動調整的內存池被設置為非零值,那么這些值將被自動共享內存管理系統(ASMM, Automatic Shared Memory Management)視為最小值。如果一個應用組件正常運行要求一個最小數值的內存,那么你就需要設定最小值。

下述內存池需要手工設置大小,不受自動共享內存管理系統(ASMM, Automatic Shared Memory Management)的影響:

lLog buffer

lOther buffer caches, such asKEEP,RECYCLE, and other block sizes

lFixed SGA and other internal allocations

當自動共享內存管理系統在計算自動調整內存池的具體大小時,會將上述內存池內存從總的可用SGA_TARGET中扣除。

在“默認值”字段中,IMMEDIATE模式自動調整要求是必要的,這樣可以避免ORA-04031錯誤。DEFERRED和IMMEDIATE模式的具體值,可以通過V$MEMORY_RESIZE_OPS視圖的OPER_MODE列來查看。

MEMORY_MAX_TARGET

屬性

描述

參數類型

Big integer

語法

MEMORY_MAX_TARGET = integer [K | M | G]

默認值

0

是否可修改

NO

取值范圍

0~Oracle數據庫可用物理內存大小

是否基本參數

MEMORY_MAX_TARGET指定了一個DBA可以設置MEMORY_TARGET初始化參數的最大值。請參見MEMORY_TARGET的有關描述,獲取更多有關MEMORY_MAX_TARGET和MEMORY_TARGET的設置是如何相互影響的信息。

MEMORY_TARGET

屬性

描述

參數類型

Big integer

語法

MEMORY_TARGET = integer [K | M | G]

默認值

0(SGA自動調整功能在DEFERRED模式調整請求下被禁用,但是在IMMEDIATE模式調整請求下是允許的)

是否可修改

ALTER SYSTEM

取值范圍

152M~視操作系統而定

是否基本參數

MEMORY_TARGET指定Oracle系統范圍的可用內存。數據庫將內存大小調整為MEMORY_TARGET的值,根據需要減少或擴大SGA和PGA。

MEMORY_TARGET應該設置大于或等于當前SGA和PGA大小的總和。

在文本初始化參數文件中,如果省略MEMORY_MAX_TARGET并包括一個MEMORY_TARGET值,則數據庫會自動將MEMORY_MAX_TARGET的值設置為MEMORY_TARGET的值。如果省略MEMORY_TARGET并包括MEMORY_MAX_TARGET,則MEMORY_TARGET參數默認值為零。在數據庫啟動后,你可以動態地修改MEMORY_TARGET為非零值,只要它不超過MEMORY_MAX_TARGET的值。

總的內存使用量可以超過MEMORY_TARGET的值。例如,只要在操作系統級別上有可用內存,無論MEMORY_TARGET的值是多少,都可以將內存分配給PL / SQL表和可變數組。

在“默認值”字段中,IMMEDIATE模式自動調整要求是必要的,這樣可以避免ORA-04031錯誤。DEFERRED和IMMEDIATE模式的具體值,可以通過V$MEMORY_RESIZE_OPS視圖的OPER_MODE列來查看。

總結

以上是生活随笔為你收集整理的oracle内存管理模式amm,Oracle 11g自动内存管理(AMM)相关的初始化参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。