温馨提示×

debian怎么配置lsnrctl

小樊
40
2026-08-05 21:56:05
栏目: 智能运维

在 Debian 上配置 lsnrctl(Oracle Listener 控制工具),本质上是安装并配置 Oracle 数据库监听程序(Listener)lsnrctl 不是 Debian 自带软件,而是 Oracle Database 的一部分。

下面分情况说明。


一、前提说明

lsnrctl 来源:

  • 属于 Oracle Database Server
  • 不属于 Debian 官方仓库
  • 需要 Oracle 软件安装

✅ 常见场景:

  • 已安装 Oracle Database(如 11g / 12c / 19c)
  • 使用的是 Oracle Instant Client(不含 lsnrctl)
  • 想手动配置监听

二、确认是否已安装 Oracle

which lsnrctl

如果返回路径(如):

/u01/app/oracle/product/19.0.0/dbhome_1/bin/lsnrctl

说明已安装。

如果没有:

lsnrctl: command not found

需要先安装 Oracle Database。


三、配置 Oracle 环境变量(非常重要)

编辑用户环境变量(通常是 oracle 用户):

vi ~/.bashrc

添加(示例):

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

生效:

source ~/.bashrc

四、创建 / 修改 listener.ora

监听配置文件位置:

$ORACLE_HOME/network/admin/listener.ora

示例配置(最常用)

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

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
      (SID_NAME = orcl)
    )
  )

如果是 12c+ 多租户,注意 SERVICE_NAMEPDB


五、启动 / 管理监听(lsnrctl)

1️⃣ 启动监听

lsnrctl start

2️⃣ 查看状态

lsnrctl status

3️⃣ 停止监听

lsnrctl stop

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

lsnrctl reload

六、常见问题排查

1️⃣ lsnrctl 命令不存在

  • 没装 Oracle Database
  • 环境变量没生效
  • 使用了 Instant Client(不支持)

✅ 解决:

source ~/.bashrc

2️⃣ 监听启动但无法连接

检查:

lsnrctl status

确认:

  • 端口是否监听
  • 防火墙是否放行 1521
ss -lntp | grep 1521

3️⃣ Debian 防火墙(iptables / nftables)

放行端口:

iptables -I INPUT -p tcp --dport 1521 -j ACCEPT

七、Debian 上安装 Oracle 简要说明(如未安装)

Oracle 官方不支持 Debian,但可“兼容运行”:

  • 使用 Oracle Linux / RHEL / CentOS
  • 或在 Debian 上手动安装(复杂,不推荐生产)

✅ 推荐方案:

  • 使用 Docker Oracle 镜像
  • Oracle Linux 虚拟机

八、总结

步骤 说明
安装 Oracle 必须
配置环境变量 ORACLE_HOME / PATH
编辑 listener.ora 定义监听
lsnrctl start 启动监听
lsnrctl status 验证

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

  • Oracle 版本(11g / 12c / 19c)
  • 是否已有 Oracle 安装
  • 是本地还是远程连接

我可以给你完全针对你环境的配置示例

0