zabbix监控数据库表空间大小

1.通过脚本生成日志文件

2.添加自定义脚本

oracle_discovery.sh

通过该脚本取出表空间名,并进行JSON格式化输出(因为zabbix的自动发现功能获取的数据类型是JSON格式的)


#!/bin/bash

TABLESPACE=`cat /home/patrol/tablespace.log |awk ‘{print$2}‘|awk ‘NR>3{print}‘`

COUNT=`echo "$TABLESPACE" |wc -l`

INDEX=0

echo ‘{"data":[‘

echo "$TABLESPACE" | while read LINE; do

echo -n ‘{"{#TABLENAME}":"‘$LINE‘"}‘

INDEX=`expr $INDEX + 1`

if [ $INDEX -lt $COUNT ]; then

echo ‘,‘

fi

done

oracle_check.sh

通过该脚本获取表空间大小,已使用表空间大小及表空间使用率


#!/bin/bash

EQ_DATA="$2"

ZBX_REQ_DATA_TAB="$1"

SOURCE_DATA=/home/patrol/tablespace.log

case $2 in

maxmb)        grep -E "$ZBX_REQ_DATA_TAB" $SOURCE_DATA |awk ‘{print $5*1024*1024}‘;;

used)   grep -E "$ZBX_REQ_DATA_TAB" $SOURCE_DATA |awk ‘{print $6*1024*1024}‘;;

autopercent)  grep -E "$ZBX_REQ_DATA_TAB" $SOURCE_DATA |awk ‘{print $7}‘;;

*) echo $ERROR_WRONG_PARAM; exit 1;;

esac

exit 0

3.脚本赋权

4.添加自定义监控项


[[email protected] zabbix_agentd.d16:59:23]# more oracle.conf

UserParameter=ora.tab.discovery,/etc/zabbix/scripts/oracle_discovery.sh

UserParameter=tablespace[*],/etc/zabbix/scripts/oracle_check.sh $1 $2

5.重启agent

/etc/init.d/zabbix-agent restart

6.添加发现规则

7.添加监控项

8.配置后显示如下数据

时间: 2024-09-29 09:46:40

zabbix监控数据库表空间大小的相关文章

如何查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件

要查看Oracle数据库表空间大小,是否需要增加表空间的数据文件,在数据库管理中,磁盘空间不足是DBA都会遇到的问题,问题比较常见. --1.查看表空间已经使用的百分比 Sql代码 select   a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024   "used MB",b.bytes/1024/1024 "free MB",round(((a.by

oracle 查询数据库表空间大小和剩余空间

dba_data_files:数据库数据文件信息表.可以统计表空间大小(总空间大小). dba_free_space:可以统计剩余表空间大小. 增加表空间即向表空间增加数据文件,表空间大小就是数据文件总大小. 检查Oracle各个表空间的增长情况(各表空间使用率) select A.tablespace_name,(1-(A.total)/B.total)*100 used_percent from (select tablespace_name,sum(bytes) total from db

监控数据库表空间增长量

--创建基表EDBA_TABLESPACE_USAGE_METRICS create table EDBA_TABLESPACE_USAGE_METRICS as SELECT TABLESPACE_NAME , ROUND(TABLESPACE_SIZE * 8 / 1024, 2) AS total_m, ROUND(USED_SPACE * 8 / 1024 , 2) AS used_m, ROUND(TABLESPACE_SIZE * 8 / 1024, 2) - ROUND(USED_

nagios监控oralce数据库的表空间大小

一.安装nrpe 本处使用直接解压的方式来安装的nrpe 二.配置nrpe服务 1.修改libexec文件夹中的check_oracle 在其中添加如下项 ORACLE_HOME=/oradata/Oracle/product/11.2.0 PATH=$PATH:/oradata/Oracle/product/11.2.0/bin 2.在nrpe.conf中添加如下项 command[check_oracle_tablespace]=/usr/local/nagios/libexec/check

oracle数据库-表空间基础语法及举例

数据库的存储结构 数据库主要用于存储和检索相关的信息,Oracle数据库包含逻辑结构和物理结构. 物理结构是指现实存储单元,由一组文件组成如数据文件.日志文件.控制文件. 数据文件:用于存储数据的文件.如表,索引和数据等都存储在数据文件中. 日志文件:用于记录对数据库的修改信息. 控制文件:用于存储 Oracle实例信息.数据文件信息和日志文件信息的二进制文件.由于存储了数据文件和日志文件的信息,所以 Oracle启动时必须访问呢控制文件. 逻辑结构式是指数据概念性的组织.包括  表空间.表.行

如何测试数据库表空间不足场景

1.select * from DBA_DATA_FILES; 这个命令主要是了解数据库实例中各个模块数据库表空间的大小,是否支持自动扩展(AUTOEXTENSIBLE),MAX扩展(MAXBYTES),以及各个表空间的路径(\oracle\oradata\i2kdb\omscm.dbf) 查看AUTOEXTENSIBLE字段是否支持自动扩展,如果对应表空间的该字段为YES,表示支持自动扩展 2.alter database datafile '\oracle\oradata\i2kdb\oms

如何收缩表空间大小

转摘: oracle数据库表空间文件收缩实例 1.查看数据文件的使用情况 包括内容:数据文件大小,已经used空间,free空间,hwm信息 1 select /*+ ordered use_hash(a,b,c) */ 2 a.file_id,a.file_name,a.filesize, b.freesize, 3 (a.filesize-b.freesize) usedsize, 4 c.hwmsize, 5 c.hwmsize - (a.filesize-b.freesize) unse

Oracle 查看表空间大小及其扩展

在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构.从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成.系统中默认创建的几个表空间:SYSTEM,SYSAUX,USERS,UNDOTBS1,EXAMPLE,TEMP还有用户自己建立的表空间,可以对其进行分成三类 永久表空间                存放永久性数据,如表,索引等. 临时表空间                不能存放永久性对象,用于保存数据库排序,分组时产生的临时

oracle--查看表空间大小以及修改表空间大小

  一.修改表空间大小 解决以上问题的办法:通过增大表空间即可解决,如下: Sql代码   使用dba用户登陆 sqlplus  / as  sysdba; 执行如下命令: SQL > ALTER TABLESPACE SYSTEM ADD DATAFILE '/u01/app/oracle/oradata/test/system02.dbf' SIZE 20480M AUTOEXTEND OFF; 注意:其中'/u01/app/oracle/oradata/test/system02.dbf'