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

来源: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}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值