oracle启用amm,使用ASMM和AMM时设置shared_pool
使用ASMM和AMM時設置shared_pool
從10g中引入了asmm后,相比以前的手動調整各種內存組件,在自動管理方面前進了一大步。DBA只需要定義sga_target和sga_max_target就可以了
其他的各種事情就交給oracle自己去搞定了.
11g引入了amm,只需要定義memory_target和memory_max_target就可以了,oracle會自動分配pga和sga中的各個組件.一切變得更簡單了.
特別需要關注的是對shared_pool的調整,我們知道shared _pool非常重要,在自動管理的環境情,可能會被其他的內存組件占用shared_pool的空間,
當shared_pool空間不夠時會引發各種各樣的問題,嚴重情況一下會引起DB被hang住,有時候也把這種情況稱為內存顛簸。在這里值得一提的是在自動管理
內存的環境下也可以定義各種組件的大小,這時候的定義是表示一個組件的最小值。所以非常建議給shared_pool_size手動設置一個最小值,這樣保證shared_pool不
至于太小而引發的各種問題。初始大小設置為(memory_target*0.6)*0.4 .觀察一段時間,再根據實際情況做部分修改.
引發內存顛簸的情形還有可能是bug,具體可以參看mos相關文檔,也可以設置_memory_broker_stat_interval參數,定義了每次進行resize的時間(可能調整或不調整),
default為30秒。在v$sga_resize_ops表現了resize的操作.
另外還有db_recycle_cache_size和db_keep_cache_size需要手動設置.
總結
以上是生活随笔為你收集整理的oracle启用amm,使用ASMM和AMM时设置shared_pool的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在各种裁员的“寒冬”,还应该对年终奖有多
- 下一篇: 基于RGB-D图像的视觉里程计连续尺度空