温馨提示×

debian lsnrctl怎么查状态

小樊
42
2026-09-03 13:39:07
栏目: 智能运维

在 Debian 上,lsnrctlOracle Database Listener 的管理工具,不是系统自带命令,需要先安装并配置好 Oracle 客户端/数据库环境。

一、前提条件

  1. 已安装 Oracle 软件(如 Oracle Instant Client + 工具包,或完整 Oracle DB)
  2. ORACLE_HOME 已设置
  3. lsnrctl 在 PATH 中(通常在 $ORACLE_HOME/bin
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH

二、查看监听状态(最常用)

lsnrctl status

输出内容包括:

  • 监听名称(默认 LISTENER
  • 监听地址和端口(默认 1521)
  • 已注册的服务(Service)
  • 实例状态(READY / BLOCKED)

三、查看指定监听状态

如果监听名不是默认 LISTENER

lsnrctl status LISTENER_NAME

四、查看监听服务摘要

lsnrctl services

可以看到:

  • 每个服务对应的实例
  • 连接数
  • 处理状态

五、常见问题排查

1. 命令未找到

-bash: lsnrctl: command not found

解决:

find / -name lsnrctl 2>/dev/null

然后加到 PATH。

2. 没有监听在运行

TNS-12541: TNS:no listener

启动监听:

lsnrctl start

3. Debian 上没装 Oracle

Debian 官方源 没有 lsnrctl,需:

  • 安装 Oracle Instant Client(不含 lsnrctl)
  • 或安装完整 Oracle Database(推荐 Oracle Linux / RHEL)

六、简要总结

目的 命令
查看监听状态 lsnrctl status
查看服务详情 lsnrctl services
启动监听 lsnrctl start
停止监听 lsnrctl stop

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

  • Debian 版本
  • 是否装了 Oracle
  • 报错信息

我可以帮你更具体地排查。

0