Linux/UNIX环境下Oracle数据库多实例开机启动脚本
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-30
操作系统平台:RHEL 5 Shell环境:Bash Oracle:10g2 功能描述:开机时自动切换到oracle用户下,启动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 <<EOF 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 <<EOF 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 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Linux/UNIX环境下Oracle数据库多实例开机启动脚本的所有评论