读书人

请问一个 database link 的有关问题。

发布时间: 2012-04-23 13:17:38 作者: rapoo

请教一个 database link 的问题。万分感谢!
各位达人,

在服务器端1 red hat enterprise 5.0上安装好了 oracle 11g, 并正常启动运行。

在服务器端2 red hat enterprise 5.0上安装好了 oracle 11g, 并正常启动运行。

在客户端 windows xp 上安装好了 oracle 客户端,并且配置好了 tnsnames.ora.

tnsnames.ora如下

------------------

# Generated by Oracle configuration tools.

ORCL1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =191.168.1.124)(PORT = 1521))
)
(CONNECT_DATA =
#(SERVER = DEDICATED)
(SERVICE_NAME = orcl.localdomain)
)
)

ORCL2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =191.168.1.102)(PORT = 1521))
)
(CONNECT_DATA =
#(SERVER = DEDICATED)
(SERVICE_NAME = orcl.localdomain)
)
)


-----------------
在客户端已经可以用 sqlplus 成功登录服务器端1 oracle 和 服务器端2 oracle.

现在在客户端登录服务器端1 oracle,然后建立到 服务器端2 oracle 的 database link.


create public database link MYDBLINK1
connect to orange identified by orange
using 'ORCL1';

查询
Select *
From dba_objects@MYDBLINK1

报错 ORA-12541: TNS: no listener


请问达人,这个问题怎么解决?

万分感谢!





[解决办法]

SQL code
create public database link MYDBLINK1    connect to orange identified by orange    using '(DESCRIPTION =  (ADDRESS_LIST =  (ADDRESS = (PROTOCOL = TCP)(HOST =191.168.1.102)(PORT = 1521))  )  (CONNECT_DATA =  #(SERVER = DEDICATED)  (SERVICE_NAME = orcl.localdomain)  )  )';
[解决办法]
大致的看了一下 配置文件没有问题的情况下,应该是在你的liunx下的服务关闭了所以连接不上,或者你也可以tnsping一下你的服务器看能否ping通
[解决办法]
create public database link MYDBLINK1
connect to orange identified by orange
using 'ORCL1';

这个方法不对,你要用A去link B,必须A能够识别ORCL1且指向B,你的ORCL1是在客户端上的,只有你的客户端和A在一台机器上才好使

具体办法用1楼的,把他里面#注释掉那行整个去掉 再不行就把这个字符串里面的空格回车什么空白字符删掉重新敲

create public database link MYDBLINK1
   connect to orange identified by orange
   using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =191.168.1.102)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl.localdomain)
)
)';
[解决办法]
http://hi.baidu.com/fendy520/blog/item/2c538a2fc53069311f30890a.html,
可以看一下关于“ ORA-12541: TNS: no listener”的解答。

读书人网 >oracle

热点推荐