发布于2026-07-18 阅读(0)
扫一扫,手机访问
lsnrctl 是 Oracle 数据库的“门童”——监听器控制工具,负责管理数据库监听器的启动、停止和状态检查。想让这哥们儿在系统开机时自己站起来,就得把它塞进系统的启动流程里。下面按操作系统分门别类讲清楚。

[Unit]
Description=Oracle Listener Service
After=network.target
[Service]
Type=forking
ExecStart=/path/to/lsnrctl start
ExecStop=/path/to/lsnrctl stop
User=oracle
Group=oracle
Restart=on-failure
[Install]
WantedBy=multi-user.target
注意把 `/path/to/lsnrctl` 替换成你机器上 `lsnrctl` 的实际路径(比如 `/u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl`),`User` 和 `Group` 也要换成运行 Oracle 的实际用户(通常就是 `oracle`)。
**2. 重载 systemd 配置**
告诉 systemd 有新文件来了:
sudo systemctl daemon-reload
**3. 启用开机自启**
相当于给服务挂上“自动启动”标签:
sudo systemctl enable oracle-listener.service
**4. 手动启动一次试试**
没问题的话直接启动,验证功能正常:
sudo systemctl start oracle-listener.service
这样一来,以后每次重启,监听器就会自动起来了。如果中间出问题,还能靠 `Restart=on-failure` 自动恢复,省心不少。
### 在 Linux 上:传统 init.d 脚本(老系统或特殊环境)
如果你的系统还是 CentOS 6、RHEL 6 甚至更老的版本,或者你偏要用手动管理的方式,那 init.d 脚本也能搞定。
**1. 创建 init.d 脚本**
新建 `/etc/init.d/oracle-listener`,内容如下:
#!/bin/sh
### BEGIN INIT INFO
# Provides: oracle-listener
# Required-Start: $network $local_fs
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Start Oracle Listener at boot time
### END INIT INFO
ORACLE_HOME=/path/to/oracle/home
LSNRCTL=$ORACLE_HOME/bin/lsnrctl
case "$1" in
start)
su - oracle -c "$LSNRCTL start"
;;
stop)
su - oracle -c "$LSNRCTL stop"
;;
status)
su - oracle -c "$LSNRCTL status"
;;
*)
echo "Usage: /etc/init.d/oracle-listener {start|stop|status}"
exit 1
;;
esac
exit 0
把 `/path/to/oracle/home` 替换成你的 Oracle 主目录路径。
**2. 给脚本执行权限**
让它能被系统调用:
sudo chmod +x /etc/init.d/oracle-listener
**3. 注册到启动序列**
用 `update-rc.d` 把它添加到默认运行级别:
sudo update-rc.d oracle-listener defaults
之后重启系统,监听器就会自动启动了。
### 在 Windows 上:任务计划搞定
Windows 下的思路有点不一样,得靠“任务计划程序”来扮演启动脚本的角色。
**1. 编写一个批处理文件**
比如在 `C:\oracle\bin\start_listener.bat` 里写入:
@echo off
set ORACLE_HOME=C:\oracle\product\19.0.0\dbhome_1
set PATH=%ORACLE_HOME%\bin;%PATH%
lsnrctl start
请根据实际情况修改 `ORACLE_HOME` 路径。
**2. 创建计划任务**
打开“任务计划程序”,点击“创建基本任务”。触发器选择“计算机启动时”,操作选“启动程序”,然后浏览到你刚才创建的批处理文件。剩下的按提示走完就行。
之后每次 Windows 启动,这个批处理就会跑起来,监听器也就跟着启动了。
---
以上就是三大主流平台下给 lsnrctl 配置开机自启的方法。注意不同环境下的路径和用户权限细节,实际操作前最好先手动跑一遍 `lsnrctl start` 确认没问题,再配置自动启动。如果有特殊需求(比如监听器配置了多个实例),只要在对应的 ExecStart 或启动命令里加上对应的监听器名就好。 上一篇:lsnrctl如何查看日志
下一篇:CentOS下C++怎样优化设置
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8