Home >Database >Mysql Tutorial >Oracle 入门之service脚本管理启动,关闭,重启

Oracle 入门之service脚本管理启动,关闭,重启

WBOY
WBOYOriginal
2016-06-07 16:58:02980browse

每次启动关闭Oracle,都要敲一大串的命令,特别在学习或者测试环境,敲多了难免感觉烦,因而就写了个servcie脚本,利用redhat的s

每次启动关闭Oracle,都要敲一大串的命令,特别在学习或者测试环境,敲多了难免感觉烦,因而就写了个servcie脚本,利用RedHat的service命令简单的启动,,关闭,重启Oracle数据库,同时开启或者关闭em和lsnrctl,下面附上shell脚本和测试结果

[root@jsb-ylw-5024 ~]# cat /etc/init.d/oracle
#!/bin/sh
#chkconfig: 35 85 15
#description:oracle
#function: start .. stop and restart the oracle instance on 11g R2 64bit
#author:lw.yang
#version: V.1.0

ORACLE_PID=`ps -ef |grep ora |grep -E 'smon|pmon|ckpt' |wc -l`
export ORACLE_BASE=/u01
export ORACLE_HOME=/u01/oracle
export ORACLE_SID=yang
export PATH=$ORACLE_HOME:/bin:$PATH

# Source function library.
. /etc/rc.d/init.d/functions

start() {
su - oracleemctl start dbconsole
lsnrctl start
sqlplus /nologconn /as sysdba
startup
exit
EOD
exit
EOF
}

stop() {
su - oracleemctl stop dbconsole
lsnrctl stop
sqlplus /nologconn /as sysdba
shutdown immediate
exit
EOD
exit
EOF
}

case "$1" in
           start)
              start
            touch /var/lock/subsys/oracle
            ;;

        stop)
            stop
            ;;

        status)
          if [ "$ORACLE_PID" = "3" ];then
            echo "Oracle instance is running..."
            else echo "Oracle instance is not running..."
          fi
          ;;

        restart)
            stop
            start
            ;;


        *)
            echo $"Usage: $0 {start|stop|restart|status}"
            exit 1

esac


[root@jsb-ylw-5024 ~]# chmod +x /etc/init.d/oracle
[root@jsb-ylw-5024 ~]# chkconfig --add oracle
[root@jsb-ylw-5024 ~]# service oracle status
Oracle instance is not running...

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn