本人的电脑曾经装过9i,但几乎没任何问题。今天想变为10g,变把所有9i的成功卸载了。也成功的装了10g.但遇到了个很奇怪的问题,就是我可以登陆本地的数据库,ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  );我可以通过ORCL 登陆是没有任何问题的。但同样,我如果想登陆远程数据库,则总是提示个错误,ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务。
    首先,别人的数据库服务器肯定没有问题,我可以用同事的pl/sql登陆。并且他们的tnsnames.ora,listener.ora,sqlnet.ora,sqlnet.ora这三个文件几乎和我一样。我配置都是通过net configuration asstiants配置的,也不行,实在不知道是怎么回事。看了别人很多文章,但和我还是不同,首先,他们好象连自己本地也连不上,但我这个不存在这个问题,我可以连上自己本地的,我就是连不上远程的。
   好象和网络也没什么关系,我在家和单位都不能远程登陆。
   请高手帮忙指教!!!

解决方案 »

  1.   

    还有,OracleDBConsoleorcl,OracleOraDb10g_home1TNSListener,OracleServiceORCL几乎服务我都启动了 
      

  2.   

    重建listner试试,别外没有防火墙的问题吧
      

  3.   

    “几乎”一样...
    你的tnsnames贴出来的是本机的实例,远程的那个呢?
    看下tnsnames和listener里面对应你要连接的远程服务器的配置
      

  4.   

    把别人的监听配置加入到你的文件tnsnames.ora 中,如下,把实例名改成远程的实例名,服务改成远程的服务
    (注意不要留空格)。
    红色是需要修改的地方ORCL = 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = (远程数据库ip地址))(PORT = 1521)) 
        ) 
        (CONNECT_DATA = 
          (SERVER = DEDICATED) 
          (SERVICE_NAME = orcl
        ) 
      );
      

  5.   

    说真的,我以前用9i很长时间了,远程连接我弄了很多个,我这个问题很复杂,主要是感觉不知道是不是在9i没有删除的情况下,装了10g,然后我又删除9i,可能产生了什么坏影象。应该不是什么网络ip的问题,也不是什么tnsnames.ora的问题,我现在是连接别人的数据库,listener.ora 根本没什么用处。再加上我本来就可以连接自己的数据库,listener.ora更不会有问题。
    我就是不知道为什么在不能远程连接?
      

  6.   

    你在安装的过程有什么错误提示吗?一般情况下在要是卸载oracle的话,只在应用程序列表中卸载时不够的,因为注册表里面还有很多残余的东西,这个可能会影响你10g的发挥,一种做法就是删除注册表里面相关的oracle9i的服务,还有就是重装系统,重新安装你的oralce(这只有没有办法的办法)。
      

  7.   

    贴出tnsnames.ora里面你远程连接的配置,就可以看除问题来了!
      

  8.   


    1. 指定的 ORACLE_HOME,ORACLE_SID 环境变量看看,因为你之前装过2个版本的, 环境变量可能有影响2. 检查TNSNAMES.ORA SID = 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = (远程数据库ip地址))(PORT = 1521)) 
        ) 
        (CONNECT_DATA = 
          (SERVER = DEDICATED) 
          (SERVICE_NAME = SID) 
        ) 
      )
    3. listenre 启动正常这3个如果都没问题的话,应该就能连上了..
      

  9.   

    你在注册表里面搜索一下TNS_ADMIN看看这个有没有错