网站首页 > 数据库 / 正文
一、Oracle客户端配置
1、创建脚本invalid_object_check.sh
SQL语句查询无效对象,首先创建一个获取无效对象信息的原始脚本/etc/zabbix/scripts/invalid_object_check.sh这个脚本由oracle用户去执行,脚本内容如下:
#!/bin/bash
sqlplus / as sysdba <<EOF &>/dev/null
set linesize 120
set pagesize 50000
col OBJECT_NAME for a40
spool /tmp/invalid_objects.txt
SELECT owner, object_name, object_type,status FROM dba_objects WHERE status = 'INVALID';
spool off
spool /tmp/failures_jobs.txt
select log_user from dba_jobs where failures <>0 ;
spool off
quit
EOF
执行这个脚本,并生成文件:/tmp/failures_jobs.txt
把脚本放到oracle用户的crontab计划任务表中,让脚本在后台每5分钟执行一次
2、创建脚本discovery_oracle_user.sh
通过脚本取得无效对象的名字,并转换成json格式的(因为zabbix的自动发现功能获取的数据类型是JSON格式的)。
user=(`cat /tmp/invalid_objects.txt |awk '{print $1}'| sed -e "1,4d" -e "/^$/d" -e "/[0-9].*/d" -e "/.*>.*/d"|sort|uniq`)
length=${#user[@]}
printf "{\n"
printf '\t'"\"data\":["
for ((i=0;i<$length;i++))
do
printf "\n\t\t{"
printf "\"{#USER_NAME}\":\"${user[$i]}\"}"
if [ $i -lt $[$length-1] ];then
printf ","
fi
done
printf "\n\t]\n"
printf "}\n"
为Zabbix增加监控Key
在Zabbix客户端配置文件/etc/zabbix/zabbix_agentd.conf增加如下参数:
/etc/zabbix/zabbix_agentd.d/oracle_invalid_object.conf
重新启动Zabbix客户端服务。
1. service zabbix_agentd restart
2. 或 cd /etc/init.d
3. ./zabbix-agent restart
二、Zabbix服务端配置
1、创建模板,并添加自动发现规则
2、创建监控项
监控项原型:
触发器原型:
获取到数据:
已触发无效对象的告警:
使用中如有问题可随时在下发评论处留言哦,关注我每天分享更多实用的运维知识哦[爱慕]
Tags:oracle 表 用户
- 上一篇:oracle用户权限查询
- 下一篇:Oracle中对用户登陆失败进行审计
猜你喜欢
- 2024-11-26 Flexera调研:用户正在舍弃Oracle传统软件,拥抱AWS这样的云服务
- 2024-11-26 深信服Oracle数据库资源池解决方案,承载用户的每一份重托
- 2024-11-26 如何设计一个支撑数亿用户的系统
- 2024-11-26 见招拆招:破解Oracle数据库密码
- 2024-11-26 破解ORACLE19C RAC的SYS用户密码有效期180天
- 2024-11-26 关于linux系统普通用户无法执行crontab解决思路总结
- 2024-11-26 脚本化修改Oracle用户的密码以及执行sql(增删改查等)
- 2024-11-26 oracle账户被锁定怎么解锁
- 2024-11-26 Oracle创建可读用户
- 2024-11-26 Oracle 设置RMAN备用用户