温馨提示×

debian如何用lsnrctl启动

小樊
46
2026-09-21 20:50:05
栏目: 智能运维

在 Debian 上,lsnrctl 是 Oracle 数据库监听程序(Listener) 的管理工具,它本身不是 Debian 自带命令,而是随 Oracle Database 或 Oracle Client 安装的。

下面按常见步骤说明如何在 Debian 上使用 lsnrctl 启动监听。


一、前提条件

  1. 已安装 Oracle(Database 或 Client)
    • 常见路径:
      • /u01/app/oracle/product/19.3.0/dbhome_1
  2. 已配置 ORACLE_HOME 和 ORACLE_BASE
  3. 监听器配置文件存在
    • listener.ora
    • 通常在 $ORACLE_HOME/network/admin

二、设置环境变量(非常重要)

以 oracle 用户为例:

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

可写入 ~/.bash_profile 或 ~/.profile 长期生效


三、查看 lsnrctl 是否可用

which lsnrctl

输出类似:

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

四、启动监听器

1️⃣ 启动默认监听器

lsnrctl start

2️⃣ 启动指定监听器(如有多个)

lsnrctl start LISTENER_NAME

五、验证监听状态

lsnrctl status

正常输出应包含:

  • 监听端口(如 1521)
  • 服务名(Service)
  • 实例状态(READY / BLOCKED)

六、常见问题排查

❌ command not found: lsnrctl

  • 没装 Oracle
  • PATH 没配置
  • 当前不是 oracle 用户

❌ TNS-12545 / TNS-12560

  • listener.ora 配置错误
  • 主机名无法解析
  • 端口被占用

❌ Debian 缺依赖

Oracle 官方不完全支持 Debian,可能需要:

alien
libaio1
libstdc++5

七、开机自启(可选)

Debian 不自带 Oracle 自启脚本,可手动写 systemd 或 rc.local:

su - oracle -c "lsnrctl start"

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

  • Oracle 版本(11g / 12c / 19c)
  • 是否已安装
  • 报错信息

我可以给你更精准的操作步骤。

0 踩