- 论坛徽章:
- 0
|
非常感谢各位的帮助,现在问题已经解决了,我将代码贴出来一起分享。还请高手帮看一下还存在什么错误。谢谢~~~~~
- #####################################################################
- ## ck_tbsp.sh ##
- #####################################################################
- #!/bin/ksh
- v_LoginInfo=oracle/oracle@db1
- v_AlertFilePath=/templv/chusb/tablespace.alert
- #Run sqlplus
- sqlplus -s ${v_LoginInfo} > /dev/null << END
- set feed off
- set termout off
- set feedback off
- set linesize 100
- set pagesize 200
- spool $v_AlertFilePath
- SELECT F.TABLESPACE_NAME,
- TO_CHAR ((T.TOTAL_SPACE - F.FREE_SPACE),'999,999') "USED(MB)",
- TO_CHAR (F.FREE_SPACE, '999,999') "FREE(MB)",
- TO_CHAR (T.TOTAL_SPACE, '999,999') "TOTAL(MB)",
- TO_CHAR ((ROUND ((F.FREE_SPACE/T.TOTAL_SPACE)*100)),'999')||' %' FREE
- FROM (
- SELECT TABLESPACE_NAME,
- ROUND (SUM (BLOCKS*(SELECT VALUE/1024
- FROM V\$PARAMETER
- WHERE NAME = 'db_block_size')/1024)
- ) FREE_SPACE
- FROM DBA_FREE_SPACE
- GROUP BY TABLESPACE_NAME
- ) F,
- (
- SELECT TABLESPACE_NAME,
- ROUND (SUM (BYTES/1048576)) TOTAL_SPACE
- FROM DBA_DATA_FILES
- GROUP BY TABLESPACE_NAME
- ) T
- WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME
- AND (ROUND ((F.FREE_SPACE/T.TOTAL_SPACE)*100)) < 90;
- spool off
- exit
- !
- END
- if [ `cat tablespace.alert|wc -l` -gt 0 ]
- then
- cat tablespace.alert -l tablespace.alert > tablespace.tmp
- mailx -s "TABLESPACE ALERT for ${2}" $DBALIST < tablespace.tmp
- fi
复制代码 |
|