温馨提示×

linux lsnrctl怎么重启

小樊
50
2026-10-05 01:30:59
栏目: 智能运维

在 Linux 下使用 lsnrctl 重启 Oracle 监听(Listener),通常按以下步骤操作。


一、确认环境变量(很重要)

一般要先切换到 oracle 用户,并加载环境变量:

su - oracle

确认以下环境变量已设置(通常 .bash_profile 里已有):

echo $ORACLE_HOME
echo $ORACLE_SID

二、查看当前监听状态

lsnrctl status

三、重启监听(推荐方式)

✅ 方式 1:先停再起(最常用、最安全)

lsnrctl stop
lsnrctl start

✅ 方式 2:一步重启(如果支持)

某些版本可以直接:

lsnrctl reload

⚠️ reload 不会断开已有连接,只会重新加载配置,不算真正重启进程
如果是修改了 listener.ora 或端口,建议用 stop + start


四、确认重启成功

lsnrctl status

看到类似:

STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux
...
The listener supports no services

或显示服务已注册,即说明正常。


五、常见问题

1️⃣ 提示 command not found

说明环境变量没加载:

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

2️⃣ 停止监听失败

可能是权限问题,确认是 oracle 用户 启动的监听。

3️⃣ 数据库未注册到监听

重启监听后执行:

sqlplus / as sysdba
ALTER SYSTEM REGISTER;

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

  • Oracle 版本(11g / 12c / 19c)
  • 是单实例还是 RAC
  • 报错信息

我可以给你更精确的操作步骤。

0 踩