事情经过:
公司某业务系统每月25日0点会自动生成下个月的表,表名字是tabname_202407的格式。由于7月25日0点做系统保养的时候重启了应用系统服务,导致8月份的表没有生成。最终操作业务影响,为此决定对这个表进行监控,如果25日没有生成则发出告警。
sql语句如下:
select case
when yearmonth = TO_CHAR(ADD_MONTHS(SYSDATE, 1), 'YYYYMM') then '下个月的表已生成-'||'TABNAME'||yearmonth
else '下个月的表未生成-WARNING'
end as comparison_result
from
(select substr(object_name,-6) yearmonth from (
select object_name from dba_objects where object_name like 'TABNAME%'
order by 1 desc
) where rownum=1) ym
配合zabbix或者EMCC完成监控告警。
效果如下: