(CONNECT_DATA =
      (SERVICE_NAME = high)  --这里的high应该是你的数据库sid
    )

解决方案 »

  1.   

    dinya2003(OK) :
       high是数据库的sid.  
       用linux sqlplus不可以访问,但是另一台win2k sqlplus却可以访问。我想不用怀疑此命名服务配置有何问题。
      

  2.   

    确认windows2000 server安装了oracle 8.1.7 的实例名是不是high,PING 10.1.16.71 网络是否通,这个错误还是本地tnsnames.ora的设置的问题,把HOST = 10.1.16.71换为主机名试
      

  3.   

    把环境变量 TNS_ADMIN 设定为你这个tnsnames.ora所在的路径
      

  4.   

    另外确认sqlnet.ora中有:NAMES.DIRECTORY_PATH= (TNSNAMES)
    SERVICE_NAME和SID是两个完全不同的概念,如果用SID,应该是:(CONNECT_DATA =
          (SID = high)  
    )
      

  5.   

    各位兄弟:
        我的环境是这样的:
            两台PC分别装redhat7.3和window2000 server, 且都安装了oracle8.1.7企业服务器版.测试结果如下:
       1)从window2000 server通过sqlplus访问redhat7.3上的ORACLE是可以的。
       2)从redhat7.3上通过sqlplus访问window2000 server的ORACLE却不可以。
       3)从第3台PC(window2000 professional)通过sqlplus访问window2000 server的ORACLE是可以的。   另外SERVICE_NAME是8i以后版本用的,SID是低于8i版本用的
       谢谢!
      

  6.   

    不用测试,肯定可以互相访问,tns使用的是TCP/IP协议,跟操作系统没有关系
    《另外SERVICE_NAME是8i以后版本用的,SID是低于8i版本用的》  一知半解,8i以后仍然可以用SID。
      

  7.   

    drabit(square) :
       当然可以互相访问,但是问题在哪里,你指出来!
      

  8.   

    linux查找tnsnames。ora方法与windows是不同的Linux到两个地方查找
      /var/opt/oracle
      $ORACLE_HOME/network/admin你的那个tnsnames。ora在哪里?sqlnet。ora又在哪里?解决办法:
    1。将环境变量TNS_ADMIN设置成tnsnames.ora所在的路径。
    2。相同路径下的sqlnet。ora中一定要有
       NAMES.DIRECTORY_PATH= (TNSNAMES)
    不要说你不会设置环境变量
      

  9.   

    原因找到了:listener.ora中的HOST写成主机名了,改为IP(10.1.16.71)就可以了.drabit(square):
       不要误解我的意思,我叫你们测试,只是想比较一下我与你们的配置文件有何区别,并不是认为操作系统不可以互通。
      

  10.   

    请问listener.ora这个文件在哪儿啊,