温馨提示×

debian如何启动lsnrctl

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

Debian 上,lsnrctlOracle Database 的监听控制工具,不是系统自带命令。能否使用它,取决于你是否已经安装了 Oracle Database(或 Oracle Instant Client)。下面分情况说明。


一、确认是否已安装 Oracle

which lsnrctl
  • 有输出(如 /u01/app/oracle/product/19.3.0/dbhome_1/bin/lsnrctl)✅ 已安装
  • 无输出 ❌ 未安装或未配置环境变量

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

Oracle 依赖环境变量,否则 lsnrctl 无法运行。

1️⃣ 切换到 oracle 用户(推荐)

su - oracle

2️⃣ 设置环境变量(示例)

编辑 ~/.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

三、启动监听(lsnrctl)

1️⃣ 查看监听状态

lsnrctl status

2️⃣ 启动监听

lsnrctl start

3️⃣ 停止监听

lsnrctl stop

4️⃣ 重启监听

lsnrctl reload

四、常见错误及解决方法

lsnrctl: command not found

✅ 解决:

  • 确认 Oracle 已安装
  • 确认 ORACLE_HOME/binPATH
  • 使用 oracle 用户执行

TNS-12541: TNS:no listener

✅ 解决:

lsnrctl start

TNS-12555: TNS:permission denied

✅ 解决:

chown -R oracle:oinstall /u01/app/oracle

五、Debian 上的特别说明

  • Debian 不是 Oracle 官方推荐系统(Oracle 更偏向 RHEL / OEL)
  • 安装 Oracle 需要:
    • 手动安装依赖
    • 修改内核参数
    • 创建 oracle 用户和组
  • 如果你只是连接数据库,不需要启动监听,可只安装 Oracle Instant Client

六、如果你还没安装 Oracle(简要)

  1. 创建用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
  1. 安装依赖(示例)
apt install libaio1 unixodbc
  1. 安装 Oracle Database(过程复杂,需图形界面或静默安装)

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

  • ✅ Oracle 版本
  • ✅ Debian 版本
  • ✅ 是 本机数据库 还是 远程连接

我可以给你更精确的配置步骤。

0