因oralce用户名被锁,本想在dos下进行sql进行解锁,
 sqlplus /nolog;
 connect / as sysdba;然而报错
SQL> conn sys/system as sysdba
ERROR:
ORA-12560: TNS:protocol adapter error
上网查过解决12560的方法,如下:
是TNS适配器错误
造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
1.监听服务没有起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。
2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID.
3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.以上三种方法一一试过,还是显示ORA-12560: TNS:protocol adapter error不知论坛高手可知如何处理?十分感谢

解决方案 »

  1.   

    lsnrctl status 看看监听状态
    lsnrctl start  启动监听
      

  2.   

    首先保证能tnsping IP能通
      

  3.   

    C:\Users\Administrator>lsnrctl statusLSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 22-7月 -2016 12:5
    5:29Copyright (c) 1991, 2010, Oracle.  All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
    ction
    启动日期                  22-7月 -2016 10:53:50
    正常运行时间              0 天 2 小时 1 分 38 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          D:\app\Administrator\product\11.2.0\dbhome_1\network\a
    dmin\listener.ora
    监听程序日志文件          d:\app\administrator\diag\tnslsnr\WIN-F71IM7QKSN2\list
    ener\alert\log.xml
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.3.4)(PORT=1521)))
    服务摘要..
    服务 "CLRExtProc" 包含 1 个实例。
      实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    服务 "DMCC" 包含 1 个实例。
      实例 "DMCC", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    命令执行成功C:\Users\Administrator>lsnrctl startLSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 22-7月 -2016 12:5
    6:00Copyright (c) 1991, 2010, Oracle.  All rights reserved.TNS-01106: 使用名称LISTENER的监听程序已经启动C:\Users\Administrator>
    -------------------------------
    C:\Users\Administrator>sqlplusSQL*Plus: Release 11.2.0.3.0 Production on Fri Jul 22 12:57:54 2016Copyright (c) 1982, 2011, Oracle.  All rights reserved.Enter user-name: system
    Enter password:
    ERROR:
    ORA-12560: TNS:protocol adapter error
    Enter user-name:
    试了您说的方法,好像还进不了我是在ORACLE本机上处理的,IP(192.168.3.4)能通
      

  4.   

    C:\>sqlplus "/as sysdba"
      

  5.   

    cmd下执行:sqlplus / as sysdba;然后alter user  username identified by  newpassword;
      

  6.   

    sqlplus / as sysdba; 
    这样还是报错么?
      

  7.   

    对的,还是报错
    C:\Users\Administrator>sqlplus "/as sysdba"SQL*Plus: Release 11.2.0.3.0 Production on Fri Jul 22 16:58:32 2016Copyright (c) 1982, 2011, Oracle.  All rights reserved.ERROR:
    ORA-12560: TNS:protocol adapter error
    Enter user-name: system
    Enter password:
    ERROR:
    ORA-12560: TNS:protocol adapter error
      

  8.   

    是不是安装了多实例?如果安装了多实例就指定一下ORACLE_SID环境变量,如果只一个实例,多半是装了几个客户端,看看自己的PATH指定的是哪个客户端的路径,基本是这个问题