暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

RHEL75 shell 获取ORACLE数据库状态

原创 --聽心-- 2020-05-11
1224

环境:RHEL7.5+ORACLE 19
SHELL 如下:

==================================================================
#! /usr/bin/ksh
#+++++++++++++++++++++++++++++++++++++++++++++

Get ORACLE_SID DB Satus of

Param 1 : ORACLE_SID

#+++++++++++++++++++++++++++++++++++++++++++++
if [ $# -ne 1 ]
then
echo “Syntax : get_db_status <oracle_sid>”
exit 8
fi

sql_script=/tmp/get_db_status.$$.sql
sql_script_out=$sql_script.out

echo “connect / as sysdba” > $sql_script
echo " " >> $sql_script
echo " " >> $sql_script
echo “set head off” >> $sql_script
echo “set pagesize 0” >> $sql_script
echo “set linesize 1000” >> $sql_script
echo “select 'STATUS ’ || open_mode from v$database;” >> $sql_script
echo “exit” >> $sql_script

su - oracle -c "sqlplus -s /NOLOG @sqlscript">sql_script" >sql_script_out 2>/dev/null 0</dev/null

if [ -f sqlscriptout]thenstatus=sql_script_out ] then status=( grep ‘STATUS’ $sql_script_out| awk ‘{printf("%s %s\n",$2,$3)}’ )

case $status in
“READ WRITE”) stat=“OPEN” ;;
“MOUNTED” | “READ ONLY”) stat=“MOUNT” ;;
*) stat=“NOTAVAILABLE” ;;
esac
else
stat=“NOTAVAILABLE”
fi
rm -f $sql_script_out $sql_script
typeset -u $stat
echo “DATASE $1 IS :” ${stat}

测试结果:
./getdbstatu.sh D4C
DATASE D4C IS : NOTAVAILABLE

./getdbstatu.sh D4C
DATASE D4C IS : OPEN

./getdbstatu.sh D4C
DATASE D4C IS : MOUNT

最后修改时间:2020-05-11 23:57:43
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论