oracle开机启动

四、Oracle启动&停止脚本




1. 在 /etc/init.d/ 下创建文件oracle,内容如下:


复制代码 代码如下:


lsnr_port=33033 -->监听端口
dbuser=oracle  -->数据库启动用户
SID_NAME=YNGYA -->数据库实例名
====================================================
#!/bin/bash
 
lsnr_port=33033
dbuser=oracle
SID_NAME=YNGYA
 
function start() {
 
    su - $dbuser -c "export ORACLE_SID=$SID_NAME;sqlplus /nolog << EOF 
connect / as sysdba
startup
quit
EOF"
 
    #The tnslsnr must be running on both two nodes.
    chk_lsnr=`netstat -anp 2>/dev/null | grep tnslsnr | grep $lsnr_port | wc -l` 
    if [ $chk_lsnr -eq 0 ];then
        echo "---------------------------------------------------------------------------------"
        echo "No listener found,starting listener..."
        echo "---------------------------------------------------------------------------------"
        su - $dbuser -c "lsnrctl start"
    else
        echo "---------------------------------------------------------------------------------"
        echo "The listener is already running,no need to startup..."
        echo "---------------------------------------------------------------------------------"
    fi
}
 
function stop() {
    #Only the proccesses of a database need to stop
    su - $dbuser -c "lsnrctl stop"
    su - $dbuser -c  "export ORACLE_SID=$SID_NAME;sqlplus /nolog << EOF 
connect / as sysdba
shutdown immediate
quit
EOF"
 
}
 
function status() {
    chk_lsnr=`netstat -anp 2>/dev/null | grep tnslsnr | grep $lsnr_port | wc -l`
 
    if [ $chk_lsnr -eq 0 ];then
        echo "Oracle listener is NOT running!"
        exit 1
    else
        echo "Oracle listener is running OK!"
    fi
 
    chk_sid=`ps axw | \
grep $SID_NAME | \
grep -E "\
ora_pmon|\
ora_lgwr|\
ora_dbw[0-9]*|\
ora_ckpt|\
ora_smon|\
ora_reco|\
ora_qmn[0-9]*" |\
grep -v grep | wc -l`
 
    if [ $chk_sid -lt 7 ];then
        echo "Oracle SID : $SID_NAME is checked by ERROR!"
        exit 1
    else
        echo "Oracle SID : $SID_NAME is running OK!"
        return 0
    fi
}
 
case "$1" in
    "start")
        echo "Startting Oracle Database : $SID_NAME ..."
        start
        ;;
 
    "stop")
        echo "Stopping Oracle Database : $SID_NAME ..."
        stop
        ;;
 
    "status")
        status
        ;;
    *)
        echo "Usage : `basename $0` {start | stop | status}"
        exit 0
        ;;
esac






2. 改变文件权限
# chmod 755 /etc/init.d/oracle


3. 添加服务
# chkconfig --level 35 oracle on


4. 需要在关机或重启机器之前停止数据库,做一下操作
# ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   //关机
# ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle   //重启 


5. 使用方法
# service oracle start        //启动oracle
# service oracle stop        //关闭oracle
# service oracle status     //查看oracle状态


6. 测试
===================
FTP开机启动
chkconfig vsftpd on

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30592920/viewspace-2143896/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30592920/viewspace-2143896/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值