各位达人,在服务器端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
请问达人,这个问题怎么解决?万分感谢!

解决方案 »

  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 =
      #(SERVER = DEDICATED)
      (SERVICE_NAME = orcl.localdomain)
      )
      )';
      

  2.   

    您好!我在客户端登录 orcl1后,执行了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)
      )
      )';
    然后执行Select *
    From dba_objects@MYDBLINK1报错 ORA-12154: TNS:could not resolve the connect identifier specified
    怎么办?
      

  3.   

    大致的看了一下 配置文件没有问题的情况下,应该是在你的liunx下的服务关闭了所以连接不上,或者你也可以tnsping一下你的服务器看能否ping通
      

  4.   


    您好,我在客户端上执行了如下命令>tnsping orcl1TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 19-APR-2
    012 11:29:42Copyright (c) 1997, 2010, Oracle.  All rights reserved.Used parameter files:
    E:\oracleclient11g\NETWORK\ADMIN\sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
    (HOST =191.168.1.124)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl.locald
    omain)))
    OK (30 msec)>tnsping orcl2TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 19-APR-2
    012 11:30:39Copyright (c) 1997, 2010, Oracle.  All rights reserved.Used parameter files:
    E:\oracleclient11g\NETWORK\ADMIN\sqlnet.ora
    Used TNSNAMES adapter to resolve the alias
    Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
    (HOST =191.168.1.102)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl.locald
    omain)))
    OK (30 msec)
    好像没有问题哎...
      

  5.   

    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)
      )
      )';
      

  6.   

    forgetsam,我对您的敬仰如滔滔江水呀!万分感谢!
      

  7.   

    http://hi.baidu.com/fendy520/blog/item/2c538a2fc53069311f30890a.html,
    可以看一下关于“ ORA-12541: TNS: no listener”的解答。