数据库链接-测试连接不起作用

时间:2019-06-17 21:30:47

标签: oracle

我有两个数据库,它们的表具有相同的架构。我想比较两个表。我了解到跨数据库查询需要数据库链接。

我使用SQL Developer,这是有效的连接属性

Connection Name: MyConn
UserName:SomeUser
password:SomePassword
Connection Type: Basic
Role: default
Host Name: 12.12.12.12
port:2521
SID: xe

我厌倦了创建数据库链接的命令

CREATE DATABASE LINK MyDBLink
  CONNECT TO SomeUser
  IDENTIFIED BY "SomePassword" 
  USING '(DESCRIPTION=
  (ADDRESS=(PROTOCOL=TCP)(HOST=12.12.12.12)(PORT=2521))
  (CONNECT_DATA=(SID=xe)))';

该命令创建了一个链接,但是当我尝试测试该链接时,该连接不起作用。连接超时60秒。

我想念什么吗?

2 个答案:

答案 0 :(得分:0)

数据库链接位于两个数据库之间,而不是从本地sqldeveloper /客户端“传出”。

因此,即使您可以从本地客户端访问远程数据库,在其上创建链接的远程数据库服务器也可能(在这种情况下确实)没有到达数据库链接的目标。

无论远程数据库是否可访问或凭据是否正确,数据库链接本身都是创建的。

如果有可能,您应该直接登录创建链接的数据库的数据库服务器,并检查与您要从那里访问的数据库服务器的网络连接。使用telnet可能会对您有所帮助。

答案 1 :(得分:0)

最好的解决方案是查看网络或操作系统,并打开两台服务器之间的路径,然后数据库链接应该起作用。如果不可能,则可以将台式机用作代理。

解决网络问题的官方方法是使用ISO 8601,但是根据我的经验,该程序很难配置。

另一个选择是在桌面上创建一个数据库,并为每个服务器创建两个数据库链接。如果此桌面数据库仅用于链接到其他数据库,则免费的Express Edition应该足够好。如果沿着这条路线走,请在涉及3个数据库时注意性能问题。您可能要比较散列而不是实际数据,以避免网络问题。