温馨提示×

debian lsnrctl怎么设开机启动

小樊
36
2026-10-21 04:18:27
栏目: 智能运维

在 Debian 上,lsnrctl 是 Oracle Database Listener 的控制工具,它本身不是 systemd 服务,所以“开机启动”一般有两种做法:


方法一(推荐):写成 systemd 服务

1. 创建 systemd 服务文件

sudo vi /etc/systemd/system/oracle-listener.service

内容示例(按实际路径修改):

[Unit]
Description=Oracle Net Listener
After=network.target

[Service]
Type=forking
User=oracle
Group=oinstall
Environment="ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1"
Environment="ORACLE_BASE=/u01/app/oracle"
ExecStart=/u01/app/oracle/product/19.3.0/dbhome_1/bin/lsnrctl start
ExecStop=/u01/app/oracle/product/19.3.0/dbhome_1/bin/lsnrctl stop
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

2. 重载并启用

sudo systemctl daemon-reload
sudo systemctl enable oracle-listener
sudo systemctl start oracle-listener

✅ 开机自动启动 listener


方法二:rc.local(老办法,不推荐)

sudo vi /etc/rc.local

添加:

su - oracle -c "/u01/app/oracle/product/19.3.0/dbhome_1/bin/lsnrctl start"

确保:

chmod +x /etc/rc.local

⚠️ Debian 新版本默认没有 rc.local


方法三:Oracle 自带 dbstart(不常用)

如果你也启动数据库:

vi /etc/oratab

把:

orcl:/u01/app/oracle/product/19.3.0/dbhome_1:N

改成:

orcl:/u01/app/oracle/product/19.3.0/dbhome_1:Y

然后:

$ORACLE_HOME/bin/dbstart $ORACLE_HOME

✅ 推荐总结

方式 推荐度
systemd 服务 ⭐⭐⭐⭐⭐
rc.local ⭐⭐
dbstart ⭐⭐⭐

如果你告诉我 Oracle 版本 + Debian 版本,我可以给你一份完全可用的 service 文件。

0 踩