华域联盟 linux shell Shell实现的Oracle启动脚本分享

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} 

您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » Shell实现的Oracle启动脚本分享

转载请保留出处和原文链接:https://www.cnhackhy.com/16668.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部