当前位置 博文首页 > Shell实现的Oracle启动脚本分享

    Shell实现的Oracle启动脚本分享

    作者:admin 时间:2021-06-30 18:34

    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} 

    js
    下一篇:没有了