温馨提示×

debian lsnrctl监听怎么设

小樊
40
2026-08-05 22:02:00
栏目: 智能运维

在 Debian 上设置 lsnrctl(Oracle Listener)监听,一般步骤如下。前提是你已经安装了 Oracle Database(通常 lsnrctl 随 Oracle 软件一起安装)。


一、确认环境

1. 确认 lsnrctl 是否可用

which lsnrctl

lsnrctl status

如果提示找不到命令,说明 Oracle 环境变量未配置。


二、配置 Oracle 环境变量

oracle 用户为例:

su - oracle

编辑 .bash_profile.bashrc

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

生效:

source ~/.bash_profile

三、配置监听(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.3.0/dbhome_1)
      (SID_NAME = orcl)
    )
  )

✅ 说明

  • HOST = 0.0.0.0:监听所有网卡
  • PORT = 1521:Oracle 默认端口
  • SID_NAME:数据库实例名

四、启动 / 管理监听

1. 启动监听

lsnrctl start

2. 查看监听状态

lsnrctl status

3. 停止监听

lsnrctl stop

4. 重新加载监听(不中断连接)

lsnrctl reload

五、验证监听是否生效

1. 查看端口

ss -lntp | grep 1521

netstat -lntp | grep 1521

2. 测试连接

sqlplus system/password@localhost:1521/orcl

六、常见问题

1. lsnrctl: command not found

  • 没配置 ORACLE_HOME
  • 没安装 Oracle DB

2. 监听启动但无法连接

  • 防火墙未放行 1521
sudo ufw allow 1521
  • listener.oraHOST 写错

3. Debian 上 Oracle 限制

  • Oracle 官方 不支持 Debian
  • 常见于 Ubuntu / Debian 手动安装 Oracle
  • 建议使用 Oracle Linux / RHEL / CentOS

七、最小可用示例(快速排错)

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
  )

然后:

lsnrctl start

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

  • ✅ Oracle 版本(11g / 12c / 19c)
  • ✅ Debian 版本
  • ✅ 是本地监听还是远程连接

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

0