Shell磁碟空間和表空間告警程式
把下面內容新增到資料夾裡面
/etc/mail.rc
set from=1423646477@139.com
set smtp=smtp.139.com
set smtp-auth=login
set smtp-auth-user=253645765878@139.com
set smtp-auth-password=2015
set ssl-verify=ignore
這下面指令碼
#!/bin/bash
#More than 80% the alarm
#Contents are saved to disk/home/oracle/disk.log
#Please don't delete log cover
#make script mxq
#find /home/oracle -mtime +5 -name "*sql.xls" -exec rm -f {} \;
disk_free=$(df -P | grep /dev | awk '{print $5}' | cut -f 1 -d "%")
#disk_mail=$(df -h)
df -h > /home/oracle/disk.log
for l in $disk_free
do
if [ $l -gt 90 ]; then
echo "The remaining space is less than 80% the alarm"|mail -s 'Disk monitoring' 25463131131@qq.com < /home/oracle/disk.log
break 1
fi
done
oracle_use=$(su - oracle -c "sqlplus -silent / as sysdba" << m| awk '{print $1}' | cut -f 1 -d "%"
set pagesize 0 feedback off verify off heading off echo off numwidth 4
select to_char(round((t.full_space-nvl(f.free_space,0))/t.full_space*100))||'%' "使用率" from (select tablespace_name,round(sum(bytes)/(1024*1024),2) free_space from dba_free_space group by tablespace_name) f ,(select tablespace_name,round(sum(bytes)/(1024*1024),2) full_space from dba_data_files group by tablespace_name) t where f.tablespace_name=t.tablespace_name(+);
exit
m
)
su - oracle -c "sqlplus -silent / as sysdba" << m > /home/oracle/tablespace.log
set feedback off
select t.tablespace_name "tablespace_name",t.full_space "total M",(t.full_space-nvl(f.free_space,0)) "USE M",f.free_space "FREE M",to_char(round((t.full_space-nvl(f.free_space,0))/t.full_space*100,1),'fm999990.99999')||'%' "rate" from (select tablespace_name,round(sum(bytes)/(1024*1024),2) free_space from dba_free_space group by tablespace_name) f,(select tablespace_name,round(sum(bytes)/(1024*1024),2) full_space from dba_data_files group by tablespace_name) t where f.tablespace_name=t.tablespace_name(+);
exit
m
for oracle_all in $oracle_use
do
if [ $oracle_all -gt 80 ]; then
echo "The remaining space is less than 80% the alarm"|mail -s 'Disk monitoring' 285313132221@qq.com < /home/oracle/tablespace.log
break 1
fi
done
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29065182/viewspace-1705169/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- undo表空間佔用磁碟空間滿案例處理
- Oracle查詢表佔磁碟空間大小及移動表空間Oracle
- MySQL InnoDB 共享表空間和獨立表空間MySql
- MySQL InnoDB 共享表空間和獨立表空間MySql
- 給Oracle BIGFILE表空間增加磁碟(通用的LINUX增加磁碟空間方案)OracleLinux
- 刪除表空間和表空間包含的檔案
- 查詢表空間已使用空間和空閒空間的簡單檢視
- 分析表空間空閒率並收縮表空間
- 如何檢查Mac磁碟空間,mac磁碟空間其他怎麼清理Mac
- Oracle修改預設表空間和預設臨時表空間Oracle
- win10 如何修改磁碟空間 win10修改磁碟空間方法Win10
- OS 刪除temp表空間 而磁碟空間未釋放的解決方案
- 臨時表空間和回滾表空間使用率查詢
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- 管理表空間(表空間的屬性)轉貼
- 表空間管理之bigfile表空間設定
- 遷移SYSTEM表空間為本地管理表空間
- Oracle 擴充磁碟空間Oracle
- ASM磁碟組空間不足ASM
- aix 檢視磁碟空間AI
- db2檢視錶空間和增加表空間容量DB2
- 檢視佔用磁碟空間的程式
- Oracle表空間Oracle
- PostgreSQL:表空間SQL
- Mysql表空間MySql
- 表空間sqlSQL
- oracle 表空間Oracle
- PostgreSQL 表空間SQL
- 表空間查詢和管理
- Oracle——01表空間和區Oracle
- 跨平臺表空間遷移(傳輸表空間)
- Oracle的邏輯結構(表空間、段、區間、塊)——表空間Oracle
- 恢復表空間到不同的ASM磁碟組ASM
- docker磁碟空間清理辦法Docker
- 檢測磁碟空間問題
- 有效管理 ASM 磁碟組空間ASM
- ASM磁碟空間的檢視ASM
- ubuntu 擴充套件磁碟空間Ubuntu套件