编写可以监控oracle监听器是否启动的shell脚本

编写可以监控oracle监听器是否启动的shell脚本

在oracle目录下创建一个监听文件:

[root@ocp ~]# cd /home/oracle
[root@ocp oracle]# touch chklistener_1.sh
[root@ocp oracle]# vi chklistener_1.sh

进入编辑界面并添加以下文本:

# !/bin/bash
./home/oracle/.bash_profile
declare -i n_lsnr
n_lsnr=ps-ef | grep listener | grep -v grep |wc -l
if[$n_lsnr=0];then
lsnrctl start> /dev/null
mail shunmin@126.com -s "listener is down, and restarted."
fi

邮箱换成自己的邮箱 用来接收提示信息,:wq保存退出

解析:

脚本第四行:使用ps及grep命令查询当前正在进行的listener进程个数,并赋值给n_lsnr变量

脚本第五行:如果监听进程个数为0则启动listener进程并屏蔽启动时的输出信息,同时发出告警邮件

以上脚本很简陋,如果重启监听时发生错误,邮件标题并不能反映出这种情况,下面的代码会更完善一些:

[root@ocp oracle]# touch chklistener_2.sh
[root@ocp oracle]# vi chklistener_2.sh

# !/bin/bash

./home/oracle/.bash_profile

tempfile=/oracle/admin/$ORACLE_SID/tempfile.lis

lsnrctl status>$tempfile

if[$?!=0]

then

echo"">>$tempfile

echo"---------------">>$tempfile

echo"">>$tempfile

date>>$tempfile

echo "listener is down,restarting it again">>$tempfile

lsnrctl start>>$tempfile

if[$?=0]

then

mail shunmin@163.com -s"listener is restarted"<$tempfile

else

mail shunmin@163.com -s"listener is down,restarting failed"<$tempfile

 fi

fi

 

rm -f $tempfile

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值