温馨提示×

debian如何重启lsnrctl

小樊
32
2026-10-06 14:40:40
栏目: 智能运维

在 Debian(以及大多数 Linux 发行版)上,lsnrctl 是 Oracle 数据库监听器(Listener) 的管理工具,本身不是系统服务,而是通过 Oracle 软件来控制的。重启 lsnrctl 实际上是指 重启 Oracle 监听器。


一、前提条件

  1. 已安装 Oracle 数据库软件
  2. 使用 oracle 用户 操作(不能是 root)
  3. 环境变量已正确设置(ORACLE_HOME、ORACLE_SID 等)

二、重启监听器的标准步骤

1️⃣ 切换到 oracle 用户

su - oracle

2️⃣ 停止监听器

lsnrctl stop

3️⃣ 启动监听器

lsnrctl start

4️⃣ 查看监听器状态

lsnrctl status

三、一步重启(手动方式)

如果你确定没有连接会话:

lsnrctl stop
lsnrctl start

四、如果监听器是通过 systemd 管理的(较少见)

某些 Debian + Oracle 环境会配置 systemd 服务:

systemctl restart oracle-listener

(服务名可能不同,可用 systemctl list-unit-files | grep oracle 查看)


五、常见问题

❌ lsnrctl: command not found

说明环境变量未加载:

export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH

(路径按实际安装修改)


❌ TNS-12541: TNS:no listener

说明监听器未启动,执行 lsnrctl start


如果你愿意,可以告诉我:

  • Oracle 版本(11g / 12c / 19c)
  • 是否使用 grid / ASM
  • 是否用 root 还是 oracle 用户

我可以给你更精确的重启方式。

0 踩