Send Status Database Oracle With E-mail September 20, 2008
Posted by setijoagus in Linux, Oracle Tools, oracle.Tags: Crontab, Email, Instance, Linux, oracle, sendEmail
trackback
Liburan panjang kantor – kantor tutup, tetapi karena berbagai pertimbangan menyebabkan Administrator Server / DBA tidak boleh mematikan server. Selain piket dengan datang secara fisik ke kantor, alternatif lainnya adalah mengirim status server lewat e-mail dan tentunya dapat dikembangkan dengan menggunakan sms phone.
Saya menggunakan SendEmail, karena pertimbangan
a. lightweight
b. command line SMTP email client
c. free program
d. simple to use
e. feature rich
1. download file
http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.55.tar.gz
2. Extract the package
[root@iscdd ]# tar xvzf sendEmail-v1.55.tar.gz -C /usr/local/src/
3. Copy the sendEmail script to /usr/local/bin
[root@iscdd ]# cp /usr/local/src/sendEmail-v1.55/sendEmail /usr/local/bin
4. Make sure executable
[root@iscdd ]# chmod +x /usr/local/bin/sendEmail
5. Run it
[root@iscdd ]# su – oracle
[oracle@iscdd ~]$ df -h /u01 | sendEmail -f rukr@ubslinux.com -u sisa harddisk -s 172.20.140.31:25 -t seag@ubslinux.com
Keterangan :
hasil perintah linux df -h /u01 akan dikirim
-f (from) rukr@ubslinux.com
-u (subject) sisa harddisk
-s (mail server ) 172.20.140.31:25
-t (alamat email yang dituju) seag@ubslinux.com
6. status database oracle
a. membuat script berdasarkan dari –> http://www.dbazine.com/oracle/or-articles/liu2
b. penyesuaian script ckinstance.ksh, inti dari script ini memeriksa apakah proses oracle
di linux masih jalan, yaitu dengan mengunakan perintah
[oracle@iscdd script]$ ps -ef | grep pmon
oracle 30611 1 0 May14 ? 00:02:24 ora_pmon_iscdd
oracle 26369 26206 0 08:24 pts/2 00:00:00 grep pmon
[oracle@iscdd script]$ vi ckinstance.ksh
###################################################################
## ckinstance.ksh ##
###################################################################
ORATAB=/etc/oratab
db=`egrep -i “:Y|:N” $ORATAB | cut -d”:” -f1 | grep -v “#” | grep -v “*”`
pslist=”`ps -ef | grep pmon`”
for i in $db ; do
echo “$pslist” | grep “ora_pmon_$i” > /dev/null > hasil
if (( $hasil )); then
hasil=” `date` `hostname` : Oracle Instance – $i: Down”
else
hasil=” `date` `hostname` : Oracle Instance – $i: Up”
fi
echo “$hasil” | /usr/local/bin/sendEmail -f root@ubslinux.com -u server ppc -s 172.20.140.31:25 -t seag@ubslinux.com
done
rm hasil -f
[oracle@iscdd script]$ chmod 777 ckinstance.ksh
[oracle@iscdd script]$ ./ckinstance.ksh
c. hasil email
Thu Sep 18 09:38:32 WIT 2008 iscdd : Oracle Instance – iscdd: Up
d. membuat schedulle dengan crontab, dimana script akan dijalankan setiap 20 menit
Minute 0-59
Hour 0-23
Day of month 1-31
Month 1 – 12
Day of Week 0 – 6, with 0 = Sunday
[oracle@iscdd script]$ crontab -e
0,20,40 * * * * /home/oracle/script/ckinstance.ksh
Tambah sipp aja neh pak setijo..
Nice artikel pak… nyoba deh ntar masang gitu…
Thank’s atas comment nya
pak ketika saya jalankan sendEmail keluar error sbb :
Nov 14 17:30:30 oraift sendEmail[9133]: Message input complete.
Nov 14 17:30:31 oraift sendEmail[9133]: ERROR => Connection attempt to 192.168.1.52:25 failed: IO::Socket::INET: connect: Connection refused
mohon pencerahan
yang perlu diperhatikan dari “Send Status Database Oracle With E-mai” adalah
1.> script oracle untuk periksa status, yang diwakili o/
db=`egrep -i “:Y|:N” $ORATAB | cut -d”:” -f1 | grep -v “\#” | grep -v “\*”`
pslist=”`ps -ef | grep pmon`”
for i in $db ; do
echo “$pslist” | grep “ora_pmon_$i” > /dev/null > hasil
if (( $hasil )); then
hasil=” `date` `hostname` : Oracle Instance – $i: Down”
else
hasil=” `date` `hostname` : Oracle Instance – $i: Up”
fi
2. > script untuk kirim email :
echo “$hasil” | /usr/local/bin/sendEmail -f root@ubslinux.com -u server ppc -s 172.20.140.31:25 -t seag@ubslinux.com
error Bpk, kelihatannya gagal dlm pengiriman status database-nya
a. coba diperiksa secara manual kirim email secara langsung menggunakan sendEmail ?
b. apakah sudah benar ip server mailnya ?, dalam contoh saya 172.20.140.31:25 dan saya menggunakan postfix untuk mail server saya.
c. apakah alamat email yang dituju sdh benar ?
semoga membantu