#####################################################################
## Script Name: SAC_14FEB2019_TABLESPACE_ALERTS.sh ##
## Author: Sachin ##
## Purpose: Check table space usages (Oracle and Unix) ##
## DATE: 14 FEB 2019 ##
## Version: V01 ##
#####################################################################
#!/bin/ksh
sqlplus -s <<!
sacDB/$password@$DBNAME
set feed off
set linesize 150
set pagesize 250
spool tablespace.alert
SELECT TEMP_TAB1.TABLESPACE_NAME,
TO_CHAR ((TEMP_TAB2.TOTAL_SPACE - TEMP_TAB1.FREE_SPACE),'999,999') "USED (MB)",
TO_CHAR (TEMP_TAB1.FREE_SPACE, '999,999') "FREE (MB)",
TO_CHAR (TEMP_TAB2.TOTAL_SPACE, '999,999') "TOTAL (MB)",
TO_CHAR ((ROUND ((TEMP_TAB1.FREE_SPACE/TEMP_TAB2.TOTAL_SPACE)*100)),'999')||' %' PER_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
) TEMP_TAB1,
(
SELECT TABLESPACE_NAME,
ROUND (SUM (BYTES/1048576)) TOTAL_SPACE
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME
) TEMP_TAB2
WHERE TEMP_TAB1.TABLESPACE_NAME = TEMP_TAB2.TABLESPACE_NAME
AND (ROUND ((TEMP_TAB1.FREE_SPACE/TEMP_TAB2.TOTAL_SPACE)*100)) < 10;
spool off
exit
!
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
No comments:
Post a Comment