今天装了个VMware+linux,完了发现plsql不能登录了,报错ora-12514:TNS:监听程序当前无法识别连接描述附中请求的服务。装虚拟机之前没出过这问题,tnsname.ora配置也是正确的。    求教这什么原因?怎么解决?谢谢各位!

解决方案 »

  1.   

    oracle的服务是开启的,也可以连其他服务器的库,就是不能连本机服务。我的tnsnames:KKXDB_LOCAL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = kkxdb)
        )
      )
      

  2.   

    本机可以不使用listener.ora直接连接的。确认你的数据库服务已经启动。
    能连接其它数据库并不表明你的本机的服务已开启。
    查看一下监听中的注册的服务。
    lsnrctl status如果服务开启,监听中发现服务未注册。可以手动注册
    sqlplus / as sysdba
    alter system register;
      

  3.   

    估计是ip有可能变动了。。
    通过工具重建一下监听和tns吧。
      

  4.   

    刚把VMware卸掉,plsql就可以登录了。卸载之前,我确定本机oracle服务是开启的。打算晚上再把VMware重装一遍试试。还有请教下4楼huangdh:为什么ip变动就要重建监听和tns?我全设的localhost,也会受ip影响么?
      

  5.   

    虚拟机也有IP的,和电脑名称的,可能你的TNS种的电脑名称和虚拟一样的
      

  6.   

    我也觉得可能是VMware的一些设置和windows产生了冲突,不知道具体要做些什么。请教6楼逍遥碧海:如果是你说的这种情况,可不可以把VMware的主机名、ip改掉来避免这个问题呢?具体怎么改可以说一下么?
      

  7.   

    昨天把VMware卸了,今天又装了一遍,结果一切正常,晕啊,还是不可重现的!不过和昨天不同的是:今天没有从头装linux,直接用昨天建好的vmx启动的,不知道是什么原因?