修改nagios的checkoracle脚本来监控oracle的临时表空间

修改nagios的checkoracle脚本来监控oracle的临时表空间

ID:34740197

大小:126.68 KB

页数:7页

时间:2019-03-10

修改nagios的checkoracle脚本来监控oracle的临时表空间_第1页
修改nagios的checkoracle脚本来监控oracle的临时表空间_第2页
修改nagios的checkoracle脚本来监控oracle的临时表空间_第3页
修改nagios的checkoracle脚本来监控oracle的临时表空间_第4页
修改nagios的checkoracle脚本来监控oracle的临时表空间_第5页
资源描述:

《修改nagios的checkoracle脚本来监控oracle的临时表空间》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、修改Nagios的check_oracle脚本来监控Oracle的临时表空间1.前言Nagios的NagiosPlugins中有很多程序或脚本提供给我们,用于监控相应的服务、资源等等。在NagiosPlugins中有一个用于实现对Oracle数据库进行监控的脚本,叫做check_oracle,位于Nagios安装路径下的libexec目录中。check_oracle脚本可以监控Oracle数据库的cache、tns、tablespace等信息,但是通过“--tablespace”选项监控表空间时,我们发现这个脚本不能监控临时表空间。仔细查看该脚本,发现其中的确没

2、有对临时表空间进行处理,现对该脚本做修改,使之能够监控Oracle的临时表空间。本文以Oracle10g作为实验数据库。2.分析源码和问题的解决方法查看check_oracle源码的tablespace部分,发现其对于表空间信息的获取是通过sql语句完成的。sql语句如下:selectNVL(b.free,0.0),a.total,100-trunc(NVL(b.free,0.0)/a.total*1000)/10prcfrom(selecttablespace_name,sum(bytes)/1024/1024totalfromdba_data_filesgr

3、oupbytablespace_name)ALEFTOUTERJOIN(selecttablespace_name,sum(bytes)/1024/1024freefromdba_free_spacegroupbytablespace_name)BONa.tablespace_name=b.tablespace_nameWHEREa.tablespace_name='${5}';其中${5}是表空间的名字。由于临时文件的的信息不在dba_data_files表中,所以通过上述脚本显然不能获得临时表空间的任何信息。那么如何获得临时表空间的空间使用情况呢,具体sql

4、语句如下:selectNVL(b.free,0.0),a.total,100-trunc(NVL(b.free,0.0)/a.total*1000)/10prcfrom(selecttablespace_name,sum(bytes)/1024/1024totalfromdba_temp_filesgroupbytablespace_name)ALEFTOUTERJOIN(selecttablespace_name,sum(bytes_cached)/1024/1024freefromv\$temp_extent_poolgroupbytablespace_n

5、ame)BONa.tablespace_name=b.tablespace_nameWHEREa.tablespace_name='TEMP';这条sql语句可以获得临时表空间“TEMP”的空间使用情况。解决的方法找到了,下面我们只需将脚本做小小修改就可以达到要求了。1.check_oracle脚本的修改在check_oracle脚本中的“case”语句中增加一个“--tablespaceTEMP”分支,用于完成监控Oracle临时表空间的功能。修改后的脚本如下(修改、添加的部分已标出):#!/bin/ksh##latigid010@yahoo.com#01/0

6、6/2000##ThisNagiospluginwascreatedtocheckOraclestatus#PROGNAME=`basename$0`PROGPATH=`echo$0

7、sed-e's,[\/][^\/][^\/]*$,,'`REVISION=`echo'$Revision:1749$'

8、sed-e's/[^0-9.]//g'`.$PROGPATH/utils.shprint_usage(){echo"Usage:"echo"$PROGNAME--tns"echo"$PROGNAM

9、E--db"echo"$PROGNAME--login"echo"$PROGNAME--cache"echo"$PROGNAME--tablespace"echo"$PROGNAME--tablespaceTEMP

10、"echo"$PROGN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。