阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Red Hat Enterprise Linux 7.4下设置Oracle开机自动启动

125次阅读
没有评论

共计 2527 个字符,预计需要花费 7 分钟才能阅读完成。

在 Linux 系统中,安装好 Oracle 数据库服务后,并不像在 Windows 系统下一样,Oracle 服务在默认情况下会随系统的启动自动启动。Linux 系统中,是需要用户去手动进行设置,才能实现 Oracle 开机自动启动的。本文将一步一步教你如何进行设置。

安装好 Oracle 的 Linux 系统(以 Red Hat Enterprise Linux 7.4、Oracle 11g 为例)

方法 / 步骤

1、前提条件:你已经在 Linux 系统中正确安装好 Oracle 服务,使用手动方式可以正常启动。

查看 ORACLE_HOME 是否设置
$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/dbhome_1

使用 dbstart 命令启动数据库比较方便,但是在 linux 上安装好 oracle 之后,第一次使用 dbstart 命令可能会报如下错误:
[oracle@njdzjkdb dbhome_1]$ cd bin/
[oracle@njdzjkdb bin]$ ll | grep dbs
-rwxr-x—. 1 oracle oinstall 6088 1 月 1 2000 dbshut
-rwxr-x—. 1 oracle oinstall 13892 12 月 11 16:01 dbstart
[oracle@njdzjkdb bin]$ dbstart
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener Usage:
/u01/app/oracle/product/11.2.0/db_1/bin/dbstart ORACLE_HOME
错误提示:ORACLE_HOME_LISTNER 没有设置

原因:
dbstart 和 dbshut 脚本文件中 ORACLE_HOME_LISTNER 的设置有问题,分别打开两个文件找到:用 vi 编辑 dbstart,ORACLE_HOME_LISTNER=$1, 修改为
ORACLE_HOME_LISTNER=$ORACLE_HOME
前提是 $ORACLE_HOME 环境设置正确

[oracle@njdzjkdb bin]$ vi dbstart
–dbstart 为开机自启动脚本,让系统开机就去执行 dbstart 脚本文件,它会去读 oratab 文件,读到 Y 就会把对应的实例开机自启动
– 调整或确认监听路径,如 ORACLE_HOME_LISTNER=/u01/app/oracle/product/11.2.0/dbhome_1 或 ORACLE_HOME_LISTNER=$ORACLE_HOME 根据设置的监听调整路径

2、使用 vi 编辑器编辑文件 /etc/oratab

dbca 建库时都会自动创建 /etc/oratab 文件

#vi /etc/oratab
将“orcl:/u01/app/oracle/product/12.1.0/dbhome_1:N”,
改为“orcl:/u01/app/oracle/product/12.1.0/dbhome_1:Y”。
修改完成后,保存退出
–<N|Y> 选项代表开机是否自启动

** 说明:**orcl 为实例名;/u01/app/oracle/product/12.1.0/dbhome1 为 oracle 安装目录;会因安装的情况不同而有所不同。

Red Hat Enterprise Linux 7.4 下设置 Oracle 开机自动启动

3、编辑 /etc/rc.d/rc.local 启动文件,添加数据库启动脚本 dbstart

#vi /etc/rc.d/rc.local
末尾添加:
su oracle -lc “/u01/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctl start”
su oracle -lc /u01/app/oracle/product/12.1.0/dbhome_1/bin/dbstart

或启动指定实例
su – oracle -lc “/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start ORCL”
su – oracle -lc /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart

– 命令中 - c 代表执行脚本,脚本 dbstart 中指定启动的实例,脚本 lsnrctl 中启动配置的监听

** 说明:**/u01/app/oracle/product/12.1.0/dbhome1 为 oracle 的安装目录,要根据实际情况进行修改。

Red Hat Enterprise Linux 7.4 下设置 Oracle 开机自动启动

4、修改 DB 启动配置文件

#vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
找到 ORACLE_HOME_LISTNER 这行
# First argument is used to bring up Oracle Net Listener
ORACLE_HOME_LISTNER=$1

将 $1 修改为如下(你的路径):
ORACLE_HOME_LISTNER=/u01/app/oracle/product/11.2.0/dbhome_1

5、重启主机,查看数据库和监听是自启动

6、开机自启动多个监听及多个实例

#vim /etc/rc.d/rc.local
su – oracle -lc “/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start UTF8”
su – oracle -lc “/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start GBK”
su – oracle -lc /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
监听写多个启动,实例用一个 dbstart 命令去启动,它会去读 oratab 文件,读到 Y 就会把对应的实例开机自启动

7、小结:

linux 下设置实例自启动有关脚本:

oratab:实例是否自启动的注册信息

dbstart:开机启动脚本文件会读取 oratab 信息

rc.local:开机后立即要做的文件

–“启动监听”
lsnrctl start

–“启动数据库实例”
dbstart

–“关闭数据库实例”
dbshut

–“关闭监听”
lsnrctl stop

 

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计2527字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中