温馨提示×

lsnrctl debian报错怎么解决

小樊
43
2026-09-24 22:44:33
栏目: 智能运维

lsnrctl 是 Oracle Database 的监听管理工具,并不是 Debian 自带的命令。
在 Debian 上出现 lsnrctl: command not found 或运行报错,通常原因如下:


一、最常见:命令找不到(command not found)

原因

  • 没安装 Oracle
  • 环境变量没配置

解决方法

  1. 确认是否安装 Oracle
which lsnrctl
echo $ORACLE_HOME

如果都为空,说明没配置或没安装。

  1. 设置环境变量(示例)
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl

路径要根据你的实际安装目录修改

  1. 测试
lsnrctl status

二、报错:Message 1070 not found / TNS-xxxx

通常是:

  • listener.ora 不存在或配置错误
  • ORACLE_HOME 不对

解决

  1. 检查监听配置文件
$ORACLE_HOME/network/admin/listener.ora
  1. 简单示例(listener.ora)
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )
  1. 重新启动监听
lsnrctl start

三、Debian 权限问题

报错示例

Permission denied

解决

  • 必须用 oracle 用户运行
su - oracle
lsnrctl status

不要直接用 root


四、Debian 缺少依赖(少见)

Oracle 需要一些 32 位库:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libaio1 unixodbc

五、你具体报什么错?

如果你能贴出完整报错信息(例如):

  • lsnrctl: command not found
  • TNS-12541
  • TNS-12555

我可以给你更精确的解决方案。

你现在是哪种情况?

0 踩