温馨提示×

centos lsnrctl端口设置步骤

小樊
38
2025-12-03 18:23:13
栏目: 智能运维

CentOS 下使用 lsnrctl 设置监听端口

准备与检查

  • oracle 用户或具备 Oracle 环境权限的用户执行操作,确保 $ORACLE_HOME 已正确设置。
  • 查看当前监听状态与监听的端口:
    • 查看默认监听:执行 lsnrctl status
    • 查看指定监听:执行 lsnrctl status LISTENER_NAME
  • 确认配置文件路径:$ORACLE_HOME/network/admin/listener.ora(后续两种常用方法都会用到该文件或其内容)。

方法一 直接编辑 listener.ora 并重启监听

  • 备份当前配置:
    • 执行:cp $ORACLE_HOME/network/admin/listener.ora $ORACLE_HOME/network/admin/listener.ora.bak_$(date +%F)
  • 编辑配置文件:
    • 执行:vi $ORACLE_HOME/network/admin/listener.ora
    • LISTENER 段中设置端口(示例为 1522):
      LISTENER =
        (DESCRIPTION_LIST =
          (DESCRIPTION =
            (ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1522))
          )
        )
      
      your_host_name 替换为服务器的主机名或 0.0.0.0(监听所有地址)。如需同时监听多个端口,可在 ADDRESS_LIST 中添加多个 ADDRESS 条目。
  • 使配置生效:
    • 重启监听:lsnrctl stop 然后 lsnrctl start
    • 或热加载:lsnrctl reload
  • 验证:lsnrctl status 应显示新端口处于 READY 状态。

方法二 使用 lsnrctl 交互命令修改端口

  • 进入监听控制台:执行 lsnrctl
  • 在控制台中执行(将 LISTENER 替换为你的监听名,将 1522 替换为目标端口):
    set current_listener LISTENER
    set port 1522
    save_config
    exit
    
  • 重启监听使更改生效:
    • 执行:lsnrctl stop 然后 lsnrctl start
    • 或热加载:lsnrctl reload
  • 验证:lsnrctl status 检查新端口监听情况。

防火墙与数据库服务调整

  • 开放新端口(以 firewalld 为例):
    • 添加端口:firewall-cmd --permanent --add-port=1522/tcp
    • 重新加载:firewall-cmd --reload
    • 验证:firewall-cmd --query-port=1522/tcp
  • 如使用 SCAN 或本地 local_listener 参数,请同步更新为新的端口,例如:
    • 更新参数:ALTER SYSTEM SET LOCAL_LISTENER=‘(ADDRESS=(PROTOCOL=TCP)(HOST=your_host)(PORT=1522))’ SCOPE=BOTH;
    • 使参数生效:ALTER SYSTEM REGISTER;
  • 客户端连接串、应用配置、tnsnames.ora 中的端口需同步修改为新端口,避免连接失败。

0