温馨提示×

什么是linux lsnrctl命令

小樊
45
2026-10-22 15:22:47
栏目: 智能运维

lsnrctl 是 Oracle 数据库 中用于**管理监听器(Listener)**的命令行工具,常见于 Linux / Unix 环境下的 Oracle 安装中。


一、什么是监听器(Listener)

监听器是 Oracle 网络服务的一部分,作用是:

  • 监听客户端连接请求(如 SQL*Plus、JDBC)
  • 将请求转发给对应的 Oracle 实例
  • 管理数据库的网络访问

默认监听端口通常是 1521。


二、lsnrctl 是什么

lsnrctl(Listener Control)是 Oracle 提供的命令行工具,用来:

  • 启动 / 停止监听器
  • 查看监听器状态
  • 重新加载配置
  • 管理多个监听器

⚠️ 注意:

  • lsnrctl 不是 Linux 系统命令
  • 它是 Oracle 软件自带的工具

三、常见使用方式

1️⃣ 查看监听器状态

lsnrctl status

输出内容包括:

  • 监听器名称
  • 监听端口
  • 已注册的服务
  • Oracle 实例状态

2️⃣ 启动监听器

lsnrctl start

若监听器名不是默认 LISTENER:

lsnrctl start LISTENER1

3️⃣ 停止监听器

lsnrctl stop

4️⃣ 重新加载配置(不中断连接)

lsnrctl reload

适用于修改了 listener.ora 后。


5️⃣ 进入交互模式

lsnrctl

进入后可使用:

LSNRCTL> status
LSNRCTL> stop
LSNRCTL> exit

四、相关配置文件

  • listener.ora:监听器配置
  • tnsnames.ora:客户端连接配置
  • sqlnet.ora:网络参数

通常位于:

$ORACLE_HOME/network/admin

五、常见问题

❓ 命令找不到

-bash: lsnrctl: command not found

解决:

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

❓ 监听器启动但服务未注册

  • 实例未启动
  • local_listener 参数未配置

六、总结

项目 说明
工具 lsnrctl
所属 Oracle
用途 管理监听器
系统 Linux / Unix
常见操作 start / stop / status / reload

如果你愿意,我也可以帮你分析 监听器配置示例 或 连接不上数据库的问题排查。

0 踩