oracle启服务,oracle启动服务

目的:

1) 实现 一键式启停 oracle 服务   如:   /etc/init.d/oracle   {start|stop|restart|status}

使用说明:

Linux下建立Oracle服务一键式启停操作步骤 1. 上传oracle脚本至/etc/init.d/oracle目录下,或拷贝代码至 vi /etc/init.d/oracle  需要赋值权限 chmod  750 /etc/init.d/oracle 2. 增加配置服务/sbin/chkconfig  --add  oracle 3. 修改 vi    /etc/oratab  文件 $ORACLE_SID:$ORACLE_HOME:Y          #--是否自启动示例xxxdb:/oracle/oradb/home:Y

使用命令补齐上面的变量 su - oracle -c 'echo $ORACLE_SID' ;su - oracle -c 'echo $ORACLE_HOME' 4. 测试验证      /etc/init.d/oracle 返回信息参考:Usage:  /etc/init.d/oracle  {start|stop|restart| status }

对应oracle代码参考:

#!/bin/bash

# Destription: Oracle Database Service

# Example : /etc/init.d/oracle { start | stop | restart | status }

# Auther : xxxxxxxxxx

# Date : 2015-1-15

# Shell functions sourced from /etc/rc.status:

. /etc/rc.status

# Reset status of this service

rc_reset

ORACLE_USER=oracle

ORA_HOME=$(su - oracle -c 'echo $ORACLE_HOME')

case "$1" in

start)

su - oracle -c '$ORACLE_HOME/bin/lsnrctl status' > /dev/null 2>&1; su - oracle -c '$ORACLE_HOME/bin/lsnrctl status listener_ora' > /dev/null 2>&1

if [ $? == 0 ]; then

echo -e "\\033[1;32m Oracle service has already been start \\033[1;37m"

else

su - $ORACLE_USER -c '$ORACLE_HOME/bin/dbstart $ORACLE_HOME' > /dev/null 2>&1

su - $ORACLE_USER -c "lsnrctl start" > /dev/null 2>&1; su - $ORACLE_USER -c "lsnrctl start listener_ora" > /dev/null 2>&1

$0 status > /dev/null 2>&1

echo -e "\\033[1;32m Oracle service start successfully \\033[1;37m"

fi

# Remember status and be verbose

rc_status -v

;;

stop)

su - oracle -c '$ORACLE_HOME/bin/lsnrctl status' > /dev/null 2>&1;su - oracle -c '$ORACLE_HOME/bin/lsnrctl status listener_ora' > /dev/null 2>&1

if [ $? == 0 ]; then

su - $ORACLE_USER -c '$ORACLE_HOME/bin/dbshut $ORACLE_HOME' > /dev/null 2>&1

su - $ORACLE_USER -c "lsnrctl stop" > /dev/null 2>&1; su - $ORACLE_USER -c "lsnrctl stop listener_ora" > /dev/null 2>&1

killall -9 -u $ORACLE_USER > /dev/null 2>&1

$0 status > /dev/null 2>&1

echo -e "\\033[1;32m Oracle service stop successfully \\033[1;37m"

else

echo -e "\\033[1;32m Oracle service has already been stop \\033[1;37m"

fi

# Remember status and be verbose

rc_status -v

;;

restart)

$0 stop > /dev/null 2>&1

$0 start > /dev/null 2>&1

$0 status

# Remember status and be verbose

rc_status

;;

status)

su - oracle -c '$ORACLE_HOME/bin/lsnrctl status' > /dev/null 2>&1; su - oracle -c '$ORACLE_HOME/bin/lsnrctl status listener_ora' > /dev/null 2>&1

if [ $? == 0 ]; then

echo -e "\\033[1;32m Oracle service running \\033[1;37m"

else

echo -e "\\033[1;32m Oracle service Stop \\033[1;37m"

fi

# Rmember status and be verbose

rc_status -v

;;

*)

echo "Usage: $0 { start | stop | restart | status }"

exit 1

;;

esac

rc_exit

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值