温馨提示×

怎样学linux lsnrctl

小樊
35
2026-10-13 21:48:18
栏目: 智能运维

lsnrctl 是 Oracle 数据库监听控制工具(Listener Control),不是 Linux 系统自带命令,而是 Oracle 数据库软件的一部分。学习它,重点在「Oracle 监听机制 + 常用命令 + 排错」。

下面给你一条从零到实用的学习路线。


一、先搞清楚:lsnrctl 是什么

  • 属于 Oracle 数据库
  • 用来:
    • 启动 / 停止监听
    • 查看监听状态
    • 管理数据库连接入口
  • 监听文件通常是:
    $ORACLE_HOME/network/admin/listener.ora
    

二、学习前的基础准备

1. 会一点 Linux

需要会:

  • cd / ls / cat / vi
  • 环境变量(重要)
echo $ORACLE_HOME
echo $PATH

2. 安装 Oracle 或能访问 Oracle 环境

没有 Oracle,是没法用 lsnrctl 的。


三、最常用命令(必须背)

1. 启动监听

lsnrctl start

2. 停止监听

lsnrctl stop

3. 查看监听状态(最常用)

lsnrctl status

4. 重新加载配置(不改端口时用)

lsnrctl reload

5. 进入交互模式

lsnrctl
LSNRCTL> status
LSNRCTL> exit

四、看懂 status 输出(重点)

重点看这几行:

Listener Parameter File
Listener Log File
Listening Endpoints
Services Summary

如果 Services Summary 为空,说明:

  • 数据库没起来
  • 或监听没注册成功

五、监听配置文件(必须会看)

文件路径:

$ORACLE_HOME/network/admin/listener.ora

示例:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

修改后:

lsnrctl reload

六、常见错误 & 排查

1. command not found

说明:

  • 没装 Oracle
  • 或 PATH 没配

解决:

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

2. TNS-12541: TNS:no listener

监听没启动:

lsnrctl start

3. 客户端连不上

检查:

  • 端口是否 1521
  • 防火墙
  • tnsnames.ora

七、推荐学习顺序(实战型)

  1. lsnrctl status
  2. lsnrctl start / stop
  3. 看 listener.ora
  4. 配合 sqlplus 学
  5. 学 TNS、服务名、SID

八、学习资料推荐

  • Oracle 官方文档(搜:Oracle Net Services Administrator’s Guide)
  • 《Oracle 数据库管理实战》
  • B 站搜:Oracle listener 配置

如果你愿意,我可以:

  • 给你 一步一步实验教程
  • 按 Oracle 11g / 19c 分开讲
  • 或直接帮你 看报错信息排错

你现在是 刚学 Linux,还是 已经在学 Oracle 了?

0 踩