if [ -z $ORACLE_HOME ]
then
echo "Environment variable ORACLE_HOME is empty!"
exit
fi
if [ -z $ORACLE_SID ]
then
ORACLE_SID=$1
fi
if [ -z $ORACLE_SID ]
then
echo "Environment variable ORACLE_SID is empty!"
echo "orasize [ORACLE_SID] to get used memory size."
exit
fi
/usr/ccs/bin/size $ORACLE_HOME/bin/oracle | awk '{print $1":",$3":",$5}'|while IFS=: read MTEXT MDATA MBSS
do
$ORACLE_HOME/bin/sqlplus -s system/system@$ORACLE_SID << EOF
set echo off termout off heading off feedback off
select
' Sessions count: '||lpad(N, 12),
'Oracle executable text size (MB): '||lpad(round($MTEXT/1024/1024, 2), 12),
'Oracle executable data size (MB): '||lpad(round(($MDATA + $MBSS + 8192 + 2048)*N/1024/1024, 2), 12),
' SGA size is (MB): '||lpad(round(SGA/1024/1024, 2), 12),
' PGA size is (MB): '||lpad(round(PGA/1024/1024, 2), 12),
'----------------------------------------------',
'Total
memory used by Oracle (MB): '||lpad(round((SGA + $MTEXT + ($MDATA +
$MBSS + 8192 + 2048)*N + PGA) /1024/1024, 2), 12) "Mtotal"
from (select sum(value) SGA from v\$sga),
(select count(*) N, sum(value) PGA
from v\$sesstat
where statistic#=20 and sid != (select unique sid from v\$mystat));
exit
EOF
done