Linux如何设置Oracle实例和监听自启动

如题所述

1.安装好Oracle数据库后: 执行 dbstart和dbshut会提示:

[oracle@oracle11g ~]$ dbstart
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME
错误原因是:dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题,分别打开两个文件找到:ORACLE_HOME_LISTNER=$1,修改为
ORACLE_HOME_LISTNER=$ORACLE_HOME,命令如下:
[oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbstart
[oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbshut

修改后保存退出,第一个问题已解决;

2.如何在Linux启动时自动启动Oracle监听和实例
首先要解决上面的问题,才能继续哟!

第一步:修改/etc/oratab文件,命令如下:
[oracle@oracle11g ~]$ vi /etc/oratab
找到:accp:/u01/oracle:N 修改为: accp:/u01/oracle:Y
第二步:把lsnrctl start和dbstart添加到rc.local文件中,命令如下:
[oracle@oracle11g ~]$ vi /etc/rc.d/rc.local
添加:
su oracle -lc "/u01/oracle/bin/lsnrctl start"
su oracle -lc /u01/oracle/bin/dbstart
注意:第一个命令有空格,所以要用引号的

重启试试吧!

转自ChinaUnix博客。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-10-01
  设置 Oracle 实例和监听服务自启动
  1. 增加启动脚本
  touch /etc/init.d/orcl
  vi orcl
  # !/bin/bash
  # whoami
  # root
  # chkconfig: 345 51 49
  # /etc/init.d/orcl
  # description: starts the oracle dabase deamons
  #
  ORA_HOME=/home/oracle/product/10.2.0/db_1/
  ORA_OWNER=oracle
  case "$1" in
  start)
  echo -n "Starting orcl: "
  su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" &
  su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
  touch /var/lock/subsys/orcl
  echo
  ;;
  stop)
  echo -n "shutting down orcl: "
  su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" &
  su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
  rm -f /var/lock/subsys/orcl
  echo
  ;;
  restart)
  echo -n "restarting orcl: "
  $0 stop
  $0 start
  echo
  ;;
  *)
  echo "Usage: `basename $0` start|stop|restart"
  exit 1
  esac
  exit 0
  保存 orcl 并退出
  2. 增加配置服务
  /sbin/chkconfig --add orcl
  3. 修改 /etc/oratab 文件
  vi /etc/oratab
  ORACLE_SID:ORACLE_HOME:Y -- 是否自启动
  4. 重启测试一下
  或者简单的配置 /etc/rc.d/rc.local 增加两条启动命令
  su - oracle -c /home/oracle/product/10.2.0/db_1/bin/dbstart
  su - oracle -c /home/oracle/product/10.2.0/db_1/bin/lsnrctl start