• Redhat5.5 下Oracle11.2g 自动随系统启动


    安装完毕 Oracle 11.2g 每次都得手动启动 | 停止数据库(dbstart | dbshut)、监听器(lsnrctl)、控制台(emtcl)。  

     首先修改/etc/oratab文件
    #vi /etc/oratab
    找到orcl=/u01/app/oracle:N这一行
    改为:
    orcl=/u01/app/oracle:Y
    也就是将最后的N改为Y,意思是将不允许自动启动改为允许自动启动。

    设置一下,若手动启动数据库的同时监听器没有启动(即启动数据库时自动启动监听器,停止数据库时停止监听器),则需要修改 dbstart  脚本文件

    [root@oracle bin]# vi dbstart

    找到此段话,在最前端

    # First argument is used to bring up Oracle Net Listener
    ORACLE_HOME_LISTNER=$1       
    //需要将此处的 ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME
    if [ ! $ORACLE_HOME_LISTNER ] ; then
      echo "ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener"
      echo "Usage: $0 ORACLE_HOME"
    else
      LOG=$ORACLE_HOME_LISTNER/listener.log

    同样,也需要修改 dbshut

    [root@oracle bin]# vi dbshut

    # The  this to bring down Oracle Net Listener
    ORACLE_HOME_LISTNER=$1
    //需要将此处的 ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME
    if [ ! $ORACLE_HOME_LISTNER ] ; then
      echo "ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener"
      echo "Usage: $0 ORACLE_HOME"
    else
      LOG=$ORACLE_HOME_LISTNER/listener.log

    在启动了Linux系统之后,转到  /etc/init.d  目录下;

    [root@oracle ~]# cd /etc/init.d

           使用 vi 命令,新建一个以 oracle 命名的文件(并将以下代码复制至文件中)

    [root@oracle init.d]# vi oracle

    #!/bin/sh
    # chkconfig: 345 61 61
    # description: Oracle 11g AutoRun Services
    # /etc/init.d/oracle
    #
    # Run-level Startup script for the Oracle Instance, Listener, and
    # Web Interface

    export ORACLE_BASE=/u01/app
    export ORACLE_HOME=$ORACLE_BASE/oracle
    export ORACLE_SID=orcl
    export PATH=$PATH:$ORACLE_HOME/bin

    ORA_OWNR="oracle"

    # if the executables do not exist -- display error

    if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
    then
         echo "Oracle startup: cannot start"
         exit 1
    fi

    # depending on parameter -- startup, shutdown, restart
    # of the instance and listener or usage display

    case "$1" in
     start)
         # Oracle listener and instance startup
         su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart
         echo "Oracle Start Succesful!OK."
         ;;
     stop)
         # Oracle listener and instance shutdown
         su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut
         echo "Oracle Stop Succesful!OK."
         ;;
     reload|restart)
         $0 stop
         $0 start
         ;;
     *)
         echo $"Usage: `basename $0` {start|stop|reload|reload}"
         exit 1
    esac
    exit 0

           在编辑完成之后,使用 :x  命令保存此文件。 

    赋予执行权限

    [root@oracle init.d]# chmod 750 /etc/init.d/oracle

    链接:

    [root@oracle init.d]# ln -s /etc/init.d/oracle /etc/rc1.d/K61oracle

    [root@oracle init.d]# ln -s /etc/init.d/oracle /etc/rc3.d/S61oracle

    执行以下命令:

    [root@oracle init.d]# chkconfig --level 345 oracle on

    [root@oracle init.d]# chkconfig --add oracle         //添加到服务里

  • 相关阅读:
    expect详解及自动登录脚本的实现
    NFS服务端+客户端配置
    交互式shell脚本对话框----whiptail指令
    自定制Centos7.3系统镜像(ISO)
    云原生简述
    Linux下修改MTU(最大传输单元)
    MySQL-5.7组提交(Group Commit)原理
    AWS putty终端ssh密钥登陆方法
    一个简单的从web页面获取数据插入数据库的小程序
    新建一个简单的Java web前后台交互小程序时报错:java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SqlServerDriver
  • 原文地址:https://www.cnblogs.com/ewyb/p/1933870.html
Copyright © 2020-2023  润新知