linux开机自启动多实例数据库,Linux/UNIX环境下Oracle数据库多实例开机启动脚本

#!/bin/bash

# wang_xiaoyu@qq.com

# 2009-06-19 21:05:49

# 2009-06-19 22:54:24

LOG_PATH=$HOME/oracle_initing.log

log() {

if [ $# -lt 1 -a $# -gt 1 ];then

exit 5

fi

case "$@" in

success)

echo `date +%b" "%d" "%T`" "$PRO": Oracle instence \"$ORACLE_SID\" starting up succefully" >> $LOG_PATH;;

failed)

echo `date +%b" "%d" "%T`" "$PRO": Oracle instence \"$ORACLE_SID\" starting up FAILED" >> $LOG_PATH;;

*)

echo `date +%b" "%d" "%T`" "$PRO": "$@ >> $LOG_PATH;;

esac

}

lsstart() {

# stop stopping

# start starting

lsnrctl >> $LOG_PATH <

status

start

exit

EOF

}

init_oracle() {

#lsstart stop the listen

# lsstart

HOSTNAME=`hostname |awk -F. '{print $1}'`

PRO=$0

ORACLE_SIDS=`sed -rn '/^([^#].*):/!d;p' /etc/oratab |awk -F: '{printf $1" "}'`

if [ -z "$ORACLE_SIDS" ] ;then

exit 2

else

echo $ORACLE_SIDS

for ORACLE_SID in $ORACLE_SIDS

do

# echo $ORACLE_SID

#start or stop the oracle databases

# startup

# shutdown immediate

if sqlplus -S /nolog >> $LOG_PATH <

conn / as sysdba

startup

EOF

then

log success

continue

else

log failed

exit 3

fi

done

fi

}

if [ $"$UID" -eq 0 ] ;then

su - oracle

init_oracle

#lsstart start the listen

# lsstart

exit 0

elif [ "$USER" = "oracle" ] ;then

init_oracle

#lsstart start the listen

# lsstart

exit 0

else

exit 4

fi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值