Shell实现的Oracle启动脚本分享
来源: 阅读:621 次 日期:2015-01-30 13:57:02
温馨提示: 小编为您整理了“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}

更多信息请查看IT技术专栏

更多信息请查看脚本栏目
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!

2025国考·省考课程试听报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map