在 Debian 下,lsnrctl 是 Oracle Database Listener Control 工具,用于管理 Oracle 监听程序(Listener)。它不是 Debian 自带命令,而是 Oracle 数据库软件 的一部分。
下面按“前提 → 基本用法 → 常见操作”来说明。
lsnrctl 通常位于:
$ORACLE_HOME/bin/lsnrctl
使用前必须设置:
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
一般是 oracle 用户:
su - oracle
lsnrctl
进入后会出现:
LSNRCTL>
lsnrctl status
lsnrctl start
lsnrctl stop
lsnrctl status
或指定监听名:
lsnrctl status LISTENER
输出包括:
lsnrctl start
指定监听:
lsnrctl start LISTENER
lsnrctl stop
lsnrctl reload
用于修改 listener.ora 后生效。
lsnrctl show
查看某项:
lsnrctl show LOG_FILE
LSNRCTL> set log_status on
LSNRCTL> set trc_level admin
监听配置文件通常在:
$ORACLE_HOME/network/admin/listener.ora
示例:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbserver)(PORT = 1521))
)
)
修改后执行:
lsnrctl reload
说明:
解决:
which lsnrctl
echo $ORACLE_HOME
说明监听没启动:
lsnrctl start
Oracle 官方支持 RHEL / OEL,Debian 可能需要:
| 功能 | 命令 |
|---|---|
| 启动 | lsnrctl start |
| 停止 | lsnrctl stop |
| 状态 | lsnrctl status |
| 重载 | lsnrctl reload |
| 帮助 | lsnrctl help |
如果你愿意,可以告诉我:
我可以给你更针对性的配置示例。