温馨提示×

如何查看ubuntu lsnrctl状态

小樊
42
2026-10-25 21:37:42
栏目: 智能运维

在 Ubuntu 上,lsnrctl 是 Oracle 数据库监听程序(Listener) 的管理工具,通常不是系统默认安装的,而是随 Oracle 软件一起安装。

一、前提条件

  1. 已安装 Oracle 数据库或 Oracle Client
  2. 当前用户具有执行 lsnrctl 的权限(通常是 oracle 用户)
  3. 已正确配置 Oracle 环境变量

二、查看 lsnrctl 状态的方法

1️⃣ 切换到 oracle 用户(推荐)

su - oracle

2️⃣ 设置 Oracle 环境变量

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

路径根据你的 Oracle 安装目录调整

3️⃣ 查看监听状态

lsnrctl status

✅ 正常输出示例:

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux
Start Date                01-JAN-2026
Uptime                    10 days

三、查看指定监听的状态

如果配置了多个 listener:

lsnrctl status LISTENER_NAME

四、常见问题

❌ command not found: lsnrctl

说明:

  • 未安装 Oracle
  • 或 PATH 未包含 $ORACLE_HOME/bin

解决:

which lsnrctl
echo $ORACLE_HOME

❌ TNS-12541: TNS:no listener

说明监听未启动:

lsnrctl start

五、非 Oracle 用户执行(不推荐)

sudo -u oracle lsnrctl status

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

  • Oracle 版本(11g / 12c / 19c)
  • 是否使用 Docker
  • 报错信息

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

0 踩