设为首页 收藏本站
查看: 998|回复: 0

[经验分享] oracle 内存监控

[复制链接]

尚未签到

发表于 2018-9-25 10:02:50 | 显示全部楼层 |阅读模式
  http://www.examda.com/oracle/zhonghe/20100504/093839663.html
  ORACLE的数据库所占用的内存区域被称为SGA,它主要由三部分组成,第一部分是DATA BUFFER,第二部分是LOG BUFFER,第三部分是SHARED POOL。
  DATA BUFFER中存放的是常用的ORACLE数据块,当ORACLE中的某个事务要对某些数据进行查询或修改时,ORACLE会首先在DATA BUFFER中寻找该数据块,若能找到,则操作直接在内存中进行,不需要物理读操作,这样可以提高系统性能。对于DATA BUFFER的管理而言,最重要的一个指标就是它的命中率,如果命中率大于95%,则说明绝大多数数据都可以直接在内存中访问到,系统的性能尚可,若此值 小于95%,则需增大DATA BUFFER的空间。
  LOG BUFFER中存放的是ORACLE的REDO LOG信息,这些信息在满足一定的条件时由ORACLE后台进程LGWR写入到物理的REDO LOG文件中。如果LOG BUFFER的空间太小,而CPU较快,硬盘较慢,则在事务处理繁忙时,有可能会造成当LOG BUFFER还没有完全写入REDO LOG时,LOG BUFFER已全部占满的情况。此时正在被处理的事务只能等待系统将LOG BUFFER完全写入文件后才能继续,这样一来,系统的性能将受到影响。对于LOG BUFFER的管理而言,最重要的一个指标就看是它的REDO LOG SPACE REQUEST与REDO ENTRIES的比率,如果此数值小于1/5000,则说明系统的性能尚可,若此值大于1/5000,则需增大LOG BUFFER的空间。
  SHARED POOL主要由两部分组成,其一为DICTIONARY CACHE,其二为LIBRARY CACHE。
  DICTIONARY CACHE在内存中存放ORACLE数据库中常用的数据字典的信息,若此区域太小,当ORACLE需要某些数据字典信息,如对某用户的权限设置等信息时, 如果该信息不能在DICTIONARY CACHE中找到,则必须先通过物理读从ORACLE数据库的数据文件中得到该信息,然后再将该内存区域的部分信息替换出去。如此反复,将大大影响系统的 性能。对于DICTIONARY CACHE的管理而言,最重要的一个指标就是它的命中率,如果命中率大于95%,则说明绝大多数数据字典信息都可以直接在内存中访问到,系统的性能尚可, 若此值小于95%,则需增大SHARED POOL的空间,从而间接增大DICTIONARY CACHE的空间。
  LIBRARY CACHE在内存中存放经语法分析后的、可执行的SQL CURSOR的信息和编译后的PL/SQL的程序等。当用户向ORACLE发出一个SQL命令后,ORACLE首先利用其内部的HASH函数将此SQL语 句的文本映射成一个LIBRARY CACHE中的地址,检查在该地址是否有已经过语法分析后的、可执行的与该SQL语句对应的SQL CURSOR的信息,如果没有,则ORACLE将该SQL语句经语法分析后的结果存放在此,这样一来,下一条与此完全一致的SQL语句将不必再次进行语法 分析。ORACLE数据库通过这样的机制来提高系统性能。但如果LIBRARY CACHE太小,当用户下一条完全一致的SQL语句键入时,原SQL语句经语法分析后的结果已被替换出去,在这样的情况下,系统的性能将大受影响。因此对 于LIBRARY CACHE的管理而言,最重要的一个指标就是它的命中率,如果命中率大于95%,则说明绝大多数可执行信息都可以直接在内存中访问到,不必再次经过语法分 析和编译,系统的性能尚可,若此值小于95%,则需增大SHARED POOL的空间,从而间接增大LIBRARY CACHE的空间。
  目标
  监控数据库的内存使用效率,以确定数据库的使用是否存在严重的内存配置问题。
  常用的扫描类型
  BCHRATIO:此扫描类型显示DATA BUFFER的命中率,通常情况下,该数值不应小于95%。
  DATABASE SLOTS – REDO LOGS:此扫描类型显示关于LOG BUFFER的信息。
  LIBRARY CACHE – PIN HIT RATIO:此扫描类型显示关于LIBRARY CACHE的命中率。
  DICTIONARY CACHE – HIT RATIO:此扫描类型显示关于DICTIONARY CACHE的命中率。
  表格1.与内存监控有关的扫描类型
  Scan Group
  Scan Type
  Description
  Dictionary Cache Info
  Hit Ratio
  数据字典缓冲区命中率。当命中率较低且系统事务繁忙时,应适当加大init/*$ORACLE_SID*/.ora文件中的SHARE_POOL_SIZE参数
  Pin Hit Ratio
  对Library Cache 发出pin请求的命中率,通常,如果pin 的命中率小于95%,适当增大init/*$ORACLE_SID*/.ora文件中SHARED_POOL_SIZE参数
  Request Hit Ratio
  对Library Cache 发出get请求的命中率,通常,如果pin 的命中率小于95%,适当增大init/*$ORACLE_SID*/.ora文件中SHARED_POOL_SIZE参数
  I/O Performance Info
  Buffer Cache Hit Ratio
  数据缓冲区命中率。如果该命中率经常低于95%,则需要增加init/*$ORACLE_SID*/.ora文件中的db_block_buffers参数
  Individual Scan Types
  SGA
  SGA区中每一个部分的大小
  Latch Contention Pct.
  Latch请求超时的比率
  表格2.与内存监控有关部门的报警类型
  Related Event
  Performance Workspace
  Scan Group
  Scan Type
  Description
  Hit Ratio
  AL_hitratio.wsv
  I/O Performance Info Group
  Buffer Cache Hit Ratio
  如果 buffer cache命中率低于阈值,引发报警。此报警可以用于检查是否Buffer Cache过小。
  SgaFreememLow
  AL_SgaFreeMemLow.wsv
  Individual Scan Types
  SGA Status
  如果SGA memory 百分比少于阈值,触发报警。
来源:考试大-Oracle认证考试

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-601171-1-1.html 上篇帖子: Oracle中生成GUID类型 下篇帖子: ORACLE ERP 的前世今生(4)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表