Pages

5 Eylül 2011 Pazartesi

Segment Tavsiyecisi raporlarının otomatik olarak e-mail ile gönderilmesi


Segment Tavsiyecisinin otomatik olarak öneri raporları hazırlaması ve bu çıktıları email ile otomatik olarak almak için bir shell script içine Segment Tavsiyecisi çıktısını gösterecek SQL eklenebilir. Aşağıda bununla ilgili bir shell script örneği yer almaktadır.

#!/bin/bash
if [ $# -ne 1 ]; then
echo "Usage: $0 SID"
exit 1
fi
# source oracle OS variables
. /var/opt/oracle/oraset $1
#
BOX=`uname -a | awk '{print$2}'`
#
sqlplus -s <<EOF
dba1/dbapasswd
spo $HOME/bin/log/seg.txt
set lines 80
set pages 100
SELECT
'Segment Advice --------------------------'|| chr(10) ||
'TABLESPACE_NAME : ' || tablespace_name || chr(10) ||
'SEGMENT_OWNER : ' || segment_owner || chr(10) ||
'SEGMENT_NAME : ' || segment_name || chr(10) ||
'ALLOCATED_SPACE : ' || allocated_space || chr(10) ||
'RECLAIMABLE_SPACE: ' || reclaimable_space || chr(10) ||
'RECOMMENDATIONS : ' || recommendations || chr(10) ||
'SOLUTION 1 : ' || c1 || chr(10) ||
'SOLUTION 2 : ' || c2 || chr(10) ||
'SOLUTION 3 : ' || c3 Advice
FROM
TABLE(dbms_space.asa_recommendations('FALSE', 'FALSE', 'FALSE'));
EOF
cat $HOME/bin/log/seg.txt | mailx -s "Seg. rpt. on DB: $1 $BOX" uinal@hotmail.com
exit 0

Yukardaki shell script, aşağıdaki gibi “cron” aracı ile rütin aralıklarla çalışacak şekilde zamanlanmış görev olarak atanabilir, böylece performans problemine sebebiyet vermeden proaktif sorun çözüm önlemi alınmış olacaktır.

# Segment Advisor report
16 11 * * * /orahome/oracle/bin/seg.bsh DWREP

1 yorum:

  1. Aslında Oracle dan cok OS çözümü ile entegreli bi anlayış gerçekten mantıklı bir çözüm...

    YanıtlaSil