Shell实现的Oracle启动脚本分享
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}
相关推荐
lklong 2020-11-22
oraclemch 2020-11-06
shilukun 2020-10-10
周嘉笙 2020-11-09
zhuzhufxz 2020-09-16
bfcady 2020-08-16
Hody 2020-08-16
FightFourEggs 2020-08-16
数据库设计 2020-08-16
yanghuatong 2020-08-16
dbasunny 2020-08-16
罗罗 2020-08-16
ihuaqiang 2020-08-16
choice0 2020-07-30
娜娜 2020-07-28
solarspot 2020-07-28
踩风火轮的乌龟 2020-07-26
娜娜 2020-07-20
xwb 2020-07-19
娜娜 2020-07-18
流云追风 2020-07-04
dataminer 2020-06-25
娜娜 2020-06-22
zhangchaoming 2020-06-21