• Linux下oracle开机自启动服务


    如果每次重启操作系统都要进行以上操作好麻烦,那么如何让Oracle作为系统服务在开机的时候自动启动呢?

    Oracle在$ORACLE_HOME/bin下提供许多对数据库进行操作的脚本,其中dbstart和dbshut可分别用来启动和关闭数据库。注意,这两个脚本已包含监听器的启动或关闭,但并未对EM进行相关的操作。使用如下命令:

    /opt/oracle/11g/bin/dbstart /opt/oracle/11g #启动数据库实例(包含监听器)
    /opt/oracle/11g/bin/dbshut /opt/oracle/11g #关闭数据库实例(包括监听器)

    以上命令要成功启动数据库实例还得打开Oracle设置的一个关卡:vi /etc/oratab,修改行:

    orcl:/opt/oracle/11g:Y #默认为orcl:/opt/oracle/11g:N

    以root身份建立开机启动oracle服务的脚本:vi /etc/init.d/oracle,添加如下脚本:

    #!/bin/sh
    #chkconfig: 2345 20 80
    #description: Oracle dbstart / dbshut
    #以上两行为chkconfig所需
    ORA_HOME=/opt/oracle/11g
    ORA_OWNER=oracle
    LOGFILE=/var/log/oracle.log
    echo "#################################" >> ${LOGFILE}
    date +"### %T %a %D: Run Oracle" >> ${LOGFILE}
    if [ ! -f ${ORA_HOME}/bin/dbstart ] || [ ! -f ${ORA_HOME}/bin/dbshut ]; then
        echo "Error: Missing the script file ${ORA_HOME}/bin/dbstart or ${ORA_HOME}/bin/dbshut!" >> ${LOGFILE}
        echo "#################################" >> ${LOGFILE}
        exit
    fi
    start(){
        echo "###Startup Database..."
        su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbstart ${ORA_HOME}"
        echo "###Done."
        echo "###Run database control..."
        su - ${ORA_OWNER} -c "${ORA_HOME}/bin/emctl start dbconsole"
        echo "###Done."
    }
    stop(){
        echo "###Stop database control..."
        su - ${ORA_OWNER} -c "${ORA_HOME}/bin/emctl stop dbconsole"
        echo "###Done."
        echo "###Shutdown Database..."
        su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbshut ${ORA_HOME}"
        echo "###Done."
    }
    case "$1" in
        'start')
            start >> ${LOGFILE}
        ;;
        'stop')
            stop >> ${LOGFILE}
        ;;
        'restart')
            stop >> ${LOGFILE}
            start >> ${LOGFILE}
        ;;
    esac
    date +"### %T %a %D: Finished." >> ${LOGFILE}
    echo "#################################" >> ${LOGFILE}
    echo ""

    使用如下命令将 /etc/init.d/oracle 置为可执行文件:

    chmod a+x /etc/init.d/oracle

    至此,可使用如下命令对oracle进行启动和关闭

    /etc/init.d/oracle start #启动oracle(包括数据库实例、监听器、EM)
    /etc/init.d/oracle stop #关闭oracle
    /etc/init.d/oracle restart #重启oracle

    将 oracle 添加到 chkconfig中:

    chkconfig --add oracle

    可使用如下命令查看和设置oracle服务的开机启动级别:

    chkconfig | grep oracle #查看oracle服务的开机启动级别
    chkconfig --level 24 oracle off #修改oracle服务的开机启动级别
    chkconfig --level 35 oracle on

    至此可使用如下命令对oracle的启动或关闭进行管理

    service oracle start #启动
    service oracle stop #关闭
    service oracle restart #重启

     建立连接:

    ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   #关机执行
    ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle   #重启执行
  • 相关阅读:
    linux 查询文件在多个目录里面,只保留一个
    mysql 定时备份
    mysql 赋予权限报错Column count of mysql.user is wrong. Expected 45, found 43. The table is probably corrupted
    Mysql 启动报错Error: page 5 log sequence number 2580579963
    docker 限制日志文件大小和数量
    docker 安装
    MVC3学习第十五章 武林外传大结局
    MVC3学习第十四章 佟掌柜第三弹——MVC3下利用陕北吴旗娃的验证码控件实现验证码功能以及在mvc3下使用编辑器
    MVC3学习第十三章 佟掌柜第二弹——MVC3下利用陕北吴旗娃的分页控件实现数据分页
    MVC3学习第十二章 佟掌柜第一弹----利用MVC3实现用户的注册登录和了解MVC中的分部视图、用户控件
  • 原文地址:https://www.cnblogs.com/xing901022/p/3480983.html
Copyright © 2020-2023  润新知