如何使用dblink连接到Oracle的两个数据库

时间:2010-03-09 04:51:26

标签: oracle dblink

我想使用数据库链接,我首先将两个数据库的名称更改为sol1(远程)和sol3(本地),然后创建数据库链接

关于sol3

CREATE DATABASE LINK SOL1.SWORLD
CONNECT TO TEST IDENTIFIED BY TEST USING SOL1;

LINK CREATED
ON SQL /> SELECT *  FROM CAT@SOL1.WORLD

消息:

  

SQL无法解析服务名称

然后我删除了数据库链接并从Oracle企业架构管理器创建了一个链接 我创建了固定用户的公共链接。登录和密码后,我将服务标签中的名称添加为sol1

当我测试连接按摩时出现

  

链接未激活

2 个答案:

答案 0 :(得分:2)

我相信这是你问题的根源:

  

SQL无法解析服务名称

这表示SOL1不在tnsnames.ora中,该条目无效或某些网络连接问题阻止Oracle将服务名称转换为地址。

答案 1 :(得分:0)

确保您的tnsnames文件中有条目。

NAME (DESCRIPTION (ADDRESS_LIST (ADDRESS = (PROTOCOL = TCP 
)(HOST = host)(PORT = 1521)) 
) 
(CONNECT_DATA (SERVICE_NAME = NAME) 
) 
) 

您现在可以在任一方向创建链接。

create public database link "link name" 
connect to schemaname 
identified by " " 
using 'servicename(from tnsnames entry) 
; 

您的链接也可能是私密的。