
遇到這個報錯,就使用asmm
一般先裝庫,再opatch到最新更新檔,最後dbca建庫,實體記憶體大于4G不能用AMM隻能用ASMM
記憶體越大,全自動管理就越費勁,出錯機率就越高,記憶體抖動
oracle的記憶體管理:
9i PGA自動管理SGA手動管理,10g PGA自動管理 SGA自動管理(ASMM 自動共享記憶體管理),11g PGA SGA統一自動管理(AMM,自動記憶體管理),12c 18c 19c和11g一樣沒有變化
11g concepts有如下描述
Memory management involves maintaining optimal sizes for the Oracle instance memory structures as demands on the database change. Oracle Database manages memory based on the settings of memory-related initialization parameters. The basic options for memory management are as follows:
-
Automatic memory management
You specify the target size for instance memory. The database instance automatically tunes to the target memory size, redistributing memory as needed between the SGA and the instance PGA.
-
Automatic shared memory management
This management mode is partially automated. You set a target size for the SGA and then have the option of setting an aggregate target size for the PGA or managing PGA work areas individually.
-
Manual memory management
Instead of setting the total memory size, you set many initialization parameters to manage components of the SGA and instance PGA individually.
If you create a database with Database Configuration Assistant (DBCA) and choose the basic installation option, then automatic memory management is the default.
ASMM是10g引入的技術,實作SGA的自動管理,啟用後不再需要為每個記憶體元件設定值,如果同時啟用SGA_TARGET為0表示禁用ASMM,非0值表示啟用ASMM,但是在10gR1等早期版本,ASMM不夠成熟有較多bug
AMM自動化記憶體管理是11g引入的技術,實作了PGA和SGA的統一自動管理
由此在11g後,就組合出來5種記憶體管理形式
自動記憶體管理(AMM):memory_target=非0,是自動記憶體管理,如果初始化參數LOCK_SGA=TRUE,則AMM是不可用的
自動共享記憶體管理(ASMM):memory_target=0 且 sga_target=非0的情形下是自動記憶體管理
手工共享記憶體管理:memory_target=0 且 sga_target=0 指定share_pool_size、db_cache_size等sga參數
自動PGA管理:memory_target=0 且 workarea_size_policy=auto and PGA_AGGREGATE_TARGET=值
手工PGA管理:memory_target=0 且 workarea_size_policy=manal 然後指定SORT_AREA_SIZE等PGA參數,一般不使用手動管理PGA
作者:九命貓幺
部落格出處:http://www.cnblogs.com/yongestcat/
歡迎轉載,轉載請标明出處。
如果你覺得本文還不錯,對你的學習帶來了些許幫助,請幫忙點選右下角的推薦