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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 16、表空間 建立表空間
- 磁碟空間不足
- 如何檢查Mac磁碟空間,mac磁碟空間其他怎麼清理Mac
- win10 如何修改磁碟空間 win10修改磁碟空間方法Win10
- Oracle 擴充磁碟空間Oracle
- 檢視佔用磁碟空間的程式
- 當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- 臨時表空間和回滾表空間使用率查詢
- UNDO表空間空間回收及切換
- Linux 磁碟掛載和swap空間管理Linux
- Oracle表空間Oracle
- oracle 表空間Oracle
- PostgreSQL 表空間SQL
- PostgreSQL:表空間SQL
- 表空間利用率及表空間的補充
- ubuntu 擴充套件磁碟空間Ubuntu套件
- docker磁碟空間清理辦法Docker
- [20230201]磁碟空間爆滿.txt
- 檢視磁碟使用空間和檔案大小
- windows10磁碟空間不足怎麼清理_win10磁碟空間清理的方法WindowsWin10
- MySQL 磁碟空間滿導致表空間相關資料檔案損壞故障處理MySql
- undo表空間容量
- 增加oracle表空間Oracle
- Configure innodb 表空間
- 表空間限額
- 3.2. 表空間
- 只讀表空間
- oracle temp 表空間Oracle
- KingbaseES的表空間
- Ora-01536:超出了表空間users的空間限量
- linux檢視剩餘磁碟空間Linux
- ORACLE ASM磁碟組空間溢位OracleASM
- [20201104]磁碟空間消耗在哪裡.txt
- 沒有磁碟空間 No space left on devicedev
- WSL 回收未使用的磁碟空間
- lsof |grep deleted 釋放磁碟空間delete
- 伺服器磁碟空間滿了伺服器
- [20211029]udump磁碟空間暴漲.txt