ORA-12514在RAC下主因是服务未注册至SCAN监听器,根源于local_listener为空或指向localhost/物理IP而非本节点VIP,需逐级验证local_listener、remote_listener、SCAN监听状态及srvctl服务启用。
ORA-12514 在 RAC 环境下基本不是监听器没开,而是服务没注册到正确的监听端点——尤其是 local_listener 指向了空值、localhost 或非 VIP 地址时,SCAN 监听能通但实例级连接必报这个错。
这是 RAC 下 ORA-12514 最高频的根因。动态注册依赖 local_listener 显式告诉实例“该往哪个监听器上注册自己”。若它为空、指向 localhost、或指向物理 IP(而非 VIP),实例就只在本地监听器注册,SCAN 和远程客户端根本看不到它。
show parameter local_listener:若返回空值或 (HOST=localhost),立刻修正(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1-vip)(PORT=1521)))
ALTER SYSTEM SET local_listener='...' SID='racdb1';
remote_listener 控制实例向 SCAN 监听器广播服务的能力。它必须设为 SCAN 的完整域名(如 scan-cluster.example.com:1521),不能是 IP,也不能留空或设成本地监听地址。
show parameter remote_listener,检查值是否匹配 srvctl config scan 输出的 SCAN 名称ALTER SYSTEM SET remote_listener='scan-cluster.example.com:1521';
ALTER SYSTEM REGISTER;
lsnrctl status LISTENER_SCAN1(不是 LISTENER),看 Services Summary 里是否有你的服务名带 (DYNAMIC)
tnsping 或 JDBC 连接字符串中写的往往是 SCAN 名,但最终路由依赖 SCAN 监听器是否已收到并接纳了该服务。光有 LISTENER 运行正常不够,SCAN 监听器本身也得“认得”这个服务。
srvctl status scan_listener 确保 SCAN 监听器在运行lsnrctl status LISTENER_SCAN1(或 LISTENER_SCAN2/3)查看输出中的 Services Summarylocal_listener 和 remote_listener 配置、网络连通性(VIP ↔ SCAN IP)、以及防火墙是否放行 1521如果你用的是自定义服务(非默认 DB_NAME),比如通过 srvctl add service -d racdb -s reports -r racdb1,racdb2 添加的,那它不会自动注册进监听器——必须显式启动:
srvctl start service -d racdb -s reports
lsnrctl status LISTENER_SCAN1,该服务名应出现在 Services Summary 中srvctl status service -d racdb -s reports,常见失败原因是 PDB 未打开或服务未绑定到活动实例srvctl add service 后不 start,等于没加复杂点在于 RAC 的注册路径是“实例 → local_listener → remote_listener → SCAN 监听器”,四个环节任一断开都会导致 ORA-12514;而 lsnrctl status 默认只查本地 LISTENER,容易误判 SCAN 侧状态。最稳妥的做法是:先确认 SCAN 监听器进程和端口可达,再逐级验证注册链路,而不是一上来就 reload 或 restart 所有监听器。
Tplink企业版路由器WiFi名称的默认设置介绍(Tplink企业版路由器WiFi名称的默认设置是什么)
Tplink路由器灯常亮无法上网的原因分析(如何解决Tplink路由器灯常亮无法上网的问题)
Tplink千兆企业级路由器自动重启的作用和优势介绍(如何设置Tplink千兆企业级路由器自动重启功能)
一根天线的tplink路由器有哪些(一根天线的Tplink路由器的特点和优势介绍)
tplink路由器外网访问不了nas(Tplink路由器外网访问NAS的原因分析)
Tplink无法搜到路由器的原因分析(如何解决Tplink无法搜到路由器的问题)