健康检查报告

健康检查报告究竟应该检查哪些内容?以下总结一部分,水平一般,能力有限,日后有提高继续更新。

 

在做健康检查之前,我们应该对客户的数据库环境有一定了解,根据环境不同,检查的内容也不一样:

  • 数据库为单机环境
  • 数据库为集群(RAC)环境
  • 有备库(分逻辑/物理备库)

鉴于目前为止做过为复杂的健康检查为在RAC+DataGuard上,所以只介绍上面三种情况。

 

在此之前,我们还有一点需要注意,如果是第一次做健康检查,需要统计完善数据库、操作系统环境信息;如果是日常巡检,则把重点放在性能上。

下面只讲个大概,不做细致说明,不贴代码:

 

第一次健康检查:

在第一次健康检查中,我们需要对客户的数据库、操作系统等做全面的信息收集,我们要做到的是:比客户更了解他的数据库!

需要收集的信息包括:

  1. 表空间使用情况:查看表空间使用率,对于使用率较高的表空间,查看其数据文件是否为自动扩展。若其数据文件为手动扩展,需要帮助/提醒客户注意及时扩展。
  2. 查看控制文件状态,位置
  3. 查看UNDO段信息
  4. 查看归档模式
  5. 查看AWR快照设置(10g后有AWR,之前使用statspack)
  6. 查看回收站对象,提醒客户及时清理回收站中数据
  7. 查看数据增长情况。并根据客户存储现状对是否扩容提出建议。
  8. TOP20存储对象

 

日常巡检:

【单机环境】

在单机环境中,我们重点根据AWR报告、alert日志等信息,发现客户数据库在运行过程中出现的问题。如果需要,可通过OSWatcher、NMON等对操作系统性能进行评估

  1. 导出导入客户AWR报告信息(10g之前使用statspack)
  2. 分析客户物理逻辑读(注意,客户业务时间通常为周一至周五,对于逻辑读高点,需询问客户业务情况)
  3. 根据物理逻辑读,查找AWR数据,找出问题根源。
  4. 检查alert日志,对于其中的ORA错误,ERROR错误进行分析。对ORA-600错误需要重点分析。
  5. 使用OSWatcher,NMON分析数据库

 

【RAC环境】

在单机基础上

  1. 两节点alert日志及AWR数据
  2. /etc/hosts

 

【备库】

  1. 内存使用情况
  2. 表空间信息
  3. 磁盘使用
  4. 同步情况
  5. 告警日志

 

这个健康检查需要检查的内容写的非常简单,可作为一个参考。这里面科技含量最高的部分,在于对Oracle知识的积累和长期分析得出的经验。

 

在遇到问题时,通常通过以下几种方式搜索解决方案:

ORA错误:http://www.ora-code.com/

Eygle的网站:http://www.eygle.com/

老杨的博客:http://yangtingkun.itpub.net/

AskTom:http://asktom.oracle.com/pls/apex/f?p=100:1:0:::RP,APP

谷歌:http://www.google.com.hk/

 

总结:漫漫长路,第一步……

  1. 我觉得健康检查不是调优(所以要有一个整体的运行情况分析)。。。
    可能应该附加做出一些数据的走势图出来,比如根据每次的awr的redo size ,逻辑读,物理读,等等指标。这样客户和我们自己通过看这些图都很清楚,这个数据库在一段时间内的负载的情况,这样这一份数据有成为一个基线,然后 你在下次检查的时候可以通过与上次的比较来进行观察
      这只是我一家之言,我本人只做一个小小的数据库巡检。呵呵。欢迎交流

  2. @zhouyf
    在第二步“分析客户物理逻辑读”时,通常会做出图表,对业务高峰期进行分析。
    在做报告时,一定要想到哪些部分有问题,哪些部分客户可能会问到,提前准备好!
    需要更多这样的讨论!这一篇文章十分的不完善,以后每一小部分都会单独拉出来进行详细的总结分析!

  3. @zhouyf
    哎呀,哥们你这么一说,我就又有压力,又有动力了
    这个主题其实挺大,包括AWR报告的分析,各种DB,OS工具使用,等等太多了……慢慢来吧,互相学习,您多提意见

普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress