在 Debian 上,lsnrctl 是 Oracle Database Listener 的管理工具。要“重启”监听器,通常就是 先停再启。下面给你几种常见、正确的做法。
su - oracle
如果你是用
sudo:
sudo -iu oracle
lsnrctl status
lsnrctl stop
lsnrctl start
或者一步完成(Oracle 支持):
lsnrctl reload
✅ 说明
stop + start:完全重启(推荐)reload:不中断已有连接,重新加载配置(适合改了 listener.ora)lsnrctl status
假设监听器名是 LISTENER,指定名称操作:
lsnrctl stop LISTENER
lsnrctl start LISTENER
netstat -tulnp | grep 1521
或(新系统):
ss -tulnp | grep 1521
lsnrctl: command not found说明环境变量没配置好:
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
建议写入
.bash_profile或.bashrc
lsof -i :1521
或
ps -ef | grep tns
Oracle 官方 不推荐 用 systemd 直接管理 lsnrctl,但你可以自己写 service 文件。
如果你需要,我可以帮你写一个 Debian / systemd 管理的 Oracle Listener 服务文件。
su - oracle
lsnrctl stop
lsnrctl start
如果你告诉我:
我可以给你更精确的操作方式。