死siua11 发表于 2018-9-12 09:49:34

[Oracle数据库监控] Oracle数据库表空间监控脚本

#!/bin/sh  
source ~/.bash_profile
  
#定义变量
  
v_datetime=`date +"%Y-%m-%d %H:%M:%S"`
  
v_username='oracle'
  
v_hostname=`hostname`
  
v_dbname='DB01'
  
#表空间大小报警阀值,单位:M
  
v_free_space=5000
  
#表空间使用百分比报警阀值
  
v_used_rate=85
  
#发送人
  
v_sendmail='XXXXX@139.com'
  
v_mailname='XXXXX@139.com'
  
v_password='XXXXX'
  
#smtp服务器IP或域名:smtp.qq.com
  
v_smtpserver='XXX.XXX.XXX.XXX'
  
#接收人,多个联系人用空格分开
  
v_receivemail='XXXXX@139.com XXXXX@163.com'
  
#路径
  
v_path="/home/${v_username}/scripts"
  
v_logfile_temp="${v_path}/tablespace_health_report.temp"
  

  
sqlplus -S / as sysdba > ${v_path}/tablespace_health_report.log
  
echo "HOSTNAME: ${v_hostname}" >> ${v_path}/tablespace_health_report.log
  
echo "DBNAME: ${v_dbname}" >> ${v_path}/tablespace_health_report.log
  
echo "############################" >> ${v_path}/tablespace_health_report.log
  
echo "数据库${v_dbname}表空间告警:" >> ${v_path}/tablespace_health_report.log
  
cat ${v_logfile_temp} >> ${v_path}/tablespace_health_report.log
  
${v_path}/sendEmail -f ${v_sendmail} -t ${v_receivemail} -s ${v_smtpserver} -u "数据库${v_dbname}表空间报警邮件 - ${v_datetime}" -xu ${v_mailname} -xp ${v_password} -o message-content-type=text -o message- message-file=${v_path}/tablespace_health_report.log -l ${v_path}/check_tablespace_health_report.log
  
rm ${v_logfile_temp}
  
fi


页: [1]
查看完整版本: [Oracle数据库监控] Oracle数据库表空间监控脚本