您的位置:首页 > 数据库 > Oracle

linux下启动oracle数据库实例的脚本

2008-05-12 13:57 465 查看
来源:http://jaryer.blog.sohu.com/41567121.html
#!/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}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: