【IT168技术文档】
本文给出使用shell实现对oracle数据库的alert日志进行处理的算法和实现过程,并给出一个样例,实例表明,脚本能快速有效的分析alert日志,满足需求,最后对处理过程进行展望。
1. 背景概述
对于日常的一些重复性的操作,以及在用户现场进行问题处理的过程中,采用一些自动化的脚本,来完成一些工作,会使一些枯燥的工作变得简单、快速,同时也不容易出错。在为某些省份联通公司和财政厅实施服务的过程中,了解到用户有如下的需求:提供shell脚本,实现对oracle数据库的alert日志进行跟踪处理,比如根据时间(天为单位),来查看和处理alert日志。
在未编写脚本时,常用的处理方法是,下载alert文件,使用文本编辑工具查找,统计,定位,过滤,下载跟踪文件。一般比较费时,而且可能会有遗漏。
本文首先阐述算法,接着给出实现代码与样例,最后给出展望,脚本主要包括shell脚本以及sql脚本。
2. 算法
图1 流程图
确定需要分析多少天以来的日志情况
对时间进行处理,根据时间戳格式(本文处理的alert文件的时间格式类似于:Fri Aug 1 13:22:37 2008),获取起始行号,分析从起始行号到结束的所有内容。
过滤所有的ORA-信息,并对他们进行统计显示。
对关键的错误信息(ORA-00600,ORA-000060,ORA-1555,ORA-07445),进行单独处理。
查找并获取跟踪文件。生成ftp的格式,使用ftp命令下载跟踪文件。
使用操作系统命令,获取错误对应的含义。