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 中的端口需同步修改为新端口,避免连接失败。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1464725.html