在host1上创建link 到host2:在host1上配置tnsnames.ora:HQ =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = host2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = oracle)
    )
  )
  
  
  SQL> create database link dblink connect to user1 identified by user1 using 'HQ';
  
  SQL> connect user1/user1@hq
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

解决方案 »

  1.   

    tnsping HQ,看看是否连通。
      

  2.   

    把 listener.ora 内容贴上来看看 
      

  3.   

    lsnrctl  status;
    查看监听状态。
      

  4.   


       服务器的计算机名称是:host2 吗?
      

  5.   

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = oracle)
          (ORACLE_HOME = /tellin/oracle/app/product/11.1.0/db_1)
          (SID_NAME = oracle)
        )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = host1)(PORT = 1521))
        )
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )
      

  6.   

    tnsping hq查看HQ是否能连通吧
      

  7.   

    直接连接hq试一下吧,
    如果还是这样提示的话,
    表示host2的监听中没有注册oracle服务名