温馨提示×

debian lsnrctl端口怎么改

小樊
45
2026-10-03 16:20:52
栏目: 智能运维

在 Debian(或任何 Linux)上,lsnrctl 是 Oracle Database Listener 的管理工具,修改监听端口本质是修改 listener.ora 配置文件,然后重启监听。

下面按步骤说明:


一、确认 listener.ora 位置

通常在:

$ORACLE_HOME/network/admin/listener.ora

例如:

/u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora

二、修改监听端口

1. 编辑 listener.ora

vi $ORACLE_HOME/network/admin/listener.ora

示例(默认 1521 → 改为 1522):

修改前

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

修改后

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
    )
  )

如果有多个 ADDRESS,只改对应 LISTENER 的即可


三、重启监听(使用 lsnrctl)

1. 切换到 oracle 用户

su - oracle

2. 停止监听

lsnrctl stop

3. 启动监听

lsnrctl start

4. 查看状态

lsnrctl status

确认端口已变为新端口(如 1522)


四、客户端连接注意

如果改了端口,客户端需要同步修改:

tnsnames.ora

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

或连接时指定:

sqlplus user/pass@//localhost:1522/orcl

五、常见问题

  • 端口被占用:用 netstat -tunlp | grep 1522 检查
  • 防火墙:Debian 需放行端口
    sudo ufw allow 1522/tcp
    

如果你愿意,可以贴出你的 listener.ora 内容,我可以帮你精确改。

0 踩