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 开机自启动更加规范和可靠,它可以更好地与系统的启动过程集成,并且方便管理和监控服务的状态。

相关文章
|
1月前
|
Oracle Cloud Native 关系型数据库
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
68 10
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
|
1月前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
110 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
400 6
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
89 3
|
1月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
80 2
|
21天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
50 14
Linux 10 个“who”命令示例
|
10天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
86 20
|
10天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
35 7
|
1月前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
34 9