日期:2014-05-17  浏览次数:20790 次

请教一个 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”的解答。