端口冲突时需检查并释放占用端口,确保监听器名唯一、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助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。
相关推荐
掉头发的王富贵1 小时前
【StarRocks】极限十分钟入门StarRocksNturmoils2 小时前
WHERE 条件别凭习惯写,常用查询先跑一遍荣码6 小时前
LangGraph多Agent协作:3个Agent干活比1个强,但我踩了4个坑用户83562907805121 小时前
Python 操作 PDF 附件:添加、查看与管理指南Databend1 天前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路宇宙之一粟1 天前
乐企版式文件生成平台学测绘的小杨2 天前
CompassFusion:一个从 GNSS 到 GNSS/INS 组合导航的独立工程包ClouGence2 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因zzzzzz3102 天前
当产品经理说这个很简单:我用Python自动化处理奇葩需求的实战指南雪隐2 天前
个人电脑玩AI-06让5060 Ti给你打工——不光能画画,Qwen3-TTS还能学人说话,连我老板都信了!