首页 > 数据库 > Oracle > 正文

centos 6.5 oracle开机自启动的环境配置详解

2019-11-02 16:49:48
字体:
来源:转载
供稿:网友

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可以直接连接上了。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表