在 Ubuntu 上,lsnrctl 是 Oracle Database Listener(监听器)的管理工具,不是 Ubuntu 系统自带命令。所谓“重置 lsnrctl”,通常不是把命令本身重置,而是:
下面按常见需求说明。
lsnrctl stop
lsnrctl start
或一步重启:
lsnrctl reload
reload不会断开已有连接,适合修改 listener.ora 后使用。
lsnrctl status
如果提示:
command not found
说明 Oracle 环境变量未配置:
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
(路径按你的 Oracle 实际安装目录修改)
如果你改坏了 listener.ora:
$ORACLE_HOME/network/admin/listener.ora
cd $ORACLE_HOME/network/admin
mv listener.ora listener.ora.bak
netca
或使用最小配置示例:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
然后:
lsnrctl start
如果监听器已损坏严重:
lsnrctl stop
rm -f $ORACLE_HOME/network/admin/listener.ora
netca
lsnrctl 不是 Ubuntu 系统命令/opt 或 /u01如果你愿意,可以告诉我:
我可以给你更精确的方案。