开发者社区> 技术小胖子> 正文

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

简介:
+关注继续查看
操作系统平台: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




     本文转自xiaoyuwang 51CTO博客,原文链接:http://blog.51cto.com/wangxiaoyu/197630,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Unix下启动停止Oracle服务命令
Unix下启动停止Oracle服务命令http://www.bieryun.com/3427.html 启动Oracle操作命令: 1、以root用户登录系统后,执行su - oracle    如已经是oracle用户则省略。
1294 0
Unix下启动停止Oracle服务命令
Unix下启动停止Oracle服务命令 启动Oracle操作命令: 1、以root用户登录系统后,执行su - oracle    如已经是oracle用户则省略。 2、sqlplus /nolog 3、conn /as sysdba 4、startup 5、exit 推出sqlplus。
1130 0
与oracle紧密相关的unix/linux内核参数
        下面是几个与oracle紧密相关的unix/linux内核参数,在安装数据库的时候,一般都需要根据实际情况进行调整。 Init.ora Parameter Kernel Parameter ...
800 0
Linux/UNIX环境下Oracle数据库多实例开机启动脚本(转)
操作系统平台:RHEL 5Shell环境:BashOracle:10g2 功能描述:开机时自动切换到oracle用户下,启动oracle的多个实例。并记录数据库的启动情况到自定义的日志文件中。 #!/bin/bash LOG_PATH=$HOME/oracle_initing.
794 0
relink:在Linux/UNIX平台上relink Oracle软件(转)
当操作系统升级后、操作系统打完补丁后、安装完Oracle补丁之后和relink过程中出现问题时,都会用到relink方法来保证Oracle软件的正常使用。本文介绍一下relink方法的使用。   1.以oracle用户登录操作系统[root@secdb ~]# su - oracleora11g@secdb /home/oracle$ 2.
921 0
Linux/Unix shell 自动导入Oracle数据库
      使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等。
1125 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
EasyDBforOracle— 基于阿里云的Oracle最佳实践
立即下载
Oracle云上最佳实践
立即下载
迁移 ORACLE 最佳实践
立即下载