得看你的B机上的tnsnames.ora是怎么配的?B机上tnsnames.ora里的SERVICE_NAME=dbname.hostname,你试试这样行不行。

解决方案 »

  1.   

    请问楼上兄弟:SERVICE_NAME=dbname.hostname的作用是什么?
    如果A机的计算机名是ping ,那么是不是应该写成SERVICE_NAME=dbname.ping?tnsnames.ora:
    # TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\NETWORK\ADMIN\tnsnames.ora
    # Generated by Oracle configuration tools.10.10.10.36 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.36)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = orcl)
        )
      )10.10.10.67 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.67)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ebiz)
        )
      )10.189.62.34 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.189.62.34)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = EBIZ)
        )
      )10.189.62.33 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 10.189.62.33)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        )
      )
    #####下面的ping 是A机的计算机名。
      ora =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = ping)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ora)
        )
      )
      

  2.   

    如果是对等网,那么两台机器的IP要设为一个网端.
    一般来说,ping通了就可以了. 表示TCP协议通了
      

  3.   

    两台机器,设IP和不设IP我都试了。在网络可以互相访问的情况下,都提示TNS超时。
    在本机上连就没有这个问题。
    我数据库安装的是9.2版本,客户端安装的是9.0,这有没有影响呢。
      

  4.   

    在B机上,这样配置试试:
    test=
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = ping)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ebiz.ping)
        )
      )
    这里test就是连接的实例名,ebiz.ping是全局服务名。
    连接时是这样的:
    c:\>sqlplus /nolog
    SQL>conn sys@test as sysdba--------------------------------------------------------------------
    请问楼上兄弟:SERVICE_NAME=dbname.hostname的作用是什么?
    如果A机的计算机名是ping ,那么是不是应该写成SERVICE_NAME=dbname.ping?
    --------------------------------------------------------------------
    上面我说的dbname是数据库真正的sid,
    所以这里dbname.hostname=ebiz.ping
      

  5.   

    昨天晚上我又试了一下,两台机子是可以PING通的。而且把B机上的tnsnames.ora文件拷贝到A机上都可以连。但在B机上总是提示:TNS连接超时。
    zgh2003(世纪飞扬):今天晚上再按你说的,试一下!明天结贴。