虚拟化容器,大数据,DBA,中间件,监控。

RedFlag 6SP3 oracle 关机执行脚本解决方法

04 11月
作者:admin|分类:DBA运维
参考了oracle 文档中的脚本内容。
发现在Redflag linux 6sp3里面,
只能开机有用,
关机就不能正常执行脚本。

后来发现问题所在,要在关机时执行关机脚本,
必需有oracle对应文件生成在/var/lock/subsys文件夹下面才行。
然后就按其中的sshd脚本样式,
照葫芦画瓢,修改了oracle脚本。
以下是脚本内容。

#!/bin/bash
#
# Init file for Oracle11g Server
#
# chkconfig: 345 99 01
# description: Oracle11g Server

ORACLE_HOME=/data/app/oracle/product/11.2.0/db_1
ORACLE_OWNER=oracle

if
[ ! -f $ORACLE_HOME/bin/dbstart ]
then
     echo "Oracle startup: cannot start"
  exit
fi
RETVAL=0

start()
{
      echo "Starting Oracle Database..."
      su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart"  
      echo "Done."     
      echo "Starting Oracle Listeners ..."       
      su
- $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"
      echo "Done."      
      echo "Starting Oracle EM Agent..."
      su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/agtctl start"

      echo "Done."     

      echo "Starting Oracle EM ..."
       su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"
       echo "Done." 

        RETVAL=$?

        [ "$RETVAL" = 0 ] && touch /var/lock/subsys/oracle
}

stop()
{
    
        echo "Stoping Oracle EM"
        su - oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
        echo "Done."      
        echo "Stoping Oracle EM Agent..."
        su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/agtctl stop"
        echo "Done."

        echo "Stoping Oracle Listeners ..."       
        su
- $ORACLE_OWNER -c "$
ORACLE_HOME/bin/lsnrctl stop"      
        echo "Done"
        echo "Stoping Oracle Database..."
        su - $ORACLE_OWNE -c "$ORACLE_HOME/bin/dbshut"
        echo "Done"
        RETVAL=$?
        [ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/oracle
}

case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        *)
                echo $"Usage: $0 {start|stop}"
                RETVAL=1
esac
exit $RETVAL
浏览2652 评论0
返回
目录
返回
首页
Linux Oracle服务启动&停止脚本 Oracle em 实例的代理连接 无法启动