你所不知道的后台进程SMON功能.pdfVIP

  1. 1、本文档共65页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
你所不知道的后台进程SMON功能

你所不知道的后台进程SMON 功能 acs 刘相兵 Maclean Liu SMON(system monitor process)系统监控后台进程,有时候也被叫做system cleanup process, 这么叫的原因是它负责完成很多清理(cleanup)任务。但凡学习过Oracle 基础知识的技术人员 都会或多或少对该background process 的功能有所了解。 我们所熟知的 SMON 是个兢兢业业的家伙,它负责完成一些列系统级别的任务。与 PMON(Process Monitor)后台进程不同的是,SMON 负责完成更多和整体系统相关的工作,这 导致它会去做一些不知名的”累活”,当系统频繁产生这些”垃圾任务”,则SMON 可能忙不过 来。因此在10g 中SMON 变得有一点懒惰了,如果它在短期内接收到过多的工作通知(SMON: system monitor process posted),那么它可能选择消极怠工以便让自己不要过于繁忙(SMON: Posted too frequently, trans recovery disabled) ,之后会详细介绍。 了解你所不知道的SMON 功能(一):清理临时段 触发场景 很多人错误地理解了这里所说的临时段temporary segments ,认为temporary segments 是指 temporary tablespace 临时表空间上的排序临时段(sort segment)。事实上这里的临时段主要 指的是永久表空间(permanent tablespace)上的临时段,当然临时表空间上的 temporary segments 也是由SMON 来清理(cleanup)的,但这种清理仅发生在数据库实例启动时(instance startup) 。 永久表空间上同样存在临时段,譬如当我们在某个永久表空间上使用 create table/index 等 DDL 命令创建某个表/索引时,服务进程一开始会在指定的永久表空间上分配足够多的区间 (Extents),这些区间在命令结束之前都是临时的(Temporary Extents),直到表/索引完全建成 才将该temporary segment 转换为permanent segment。另外当使用drop 命令删除某个段时, 也会先将该段率先转换为 temporary segment ,之后再来清理该 temporary segment(DROP object converts the segment to temporary and then cleans up the temporary segment) 。常规情 况下清理工作遵循谁创建temporary segment ,谁负责清理的原则。换句话说,因服务进程 rebuild index 所产生的temporary segment 在rebuild 完成后应由服务进程自行负责清理。一 旦服务进程在成功清理temporary segment 之前就意外终止了,亦或者服务进程在工作过程 中遇到了某些ORA-错误导致语句失败,那么SMON 都会被要求(posted)负责完成temporary segment 的清理工作。 对于永久表空间上的temporary segment ,SMON 会三分钟清理一次(前提是接到post),如果 SMON 过于繁忙那么可能temporary segment 长期不被清理。temporary segment 长期不被清 理可能造成一个典型的问题是:在rebuild index online 失败后,后续执行的rebuild index 命令 要求之前产生的temporary segment 已被cleanup,如果cleanup 没有完成那么就需要一直等 下去。在 10gR2 中我们可以使用 dbms_repair.online_index_clean 来手动清理 online index rebuild 的遗留问题: The dbms_repair.online_index_clean function has been created to cleanup online index rebuilds. Use the dbms_repair.onl

文档评论(0)

l215322 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档