今天遇到一位网友,配置的dblink无法使用,报错:
ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME
其创建dblink的语句是:
create
public
database
link
nems
connect
to
heuser
identified
by
mypasswd
using
'
nems_123.456.78.99
'
;
其tnsnames.ora的配置是:
NEMS_123
.456.78.99
=
( DESCRIPTION =
( ADDRESS_LIST =
( ADDRESS = ( PROTOCOL = TCP )( HOST = 123.456.78.99 )( PORT = 1521 ))
)
( CONNECT_DATA =
( SERVER = DEDICATED )
( SERVICE_NAME = NEMS )
)
)
( DESCRIPTION =
( ADDRESS_LIST =
( ADDRESS = ( PROTOCOL = TCP )( HOST = 123.456.78.99 )( PORT = 1521 ))
)
( CONNECT_DATA =
( SERVER = DEDICATED )
( SERVICE_NAME = NEMS )
)
)
通过tnsping和sqlplus手工登录来进行检查,比较奇怪的是tnsping能ping通,但是用通过这个tns用sqlplus登录则报错:
[
oracle
@
buptnu
admin
]$
tnsping
nems_123
.456.78.99
TNS Ping Utility for Linux : Version 9.2.0.4.0 - Production on
TNS Ping Utility for Linux : Version 9.2.0.4.0 - Production on

本文介绍了在Oracle中遇到的一个DBLink使用问题,导致问题的原因是tnsnames.ora中的SERVICE_NAME配置与实际服务名不符。通过分析服务名、实例名和数据库名的区别,帮助读者理解这三者在Oracle数据库连接中的作用。解决方法是将tnsnames.ora中的SERVICE_NAME更改为正确的服务名,从而成功连接。
最低0.47元/天 解锁文章
3483

被折叠的 条评论
为什么被折叠?



