温馨提示×

Debian lsnrctl怎样重启

小樊
34
2026-07-10 16:09:07
栏目: 智能运维

在 Debian 上,lsnrctlOracle Database Listener 的管理工具。要“重启”监听器,通常就是 先停再启。下面给你几种常见、正确的做法。


一、使用 lsnrctl 重启(推荐)

1️⃣ 登录到 Oracle 用户

su - oracle

如果你是用 sudo

sudo -iu oracle

2️⃣ 查看当前监听器状态

lsnrctl status

3️⃣ 重启监听器

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

四、常见问题排查

❌ 1. 提示 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


❌ 2. 启动失败,提示端口被占用

lsof -i :1521

ps -ef | grep tns

五、Debian 上是否可以用 systemd?

Oracle 官方 不推荐 用 systemd 直接管理 lsnrctl,但你可以自己写 service 文件。

如果你需要,我可以帮你写一个 Debian / systemd 管理的 Oracle Listener 服务文件


✅ 总结(最常用)

su - oracle
lsnrctl stop
lsnrctl start

如果你告诉我:

  • Oracle 版本
  • Debian 版本
  • 是否 RAC / 单机

我可以给你更精确的操作方式。

0