oracle脚本

本文分享了一个用于检查Oracle数据库表空间使用情况的bash脚本。该脚本通过sqlplus连接到数据库,查询每个表空间的已用空间、剩余空间及总空间,并将低于80%自由空间的表空间信息发送邮件通知给管理员。
摘要由CSDN通过智能技术生成
  1. #!/bin/bash  
  2. ORACLE_SID=orcl; export ORACLE_SID  
  3. ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE  
  4. ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1; export ORACLE_HOME  
  5. $ORACLE_HOME/bin:/usr/ccs/bin:/bin:/usr/bin:/usr/sbin:/sbin:/usr/openwin/bin:/opt/bin:.;  
  6. export PATH  
  7. DBALIST="masicong1019@hotmail.com";export DBALIST  
  8. sqlplus -s '/ as sysdba' <<EOF  
  9. set feed off  
  10. set linesize 100  
  11. set pagesize 200  
  12. column "USED (MB)" format a10  
  13. column "FREE (MB)" format a10  
  14. column "TOTAL (MB)" format a10  
  15. column PER_FREE format a10  
  16. spool tablespace.alert  
  17. SELECT F.TABLESPACE_NAME,  
  18. TO_CHAR ((T.TOTAL_SPACE - F.FREE_SPACE),'999,999') "USED (MB)",  
  19. TO_CHAR (F.FREE_SPACE, '999,999') "FREE (MB)",  
  20. TO_CHAR (T.TOTAL_SPACE, '999,999') "TOTAL (MB)",  
  21. TO_CHAR ((ROUND ((F.FREE_SPACE/T.TOTAL_SPACE)*100)),'999')||' %' PER_FREE  
  22. FROM (  
  23. SELECT TABLESPACE_NAME,  
  24. ROUND (SUM (BLOCKS*(SELECT VALUE/1024  
  25. FROM V$PARAMETER  
  26. WHERE NAME = 'db_block_size')/1024)  
  27. ) FREE_SPACE  
  28. FROM DBA_FREE_SPACE  
  29. GROUP BY TABLESPACE_NAME  
  30. ) F,  
  31. (  
  32. SELECT TABLESPACE_NAME,  
  33. ROUND (SUM (BYTES/1048576)) TOTAL_SPACE  
  34. FROM DBA_DATA_FILES  
  35. GROUP BY TABLESPACE_NAME  
  36. ) T  
  37. WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME  
  38. AND (ROUND ((F.FREE_SPACE/T.TOTAL_SPACE)*100)) < 80;  
  39. spool off  
  40. exit  
  41. EOF  
  42. if [cat tablespace.alert|wc -l -gt 0]  
  43. then  
  44. cat tablespace.alert > tablespace.tmp  
  45. mailx -s "TABLESPACE  ALERT  for  PPRD10" $DBALIST < tablespace.tmp  
  46. fi  

本文出自 “无双城” 博客,请务必保留此出处http://929044991.blog.51cto.com/1758347/1176173

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值