端口冲突时需检查并释放占用端口,确保监听器名唯一、ADDRESS独立定义、LOCAL_LISTENER指向正确地址,并通过ALTER SYSTEM REGISTER或静态注册解决实例注册问题。listener.ora 里配多个监听器,端口冲突了怎么办监听器起不来,lsnrctl status 报 tns-12541: no listener 或 tns-12560: tns:protocol adapter error,大概率是端口被占或配置语法错。oracle 不允许两个监听器绑定同一 ip+端口组合,哪怕名字不同。用 netstat -an | grep :1521(Linux/macOS)或 netstat -ano | findstr :1521(Windows)确认端口是否真被占监听器名必须全局唯一,且不能含下划线以外的特殊字符(如 LISTENER_1522 合法,LISTENER-1522 会解析失败)每个 LISTENER_xxx 段必须独立定义 ADDRESS,不能复用上一段的 ADDRESS_LISTOracle 12c 及以后支持 ENDPOINT 语法,但老版本只认 ADDRESS,混用会导致 LSNRCTL 加载时静默跳过该段非默认端口监听器注册不到数据库实例监听器起来了,lsnrctl status LISTENER_1522 显示 "No services",说明实例没注册进来。这不是监听器问题,而是数据库侧没告诉它"我在哪儿"。检查数据库参数:LOCAL_LISTENER 必须指向对应监听器,比如 ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1522))';如果用了别名(如 LISTENER_1522),确保 TNSNAMES.ORA 里有对应条目,且 LOCAL_LISTENER 值是那个别名字符串,不是地址本身REMOTE_LISTENER 不影响单机注册,别乱设;SECURE_REGISTER 开启后可能拦截动态注册,临时调试建议关掉改完参数记得 ALTER SYSTEM REGISTER; 触发立即注册,否则要等默认 60 秒轮询tnsnames.ora 和 listener.ora 的 host 写 localhost 还是真实 IP写 localhost 看似方便,但容易在容器、多网卡或 hosts 绑定异常时失效。Oracle 解析 localhost 走的是系统 resolver,而监听器绑定靠的是 socket bind,两者行为不总一致。 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。
相关推荐
justjinji1 小时前
宝塔面板网站备份文件太大怎么办_调整备份压缩等级与频率qq_342295821 小时前
CSS如何根据父级容器宽度调整子项_利用容器查询container选择器css2301_803875611 小时前
Go语言怎么做分布式缓存_Go语言分布式缓存教程【经典】Gauss松鼠会1 小时前
GaussDB(DWS)数据融合:云端GaussDB(DWS)迁移qq_206901391 小时前
CSS如何处理CSS颜色模式不兼容_通过fallback定义标准颜色值2301_796588501 小时前
SQL利用窗口函数实现轻量级报表设计_实战技巧Omics Pro1 小时前
癌症亚型分类新型多组学整合框架weixin_568996061 小时前
Python开发Flask项目如何部署到云服务器_使用Fabric自动化发布脚本m0_596406371 小时前
Python中正确声明、重新赋值并安全使用None变量的完整指南