在 Debian 上,lsnrctl 是 Oracle Database 的监听控制工具,不是系统自带命令。能否“连接”取决于你是想 管理监听器,还是 通过监听器连接数据库。
下面按常见场景说明。
lsnrctl 一般位于 Oracle 安装目录,例如:
$ORACLE_HOME/bin/lsnrctl
检查环境变量:
echo $ORACLE_HOME
echo $PATH
如果没装 Oracle,Debian 上 没有 apt 直接安装 lsnrctl 的方式,必须安装 Oracle Database 或 Oracle Instant Client(含监听组件)。
lsnrctl start
lsnrctl status
lsnrctl
进入交互模式后:
LSNRCTL> status
LSNRCTL> stop
LSNRCTL> start
LSNRCTL> exit
lsnrctl 本身不“连接数据库”,它只是监听服务。
真正连接数据库用的是 sqlplus。
sqlplus user/password
sqlplus user/password@//localhost:1521/ORCL
或:
sqlplus user/password@ORCL
前提是:
tnsnames.ora 配置正确解决:
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
写入:
~/.bashrc
常见原因:
listener.ora 配置错误检查:
lsnrctl status
cat $ORACLE_HOME/network/admin/listener.ora
| 目的 | 命令 |
|---|---|
| 管理监听器 | lsnrctl start/stop/status |
| 进入管理控制台 | lsnrctl |
| 连接数据库 | sqlplus 用户/密码@服务名 |
| Debian 安装 | 需 Oracle Database / Instant Client |
如果你愿意,可以告诉我:
我可以给你 精确到 Debian + Oracle 的实操步骤。