我在处理dblink时 起先在我的电脑上测试的很好!!!TESTDV =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = testDV)
)
)REPORTDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = REPORTDB)
)
)建立dblink 也很正常
create database link dbvoice
connect to icd identified by icd
using 'voice';而且 查表也可以查出: select sysdate from dual@dbvoice;但是昨天晚上 部署版本的时候突然遇到问题了 我建立dblink显示已经成功了,但是在查询表的时候却报“ora-12154:tns无法处理服务器名”这样的错误。我那个连接的两个库 在两个不同的服务器上一个在 10.118.16.4上 一个在 10.118.16.11上查询了好多资料有的说
网址如下:http://topic.csdn.net/t/20040312/14/2836493.html“要在相应的数据库在服务器上建立相应的连接:
如A数据库在A1服务器上,B数据库在b1服务器上,如果要在A数据库中连接B数据库,则要在服务器A1上建立相应的tnsnames配置项如
a_to_b =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = a2服务器的IP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = b数据库的服务名) )
)
然后建立相应dblink
容易犯的错误是:
在自已的客户端的tnsname.ora中建立连接,而没有在A数据库所有的服务器A1的tnsname.ora中建立连接”可我那边的配置也都没有问题:如下YCWH =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.112.16.4)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ycwh)
)
)
VOICE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.112.16.4)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = VOICE)
)
)DEV =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.112.16.11)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DEV)
)
)
我自己在dev上建立的库
dblink如下:create database link dbvoice
connect to vvv identified by vvv
using 'voice';
create database link dbycwh
connect to ddd identified by ddd
using 'ycwh';然后查询:select sysdate from dual@dbycwh;或者 select sysdate from dual@dbvoice;但就是不成功!!!是不是 网络连接的问题?还是2台服务器之间的问题需要建立什么连接等?请高手赐教!!!
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = testDV)
)
)REPORTDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = REPORTDB)
)
)建立dblink 也很正常
create database link dbvoice
connect to icd identified by icd
using 'voice';而且 查表也可以查出: select sysdate from dual@dbvoice;但是昨天晚上 部署版本的时候突然遇到问题了 我建立dblink显示已经成功了,但是在查询表的时候却报“ora-12154:tns无法处理服务器名”这样的错误。我那个连接的两个库 在两个不同的服务器上一个在 10.118.16.4上 一个在 10.118.16.11上查询了好多资料有的说
网址如下:http://topic.csdn.net/t/20040312/14/2836493.html“要在相应的数据库在服务器上建立相应的连接:
如A数据库在A1服务器上,B数据库在b1服务器上,如果要在A数据库中连接B数据库,则要在服务器A1上建立相应的tnsnames配置项如
a_to_b =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = a2服务器的IP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = b数据库的服务名) )
)
然后建立相应dblink
容易犯的错误是:
在自已的客户端的tnsname.ora中建立连接,而没有在A数据库所有的服务器A1的tnsname.ora中建立连接”可我那边的配置也都没有问题:如下YCWH =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.112.16.4)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ycwh)
)
)
VOICE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.112.16.4)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = VOICE)
)
)DEV =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.112.16.11)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DEV)
)
)
我自己在dev上建立的库
dblink如下:create database link dbvoice
connect to vvv identified by vvv
using 'voice';
create database link dbycwh
connect to ddd identified by ddd
using 'ycwh';然后查询:select sysdate from dual@dbycwh;或者 select sysdate from dual@dbvoice;但就是不成功!!!是不是 网络连接的问题?还是2台服务器之间的问题需要建立什么连接等?请高手赐教!!!
connect to vvv identified by vvv
using 'voice';
create database link dbycwh
connect to ddd identified by ddd
using 'ycwh'; 你的vvv,ddd在哪里?上面可没看见!你要用服务名啊!这里用用户名什么意思吗?
2、在你的电脑上cmd后如入netca后根据提示建一个服务连接到目标服务器
3、再利用第二步建立的服务名做dblink连接到目标服务器。这是从你的电脑连接到数据库服务器的方法,如果要从数据库服务器连接到你的电脑,反向操作。大致就是这样了,照着做没问题的。
create database link mycc connect to mycc identified by mycc using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.99)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = testdb)))';select sysdate from dual@mycc