手机
当前位置:查字典教程网 >脚本专栏 >linuxshell >Shell实现的Oracle启动脚本分享
Shell实现的Oracle启动脚本分享
摘要:Usage:shoracled[start|stop|restart]SIDs其中SIDs是数据库名,多个名称之间用逗号分隔。缺省的操作是r...

Usage: sh oracled [start|stop|restart] SIDs 其中SIDs是数据库名,多个名称之间用逗号分隔。缺省的操作是 restart ,也可以指定需要进行的操作( start | stop | restart )

复制代码 代码如下:

#!/bin/sh

cmdname="restart"

# get oracle sid information from env by default.

oracleSID=${ORACLE_SID}

env_oracleSID=${ORACLE_SID}

function echohelp(){

echo "******oracled Tool Helper******"

echo "Usage:sh oracled [start|stop|restart] SIDs"

echo "SIDs : seperated by comma"

exit 5

}

function startoracle(){

echo "begin to start oracle ..."

lsnrctl start

for curSID in `echo ${oracleSID} | awk 'BEGIN {RS=","}{ORS="n"}{print $1}'` ; do

if [ "x${curSID}" = "x" ] ; then

continue;

fi

export ORACLE_SID=${curSID}

sqlplus /nolog <<EOF

connect /as sysdba

startup

exit

exit

EOF

echo "oracle DB [${curSID}] started OK."

done

}

function stoporacle(){

echo "begin to stop oracle ..."

for curSID in `echo ${oracleSID} | awk 'BEGIN {RS=","}{ORS="n"}{print $1}'` ; do

if [ "x${curSID}" = "x" ] ; then

continue;

fi

export ORACLE_SID=${curSID}

sqlplus /nolog <<EOF

connect /as sysdba

shutdown immediate

exit

exit

EOF

echo "oracle DB [${curSID}] stopped OK."

done

lsnrctl stop

}

function restartoracle(){

stoporacle

startoracle

}

if [ $# -lt 1 ] ; then

echohelp

fi

until [ $# -eq 0 ]

do

tmpVOrg=$1

tmpV=`echo "${tmpVOrg}" | awk '{printf "%s",$1}' | tr '[A-Z]' '[a-z]'`

if [ $tmpV = "start" -o $tmpV = "restart" -o $tmpV = "stop" ] ; then

cmdname=${tmpV}

elif [ $tmpV = "--help" -o $tmpV = "-h" ] ; then

echohelp

else

oracleSID=$tmpVOrg

fi

shift

done

if [ "x${cmdname}" = "x" ] ; then

echohelp

fi

${cmdname}oracle

export ORACLE_SID=${env_oracleSID}

【Shell实现的Oracle启动脚本分享】相关文章:

Shell实现的iptables管理脚本分享

Shell+Linux命令实现日志分析

Shell脚本实现的memcached进程监控

杀掉oracle在线用户脚本分享

shell实现字符编码转换工具分享

Shell脚本实现监控iptables运行状态

vtune自动安装脚本分享

centos中mysql备份数据库脚本分享

Shell实现的一些数学运算自定义函数分享

linux自动清理日志脚本分享

精品推荐
分类导航