端口冲突时需检查并释放占用端口,确保监听器名唯一、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助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。
相关推荐
安_11 小时前
如何构建和使用向量索引?HNSW 和 IVF 有什么区别?Super 含12 小时前
Android 启动优化(五):线程、GC 与 IO 为什么会拖慢启动?counting money12 小时前
Java IO流详解:从InputStream到文件操作实战ltl12 小时前
向量检索引擎选型:决策树、RAG 回链与开放问题坚持学习前端日记13 小时前
Python SQLAlchemy ORM 从0到1精通实战手册(基础到复杂高阶)灯澜忆梦13 小时前
【MySQL17】进阶篇 | InnoDB引擎北斗落凡尘13 小时前
LangGraph 入门实战(11)--输出模式anxiao_m13 小时前
2026制造业云桌面选型攻略,不同生产场景适配方案汇总许彰午13 小时前
# 数据库配拦截器,不用改BPMN雪碧聊技术14 小时前
安装Python(保姆级教程)