启动sqlplus时出现错误:ORA-12547, TNS失去联系

解决方案 »

  1.   

    TNS配置贴上来看看,监听启动了>?
    安装Oracle后,更改Windows计算机名,导致部分Oracle第三方工具,如:PLSQL 
    Developer无法登陆,并提示ORA-12541:TNS:no listener或ORA-12547:TNS:丢失联系等错误信息的解决方法。答:从Oracle的错误提示来看,是说TNS:no listener ,估计是某种服务没有启动,打开windows管理工具->服务,一看,有一个OracleOraHome90TNSListener这样的服务,和错误信息题是一致,基本就可以肯定是这个服务所引发的问题。再一看,该服务没有启动,遂手工启动,刷新后一看,该服务居然马上就自动关闭了。重试N次,结果一样。到Google搜索看看,没想到这还是一个普遍的问题,有一个人提出,把安装目录下的listener.ora打开察看。如:d:\oracle\ora90\network\admin\listener.ora。
    打开该配置文件后发现如下一段配置信息:
    LISTENER =
    (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
          )
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = local)(PORT = 1521))
          )
        )
    )当看到这一行HOST=local 的时候,问题解决了。原来是由于几天前装好Oracle后,又改了Windows的计算机名,而这个配置文件中记录的监听主机名还是原来的名称,这也就怪不得,OracleOraHome90TNSListener服务无法启动了,马上修改为现在的计算机名,再次启动OracleOraHome90TNSListener服务成功,PL/SQL Developer连接Oracle数据库成功,不能登陆故障排除。
      

  2.   

    增加 oracle环境变量TNS_ADMIN=oracle安装目录\product\10.2.0\client_1\NETWORK\ADMIN
      

  3.   

    原本呢,没有这样的错误“该服务没有启动,遂手工启动,刷新后一看,该服务居然马上就自动关闭了”。当我改了这个“HOST=local ”之后,就出现了这样的错误。
      

  4.   

    这是环境变量的问题吗,我昨天用的时候还好了,就是昨天我在dos中写了一句什么命令,今天用起来就这样了
      

  5.   

    HOST=localhostORhost=127.0.0.1
      

  6.   

    12547, 00000, "TNS:lost contact"
    // *Cause: Partner has unexpectedly gone away, usually during process
    // startup.
    // *Action: Investigate partner application for abnormal termination. On an
    // Interchange, this can happen if the machine is overloaded.启动下TNS就可以啦