oracle无法访问DB链接

时间:2015-01-19 10:59:33

标签: database oracle11g sqlplus

我有一个指向远程oracle DB的数据库链接,其创建脚本为

Create Database Link "DB_LINK_NAME"
  CONNECT TO "SOURCE_SCHEMA" IDENTIFIED BY VALUES 'XXXXXX' USING 'DB00001';

但我尝试使用

访问数据库链接
select * from dual@DB_LINK_NAME 

我收到错误ORA-12154: TNS:could not resolve the connect identifier specified

我已成功完成tnsping'DB00001'

我在sqldeveloper和Sqlplus

中都尝试过

2 个答案:

答案 0 :(得分:0)

您需要将详细信息添加到本地 tnsnames.ora 文件。

例如,

DB00001 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL=TCP)(HOST=hostname)(PORT=port))
    (CONNECT_DATA = 
      (SERVER=DEDICATED)
      (SERVICE_NAME=service_name)
    )
  )

原因通常被描述为 -

  

请求使用与数据库或其他服务的连接              连接标识符,指定的连接标识符不能              使用其中一种命名方法解析为连接描述符              配置。例如,如果使用的连接标识符的类型是a              网络服务名称,然后在a中找不到网络服务名称              命名方法存储库,或者存储库不可能              位于或到达。

答案 1 :(得分:0)

我认为问题出在本地tnsnames.ora上。作为解决方法创建数据库链接如下:



Create Database Link "DB_LINK_NAME"
  CONNECT TO "SOURCE_SCHEMA" IDENTIFIED BY VALUES 'XXXXXX' USING '(DESCRIPTION =
    (ADDRESS = (PROTOCOL=TCP)(HOST=hostname)(PORT=port))
    (CONNECT_DATA = 
      (SERVER=DEDICATED)
      (SERVICE_NAME=service_name)
    )
  )';




让我知道它是怎么回事。