还有,我说的tnsnames.ora的配置你在你的数据库的server端,
简单说:
数据库a建立到数据库b的db_link
必须在数据库a的server端的tnsnames.ora里面配置数据库b的连接串。
而不是在你的client端配置了数据库b的连接串db_link就好使了。
-------------------------------------------------------------------
我只是在客户端配置了连接串。会不会是这个原因可是我又进不了服务端。郁闷
简单说:
数据库a建立到数据库b的db_link
必须在数据库a的server端的tnsnames.ora里面配置数据库b的连接串。
而不是在你的client端配置了数据库b的连接串db_link就好使了。
-------------------------------------------------------------------
我只是在客户端配置了连接串。会不会是这个原因可是我又进不了服务端。郁闷
检查global_names设置:
SQL>SHOW PARAMETER GLOBAL_NAMES
修改:
SQL>alter system set global_names=true scope=both;
connect to username identified by "password"
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = rbdb)
)
)';
问题解决了。这种创建方式是没有问题的。只是我这里一直报错 TIMEOUT.又百度了一会,突然想起来需要连接的服务端是要开VPN才能连接的,我本机开了VPN通过client就可以访问,但是服务端没有开VPN,本地通过PLSQL连接啥的都正常,但是创建了DBLINK后就不正常了,一直连接超时。然后就通过反过来做,在需要VPN的服务端去创建DBLINK解决。汗。。
connect to username identified by "password"
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = rbdb)
)
)';
问题解决了。这种创建方式是没有问题的。只是我这里一直报错 TIMEOUT.又百度了一会,突然想起来需要连接的服务端是要开VPN才能连接的,我本机开了VPN通过client就可以访问,但是服务端没有开VPN,本地通过PLSQL连接啥的都正常,但是创建了DBLINK后就不正常了,一直连接超时。然后就通过反过来做,在需要VPN的服务端去创建DBLINK解决。汗。。