Nagios监控ORACLE ALERT日志脚本

会点Nagios的知道怎么用吧

#把nagios加入oinstall组

#usermod -a -G oinstall nagios

#! /bin/sh

dbversion=11

bdump=/u01/app/oracle/oradata/PROD/dump/diag/rdbms/prod/PROD/trace/alert_PROD.log

STATE_OK=0

STATE_WARNING=1

STATE_CRITICAL=2

STATE_UNKNOWN=3

if [ $dbversion = 11 ]

then ins_log_pwd=$bdump

else

ins_log_pwd=$ORACLE_BASE/admin/$SERVICE_NAME/bdump/alert_$ORACLE_SID.log

fi

if [ `tail -50 $ins_log_pwd | grep ‘ORA-‘ |grep -v -i -E ‘1013|1031|1144|1652|1722|8103|12012|3297|1410|2050|3113|3136|1555|1461|00600|1580|27054|6512‘ | wc -l` -gt 0 ];then

dmsgtmp=`tail -50 $ins_log_pwd | grep ‘ORA-‘ |grep -v -i -E ‘1013|1031|1144|1652|1722|8103|12012|3297|1410|2050|3113|3136|1555|1461|00600|1580|27054|6512‘`

echo "CRITICAL - $dmsgtmp"

echo "Oracle log result:" >> /home/nagios/alert.log

echo "   instance alert check result: $dmsgtmp " >> /home/nagios/alert.log

echo `date +%Y-%m-%d-%H:%M:%S` >> /home/nagios/alert.log

exit $STATE_CRITICAL

fi

if [ `tail -50 $ins_log_pwd | grep ‘ORA-‘ |grep -v -i -E ‘1013|1031|1144|1652|1722|8103|12012|3297|1410|2050|3113|3136|1555|1461|00600|1580|27054|6512‘ | wc -l` -eq 0 ];then

echo "No error"

exit $STATE_OK

fi

错误对照:

ORA-1013:用户请求取消当前的操作

ORA-1031:权限不足

ORA-1144:文件大小 ( 块) 超出  块的最大数

ORA-1652:无法通过(在表空间中)扩展 temp 段

ORA-1722:无效数字

ORA-8103:object no longer exists”

// *Cause: The object has been deleted by another user since the operation

// began, or a prior incomplete recovery restored the database to

// a point in time during the deletion of the object.

// *Action: Delete the object if this is the result of an incomplete

// recovery.

ORA-12012:error on auto execute of job 计划任务执行失败了

ORA-3297:file contains used data beyond requested RESIZE value

Cause:     Some portion of the file in the region to be trimmed is currently in use by a database object

Action:     Drop or move segments containing extents in this region prior to resizing the file, or choose a resize value such that only free space is in the trimmed.

ORA-1410:无效的 ROWID

ORA-2050:事务处理已重算,某些远程 DBs 可能有问题

ORA-3113:

ORA-3136:inbound connection timed out

ORA-1555:快照过旧: 回退段号  在名称为 "" 过小snapshot too old

ORA-1461:仅可以为插入 LONG 列的 LONG 值赋值

ORA-00600:死锁

ORA-1580:创建控制备份文件时出错

ORA-27054:NFS file system where the file is created or resides is not mounted with correct options

ORA-6512:类似于这样ORA-06512: at "SYS.DBMS_ISCHED", line 3761

ORA-06512: at "SYS.DBMS_ISCHED", line 772

ORA-06512: at "SYS.DBMS_SCHEDULER", line 1236

ORA-06512: at line 2

时间: 2025-01-17 13:14:10

Nagios监控ORACLE ALERT日志脚本的相关文章

SHELL脚本监控oracle alert日志

监控alert 日志 思路:按alert日志行号取当前最后一行和上一次扫描的行对比 大于等于上一次扫描的行 就从上一次扫描的行开始 扫描到最后一行 #!/bin/bash scriptHome=`dirname $0` scriptName=`basename $0` logDir=$scriptHome/logs #logfile=$logDir/$scriptName_$(date "+%Y%m%d").log logfile=$logDir/ora-error.log runfi

Linux/Unix shell 监控Oracle告警日志(monitor alter log file)

使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linux 下使用 shell 脚本来监控 Oracle 告警日志(monitor alter log file). Linux Shell的相关参考:        Linux/Unix shell 脚本中调用SQL,RMAN脚本        Linux/Unix shell sql 之间传递变量   

nagios监控oracle

本人最近在弄nagios,想用nagios监控oracle,看了网上的很多教程,步骤都是如下.1.由于 nagios 脚本需要读取 oracle 相关文件.所以运行 nagios 的用户需要定义为 oracle 服务用户.并且修改 /etc/xinted.d/nrpe 中的配置. service nrpe{         flags           = REUSE         socket_type     = stream         port            = 5666

Nagios监控Oracle表空间出现Cannot determine ORACLE_HOME报错

在使用Nagios监控软件时,监控Oracle表空间使用率,遇到了如下错误: 表名监控状态是:UNKNOWN错误信息是:Cannot determine ORACLE_HOME for sid dbnms 由于我是使用root用户启动的nagios,也是用root执行的check_oracle插件的命令.所以首先分析的是环境变量的问题,然后我修改了root目录下的.bash_profile文件中的环境变量,如下: 但是还是出现了上面的错误. 然后我就直接more了下check_oracle插件的

nagios监控端自动化安装脚本

背景:公司需求,部署nagios监控系统,多台服务器部署时,会有重复工作,干脆写成脚本,自动化安装,希望能帮到大家. 脚本内容: #!/bin/bash #Filename:nagios.sh setenforce 0  #需要关闭selinux, yum install -y http php php-mysql mysql mysql-devel mysql-server   #安装http.php和mysql,如果已安装,也无妨 cd /tmp   #我的软件包安装在了tmp目录下,这个可

Oracle Alert日志出现Incremental checkpoint up to RBA [0x5d02.5e5b.0], current log tail at RBA [0x5d02.7b8b.0]

可能新巡检某台Oracle数据库服务器alert日志会忽然发现有如下输出: Wed Nov 21 05:46:04 2018 Incremental checkpoint up to RBA [0x5d02.5e5b.0], current log tail at RBA [0x5d02.7b8b.0] Wed Nov 21 06:06:05 2018 Incremental checkpoint up to RBA [0x5d02.dfe7.0], current log tail at RB

一键搭建nagios监控系统之二 脚本解释篇

#! /bin/bash   ##  QQ:1401354763 ##################  nagios server configure ######################## installserver() {   #定义安装nagios函数 read -p " Please input the alarm  email address : " email   #报警邮箱 read -p " Please input the login nagio

哪些情况会记录Oracle Alert日志

每个数据库都有一个alert_<sid>.log文件,默认存储路径为$ORACLE_BASE/diag/rdbms/<db_name>/<SID>/trace中. 数据库预警文件是按时间顺序列出消息的日志文件,例如: 启动时使用的任何非默认初始化参数 已发生的所有内部错误(ORA-600).块损坏错误(ORA-1578).死锁错误(ORA-60) 管理操作,如SQL语句CREATE.ALTER.DROP DATABASE 和TABLESPACE,以及Enterprise

Linux/Unix shell 监控Oracle实例(monitor instance)

使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linux 下使用 shell 脚本来监控 Oracle 实例. Linux Shell的相关参考:        Linux/Unix shell 脚本中调用SQL,RMAN脚本        Linux/Unix shell sql 之间传递变量        Linux/Unix shell 调用 P