服务名、实例名和数据库名

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天遇到一位网友,配置的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 )
    
)
  
)

通过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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值