-bash-3.2$ more monitor_pd_user.sh
source /oracle/.bash_profile ##配置shell脚本的环境变量
output=`sqlplus '/as sysdba'< spool /oracle/check_pd_user.txt
select count(*) from dba_users where username='PD';##如果是v$session,在shell中要填写为v\\$session,想特殊字符转义处理吧
spool off;
exit
EOF`
echo "$output">>/oracle/check_pd_total.log ##把以上output参数的值写入某个log文件
value=`cat /oracle/check_pd_total.log|sed -n '14,2p'` ##用sed提取log文件的第14行(就是上面select的结果),提供给参数value
if [ "$value" -eq "0" ];then ##采用if else if判断value参数的值是否为0,注意写法,必须是 "$value",要用双引号括起来,而不是单引号,参数前要加上$
echo "now 192.168.0.8 database have not pd user"
else
echo "now 192.168.0.8 database have pd user"
fi
>/oracle/check_pd_total.log ##处理完后,清除log文件
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-669847/
,如需转载,请注明出处,否则将追究法律责任。