INS-35178錯誤,AMM及ASMM區別
遇到這個報錯,就使用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.rzrgm.cn/yongestcat/
歡迎轉載,轉載請標明出處。
如果你覺得本文還不錯,對你的學習帶來了些許幫助,請幫忙點擊右下角的推薦

浙公網安備 33010602011771號