服务器 发布日期:2024/11/2 浏览次数:1
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 /nolog SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 19 14:29:10 2016 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL> conn / as sysdba Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 776646656 bytes Fixed Size 2217384 bytes Variable Size 490736216 bytes Database Buffers 281018368 bytes Redo Buffers 2674688 bytes Database 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/local service smb restart su - 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 Listener ORACLE_HOME_LISTNER=$ORACLE_HOME
重启虚拟机,发现plsql developer可以直接连接上了。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!