Oracle故障和性能诊断流程V0.1_0116.docxVIP

  • 87
  • 0
  • 约6.06万字
  • 约 51页
  • 2019-03-27 发布于湖北
  • 举报
编写目的 介绍在现场出现Oracle故障和性能问题时的诊断流程,让项目支撑人员在解决Oracle问题时有据可依。 适用场景 当现场出现以下问题时,可依照本文档进行处理: Oracle异常关闭、重启、Hang住等故障。 PM相关程序出现性能急剧下降的情况。 PM相关程序出现Hang住等故障。 分析流程 信息收集及初步诊断 本节介绍以下知识点: 出现问题时,需要收集什么样的信息? 这些信息的作用是什么? 如何进行收集? 如何对这些信息进行分析,从而得到初步诊断结论? 初步诊断结论是指引起问题的原因,但不是根因。例如,初步诊断结论是内存问题、IO问题、等待事件的问题、执行计划的问题、统计信息的问题。 PM运行情况(黄) 反映PM运行情况的数据主要包括运行日志以及存储运行数据的表(例如COUNTERLOADMESSAGE、SUM_SUMMARYTASKQUEUE表等)。从以上内容中,可以分析出PM在运行过程中是否有错误发生,以及是否存在性能问题。以下内容均以C03版本为准,C02和V4.5可能有变化,需结合实际情况作相应调整。 如何收集: 运行日志:加载环境变量后,使用cd $PM4H_LOG进入日志目录 运行数据表: Table Name Schema Name Description COUNTERLOADMESSAGE pm4h_db 反映入库程序的运行状态 PILOADMESSAGE pm4h_db 反映PIMapping程序的运行状态 SUM_SUMMARYTASKQUEUE pm4h_ad 反映汇总程序的运行状态 SUM_BHTASKQUEUE pm4h_ad 反映忙时程序的运行状态 如何分析: 运行日志: 可以使用cat logfilename | grep ERROR的方式,搜索指定日志中是否存在错误信息。logfilename可以是具体的日志文件名,也可以是使用了通配符的表达式。例如搜索所有的汇总日志中是否存在错误,可使用如下命令: cat Summarize* | grep ERROR 如果某个日志文件中存在ERROR信息,可以使用vi命令编辑该文件,依次输入/ERROR和回车,搜索ERROR信息,查看详细的错误信息。(/是vi编辑器中的搜索命令) 对于性能分析,可以分为两种情况,一种是程序出现Hang住的情况,表现为日志长时间无内容输出;另一种是程序没有Hang住,但在单位周期内无法处理完一周期的性能数据。 出现Hang住的情况时,可以使用两种方式找到Hang住的任务。一种是通过日志分析出当前正在执行的任务。以汇总执行日志为例,可以分析Hang住时那一轮的日志中,哪些任务只有start日志,没有end日志,这些任务就是Hang住的任务;另一种是在DB服务器上使用top命令查看当前正在运行的Oracle进程,找到进程运行时间长的进程,并找到进程对应的SQL,进而分析出Hang住的任务。 出现整体性能下降时,可以通过其它方面的信息来查找问题。 运行数据表: 运行数据表的数据主要用于分析核心模块的运行效率以及工作量的变化。 分析COUNTERLOADMESSAGE表中每天产生的MSG数量,可以得出入库程序的工作量和性能情况。PILOADMESSAGE和COUNTERLOADMESSAGE类似。 分析SUM_SUMMARYTASKQUEUE表中每小时执行完成的TASK数量,可以得出汇总执行程序的工作量和性能情况。SUM_BHTASKQUEUE和SUM_SUMMARYTASKQUEUE类似。 操作系统资源情况(孙) CPU 信息收集 登录系统后,使用top、vmstat、iostat、mpstat等命令,都可以查看到操作系统的CPU使用情况。相关的解释如下。 top命令(CPU部分) load average CPU负载。1分钟、5分钟、15分钟前到现在的平均值 % us 用户进程占用CPU百分比 % sy 内核空间占用CPU百分比 % ni 用户进程空间内改变过优先级的进程占用CPU百分比 % id 空闲CPU百分比 % wa 等待输入输出的CPU时间百分比 % hi 硬件中断CPU时间百分比 % si 软件中断CPU时间百分比 % st 虚拟CPU等待实际CPU的时间的百分比(Steal Time) 表1-1 TOP命令中的CPU信息 vmstat命令(CPU部分) us CPU 用户进程使用CPU时间百分比 sy CPU 系统进程使用CPU时间百分比 id CPU 闲置时间百分比 wa CPU 等待输入输出的CPU时间百分比 st CPU虚拟CPU等待实际CPU的时间的百分比(Steal Time) 表1-2 vmstat命令中的CPU信息 iostat命令(CPU部分) %user 用户进程占用CPU百分比 %ni

文档评论(0)

1亿VIP精品文档

相关文档