温馨提示×

debian如何安装lsnrctl

小樊
32
2026-07-22 09:21:00
栏目: 智能运维

lsnrctlOracle Database 的一个工具,用于管理 Oracle 监听器(Listener)不是 Debian 自带软件,因此 不能通过 apt 直接安装

下面按常见情况说明如何在 Debian 上获得 lsnrctl


一、确认你是否需要 Oracle

lsnrctl 只随 Oracle Database(或 Oracle Instant Client)提供,如果你只是想“查看端口监听”,不一定需要它

如果只是查看监听端口

可以用系统自带工具:

ss -lntp
# 或
netstat -lntp

二、在 Debian 上安装 lsnrctl 的正确方式

✅ 方式 1:安装完整 Oracle Database(最常见)

适用于:你要运行 Oracle 数据库。

步骤概览

  1. 下载 Oracle Database(如 19c)
  2. 安装依赖
  3. 创建 oracle 用户
  4. 安装 Oracle 软件
  5. 配置监听器

示例(简化)

# 安装依赖
sudo apt update
sudo apt install -y \
  binutils \
  gcc \
  make \
  libaio1 \
  libnsl2 \
  libstdc++6

创建 Oracle 用户:

sudo groupadd oinstall
sudo groupadd dba
sudo useradd -m -g oinstall -G dba oracle
sudo passwd oracle

然后:

  • 解压 Oracle 安装包
  • 使用 runInstaller
  • 安装完成后,lsnrctl 会出现在:
$ORACLE_HOME/bin/lsnrctl

使用前:

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

验证:

lsnrctl status

✅ 方式 2:使用 Oracle Instant Client(不推荐,不支持 lsnrctl)

⚠️ 注意
Oracle Instant Client 不包含 lsnrctl
它只能用于连接数据库,不能管理监听器。

如果你只是连接数据库,可以装:

sudo apt install alien
# 下载 oracle-instantclient*.rpm
sudo alien -i oracle-instantclient*.rpm

不会有 lsnrctl


三、Docker 方式(最简单,推荐)

如果你只是测试或开发:

docker run -d \
  --name oracle \
  -p 1521:1521 \
  container-registry.oracle.com/database/enterprise:19.3.0

进入容器:

docker exec -it oracle bash
su - oracle
lsnrctl status

四、常见错误说明

apt install lsnrctl

E: Unable to locate package lsnrctl

✅ 正常,因为 Debian 仓库中没有这个命令。


五、总结

目的 是否可用 lsnrctl 建议
查看端口 ss / netstat
管理 Oracle 监听器 安装 Oracle Database
连接 Oracle 数据库 用 Instant Client
快速测试 Docker

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

  • 你是 本地安装 还是 服务器
  • Oracle 版本(11g / 12c / 19c)
  • 用途(开发 / 运维 / 学习)

我可以给你 一步一步的详细安装方案

0