今天在winxp上做了一个试验,使用sqlplus启动数据库时,出现错误,如下:sqlplus /nolog
connect / as sysdba;此时报错提示:error:ora-12560:TNS:协议适配器错误检查ORACLE_SID设置正确,使用echo %ORACLE_SID%,输出正确。请教这是什么原因导致的?

解决方案 »

  1.   

    lsnrctl start
    启动listener
      

  2.   

    在计算机服务里查看下:OracleOraDb%TNSListener类似的服务有没有启动
      

  3.   

    tnsping 一下你的服务名,看看能不能ping通一般应该是监听的问题,lsnrclt reload看看监听是静态注册还是动态注册?
      

  4.   

    确定监听没有任何问题,tnsping都可以,或者直接启动实例也可以正常连接,只是在connect / as sysdba; 时提示错误
      

  5.   


    tnsping 正常只是表示监听服务正常启动了而已,并不表示监听服务中配置的sid等信息正确,检查listener.ora文件中的sid配置
      

  6.   

    可以是Oracle服务没有启动,打开服务,看看Oracleservice%ORACLE_SID%服务的状态。
      

  7.   

    要想启动实例的前提是启动服务,服务不启动就会出现错误:此时报错提示:error:ora-12560:TNS:协议适配器错误我明白你的意思,你可以到注册表中找到HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1\ORA_%ORACLE_SID%_AUTOSTART,把这个键值改为FALSE,这样服务启动后就不会启动数据库了,你可以用sqlplus / as sysdba连接到实例手工启动。
      

  8.   

    谢谢zcs_1 ,问题已经解决,我已经搞明白了