加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle 环境配置开机自启动

发布时间:2020-12-12 15:50:39 所属栏目:百科 来源:网络整理
导读:环境:centos 6.5 + oracle 11g 自启动之前问题 虚拟机里的oracle环境,每次重启完系统,用plsql developer连接,先是报错: 无TNS监听程序 解决方法是切换到系统的oracle用户,执行lsnrctl start,但是执行之前,因为ORACLE_HOME环境变量没有生效,还要是环境

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读