- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深入了解Oracle 自动内
存管理ASMM
by Maclean.liu
liu.maclean@
About Me
l Email:liu.maclean@
l Blog:
l Oracle Certified Database Administrator Master 10g
and 11g
l Over 6 years experience with Oracle DBA technology
l Over 7 years experience with Linux technology
l Member Independent Oracle Users Group
l Member All China Users Group
l Presents for advanced Oracle topics: RAC,
DataGuard, Performance Tuning and Oracle Internal.
每一个Oracle 的初学者在入门阶段都会接触到SGA/PGA 的知识,如果是从10g 开始学习那么会多或少会对
ASMM 有所了解,从使用的角度来说ASMM 的出现极大地简化了Oracle 内存初始化参数的设置,在ASMM 的使
用上高级DBA 和初学者不会有太大的差别;很多人因此而认为ASMM 极大程度地减少了数据库对于专业DBA 的
依赖:如果我们有一个足够智能的DB,那么为什么还要花费金钱雇佣DBA 呢?这似乎是时下一种十分流行的想
法。当然这种想法我个人是不能苟同的,ASMM 一定程度上带来了便利,更大程度上它是一个黑盒,黑盒里面藏
了很多秘密,这些秘密带来比手动管理更多的不确定性;在10g release 1 和 10.2 的早期版本中ASMM 扮演的角
色有点像一个闯祸精,另一个让用户对ASMM 很不待见的原因 ASMM 直接拖慢了startup 的速度。一个个人观
点 ASMM 也好AMM 也罢,都要求产品数据库DBA 掌握更多SGA/PGA 相关的知识才能成功驾驭这些有智” ” ”
力的家伙,有点夸张的说这个时候的” DBA 很像一个chemist(需要和一大堆以1 个或2 个下划线开头的奇怪参数
打交道)。
为了不辱使命我们真的有必要了解一下ASMM 的基本知识,显然这并不是一件容易的事情……
Oracle 的 SGA 基本内存组件从9i 开始并没有非常大的变化,他们包括:
• Buffer Cache 我们常说的数据库高速缓存,虽然我一直不明白要冠以高速之名
• Default Pool 默认的缓冲池,大小由DB_CACHE_SIZE 决定
• Keep Pool 持久的缓冲池,大小由DB_KEEP_CACHE_SIZE 决定
• Non standard pool 非标准块标准池,大小由DB_nK_cache_size 决定
• Recycle pool 回收池,大小由db_recycle_cache_size 决定
• Shared Pool 共享池,大小由shared_pool_size 决定
• Library cache 俗称的库缓存
• Row cache 行缓存,也叫字典缓存
• Java Pool java 池,大小由Java_pool_size 决定
• Large Pool 大池,大小由Large_pool_size 决定
• Fixed SGA 固定的SGA 区域,包含了Oracle 内部的数据结构,一般被存放在第一个granule 中
在 9i 中尚未引入ASMM ,唯一的选择是手动管理的SGA,有时候也叫做MSMM。在9i 中除去buffer cache 的大
小可以手动修改外,其余组件都无法动态修改。因为缺乏一种动态管理的机制,所以在9i 中如果有某个内存区域
有急用,也无法从其他有空闲内存的组件中捐献一
文档评论(0)