修改 /etc/oratab 文件
/etc/oratab 文件用于定义Oracle实例的启动信息。你需要将文件中的实例条目从 N 改为 Y,表示允许自动启动。
打开 /etc/oratab 文件:
sudo vi /etc/oratab
找到你的Oracle实例条目,通常格式如下:
将最后的 N 改为 Y:
保存并退出。
使用 systemd 配置
创建 systemd 服务文件
sudo vi /etc/systemd/system/oracle.service
添加以下内容(根据实际路径修改)
[Unit]
Description=Oracle Database Service
After=network.target
[Service]
Type=forking
User=oracle
Group=oinstall
Environment="ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1"
Environment="ORACLE_SID=你的实例名"
ExecStart=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbshut $ORACLE_HOME
TimeoutSec=0
[Install]
WantedBy=multi-user.target
保存后设置权限
sudo chmod 644 /etc/systemd/system/oracle.service
启用并启动服务
sudo systemctl daemon-reload # 重新加载服务配置
sudo systemd-analyze verify /etc/systemd/system/oracle.service
运行sudo systemd-analyze verify /etc/systemd/system/oracle.service命令确保不出现 “Assignment outside of section” 的提示信息。
要是验证通过,使用以下命令重新加载 systemd 管理器配置:
sudo systemctl daemon-reload
启动 oracle.service 服务:
sudo systemctl start oracle.service
sudo systemctl enable oracle # 设置开机自启
验证状态
sudo systemctl status oracle # 检查服务状态
ps -ef | grep pmon # 查看Oracle进程
重启系统并验证
重启系统:
sudo reboot
系统重启后,检查Oracle数据库是否已自动启动:
ps -ef | grep pmon
通过以上操作应该就能实现Linux平台Oracle开机自启动的设置,博主也正在学习,该文档博主自己能实现开机自启。