ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA ORACLE 报错 故障修复 远程处理

文档解释

ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA

Cause: The listener was not configured with a default service and SERVICE_NAME was missing from the CONNECT_DATA received by the listener.

Action: Possible solutions are:
– Configure DEFAULT_SERVICE parameter in LISTENER.ORA with a valid service name. Reload the listener parameter file using reload []. This should be done by the LISTENER administrator.
– If using a service name, Check that the connect descriptor corresponding to the service name in TNSNAMES.ORA has a SERVICE_NAME or SID component in the CONNECT_DATA.

官方解释

ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA

翻译为:TNS侦听器未获得CONNECT_DATA中的SERVICE_NAME参数。

常见案例

当你尝试连接Oracle时,会发生此错误的常见案例有:

1. 给定错误的连接字符串;

2. 因为防火墙未配置正确而导致节点之间连接失败;

3. 连接字符串中使用的服务名称和TNS Listener上面定义的服务名称不一致;

4. TNS Listener已停止,导致连接被拒绝;

5. Oracle客户端配置项未正确配置。

正常处理方法及步骤

要正确处理此错误,请按照如下步骤操作:

1. 确保使用正确的TNS连接字符串,此字符串应作为参数传递给connect函数:

username@tns_alias

2. 确保两台服务器之间的网络功能正常。 如果你使用不同的网络,确保它们可以正常通信。 如果你使用VPN网络,确保VPN网络正常启动,并且数据库服务器上的数据库已正确设置;

3. 确保TNS Listener服务已启动,并且使用与给定连接字符串匹配的服务名称;

4. 确保Oracle客户端以正确的方式安装,配置,并更新。


数据运维技术 » ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA ORACLE 报错 故障修复 远程处理