Linux平台Oracle开机自启动设置

简介: 【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。

在 Linux 平台设置 Oracle 开机自启动主要有以下几种方法,以下以 CentOS 为例进行介绍:


一、使用 rc.local 文件(较简单但不太推荐用于生产环境)


  1. 编写启动脚本
  • 首先,创建一个用于启动 Oracle 服务的脚本文件,例如/etc/init.d/oracle_start.sh。在脚本中添加以下内容:


#!/bin/bash
# 设置Oracle环境变量
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
# 启动监听器
lsnrctl start
# 启动数据库实例
sqlplus / as sysdba <<EOF
startup;
EOF


  • 注意:需要将ORACLE_HOMEORACLE_SID替换为你实际的 Oracle 安装目录和实例名。


  1. 赋予脚本执行权限
  • 运行以下命令赋予脚本执行权限:


chmod +x /etc/init.d/oracle_start.sh


  1. 在 rc.local 中添加启动项
  • 编辑/etc/rc.local文件,在exit 0之前添加以下内容:


/etc/init.d/oracle_start.sh


  • 这种方法的缺点是rc.local文件在系统启动过程中较晚执行,并且可能会受到其他因素的干扰。如果rc.local文件本身出现问题,可能会导致系统启动问题。


二、使用 systemd 服务(推荐)


  1. 创建 systemd 服务单元文件
  • 创建一个名为oracle.service的文件,例如放在/usr/lib/systemd/system/目录下。文件内容如下:


[Unit]
Description=Oracle Database Service
After=network.target
[Service]
User=oracle
Group=oinstall
EnvironmentFile=-/etc/sysconfig/oracle
ExecStart=/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut $ORACLE_HOME
Restart=always
[Install]
WantedBy=multi - user.target


  • 同样需要将ORACLE_HOME和相关用户、组信息替换为实际的内容。EnvironmentFile=-/etc/sysconfig/oracle这一行表示从/etc/sysconfig/oracle文件中读取环境变量,如果文件不存在也不会报错。


  1. 创建环境变量文件(可选)
  • 如果在服务单元文件中指定了EnvironmentFile,可以创建/etc/sysconfig/oracle文件,内容如下:


export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin


  • 根据实际情况修改环境变量的值。


  1. 重新加载 systemd 配置并设置开机自启动
  • 运行以下命令来重新加载 systemd 配置:


systemctl daemon - reload


  • 然后设置 Oracle 服务开机自启动:


systemctl enable oracle.service


  • 可以使用systemctl start oracle.service来手动启动服务,systemctl status oracle.service来查看服务状态。


通过 systemd 服务的方式设置 Oracle 开机自启动更加规范和可靠,它可以更好地与系统的启动过程集成,并且方便管理和监控服务的状态。

相关文章
|
12天前
|
Oracle 关系型数据库 Linux
linux8安装oracle 11g遇到的问题记录
Oracle 11g在Linux 8上安装时会遇到link编译环节的问题。官方建议忽略安装中的链接错误,安装完成后应用DBPSU 11.2.0.4.240716补丁及一次性补丁33991024,再重新编译二进制文件,并配置监听器和数据库。但因11g已退出服务期,这些补丁需付费获取。网上信息显示22年1月的PSU补丁也可解决问题,找到该补丁后按常规方式打补丁即可。如有需求或疑问可咨询我。
54 20
|
2月前
|
Oracle Cloud Native 关系型数据库
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
87 10
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
|
2月前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
3月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
251 64
|
1月前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
118 11
|
2月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
2月前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
1月前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
2月前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
61 7
|
2月前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
41 6