centos 6.5 oracle开机自启动的环境配置详解
环境:centos 6.5 + Oracle 11g
自启动之前问题
虚拟机里的oracle环境,每次重启完系统,用plsql developer连接,先是报错:
无TNS监听程序
解决方法是切换到系统的oracle用户,执行lsnrctl start,但是执行之前,因为ORACLE_HOME环境变量没有生效,还要是环境变量文件生效,步骤如下:
[oracle@localhost ~]$ source .bash_profile [oracle@localhost ~]$ echo $ORACLE_HOME/home/oracle/app/oracle/product/11.2.0/dbhome_1[oracle@localhost ~]$ lsnrctl start
启动完成后,再次连接,又报错:
oracle没有启动。启动步骤如下:
[oracle@localhost ~]$ sqlplus /nologSQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 19 14:29:10 2016Copyright (c) 1982, 2009, Oracle. All rights reserved.SQL> conn / as sysdbaConnected to an idle instance.SQL> startupORACLE instance started.Total System Global Area 776646656 bytesFixed Size 2217384 bytesVariable Size 490736216 bytesDatabase Buffers 281018368 bytesRedo Buffers 2674688 bytesDatabase mounted.Database opened.
配置自启动
下面把上述过程都配置成开机启动。
环境变量生效
可能是因为我的oracle用户不是桌面登录的,是从终端su切换过来的,.bash_profile文件没有运行。我把文件里的内容写入.bashrc文件后,重启就可以了。
TNS监听以及oracle服务自启动
编辑: /etc/oratab文件,把最后一行的N改成Y
# This file is used by ORACLE utilities. It is created by root.sh# and updated by the Database Configuration Assistant when creating# a database.# A colon, ':', is used as the field terminator. A new line terminates# the entry. Lines beginning with a pound sign, '#', are comments.## Entries are of the form:# $ORACLE_SID:$ORACLE_HOME:<N|Y>:## The first and second fields are the system identifier and home# directory of the database respectively. The third filed indicates# to the dbstart utility that the database should , "Y", or should not,# "N", be brought up at system boot time.## Multiple entries with the same $ORACLE_SID are not allowed.##orcl:/home/oracle/app/product/11.2.0/dbhome_1:Y
路径可能不同
编辑 /etc/rc.local 文件,增加 最后两行:
#!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.touch /var/lock/subsys/localservice smb restartsu - oracle -c 'lsnrctl start'su - oracle -c 'dbstart'su - oracle -c 'emctl start dbconsole'
dbstart是数据库自带的启动脚本,我们只要加到rc.local中让它开机调用就可以了。但是还需要编辑一下它。修改dbstart的ORACLE_HOME_LISTNER,使其指向$ORACLE_HOME:
# First argument is used to bring up OracleNet ListenerORACLE_HOME_LISTNER=$ORACLE_HOME
重启虚拟机,发现plsql developer可以直接连接上了。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
新闻热点
疑难解答
图片精选