windows7 32bit+oracle 11g
数据库服务和侦听器服务已经启动:lsnrctl status的输出如下:
LSNRCTL for 32-bit Windows: Version 11.2.0.1.0 - Production on 15-12月-2011 11:0
7:57Copyright (c) 1991, 2010, Oracle.  All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Produ
ction
启动日期                  15-12月-2011 10:45:29
正常运行时间              0 天 0 小时 22 分 28 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          C:\oracle\product\11.2.0\dbhome_1\network\admin\listen
er.ora
监听程序日志文件          c:\oracle\diag\tnslsnr\ad999\listener\alert\log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ad999)(PORT=1521)))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
  实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个实例。
  实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
服务 "orclXDB" 包含 1 个实例。
  实例 "orcl", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功sqlnet.ora文件如下:
SQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)listener.ora文件如下:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\oracle\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = AD999)(PORT = 1521))
    )
  )ADR_BASE_LISTENER = C:\oracle
tnsnames.ora文件如下:
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = AD999)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )
tnsping测试正常:
TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 15-12月-
2011 11:11:23Copyright (c) 1997, 2010, Oracle.  All rights reserved.已使用的参数文件:
C:\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = AD999
)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = ORCL)))
OK (30 毫秒)但无法用scott用户登录:
C:\Users\ask>sqlplus scott/1111111@orclSQL*Plus: Release 11.2.0.1.0 Production on 星期四 12月 15 11:11:42 2011Copyright (c) 1982, 2010, Oracle.  All rights reserved.ERROR:
ORA-12154: TNS: 无法解析指定的连接标识符
请输入用户名:scott用户经测试能正常登录查询:
SQL> conn scott/1111111
已连接。
SQL> select * from dept;    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
windows7上的防火墙关闭也试过,故障现象一样。why?

解决方案 »

  1.   

    端口侦听正常:C:\>netstat -an活动连接  协议  本地地址          外部地址        状态
      TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
      TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
      TCP    0.0.0.0:843            0.0.0.0:0              LISTENING
      TCP    0.0.0.0:1521           0.0.0.0:0              LISTENING
      TCP    0.0.0.0:1688           0.0.0.0:0              LISTENING
      TCP    0.0.0.0:4466           0.0.0.0:0              LISTENING
      TCP    0.0.0.0:8909           0.0.0.0:0              LISTENING
      TCP    0.0.0.0:49152          0.0.0.0:0              LISTENING
      

  2.   

    怎么你oracle都用了N年了还是这么菜,虽然折腾了一个上午也应该想想是不是因为上午刚装了ODTwithODAC的原因。
    product\11.2.0\dbhome_1\network\admin\下的xxx文件拷到product\11.2.0\client_1\network\admin\下就OK了,下次再问这种弱智问题就去死吧。
      

  3.   

    请参考这篇博文:http://blog.csdn.net/luiseradl/article/details/7064916
      

  4.   

    把listener.ora文件中SID_NAME行各位如下:
      (SID_NAME = ORCL)
      

  5.   

    windows7 32bit +oracle 真是个杯具,上次帮朋友处理了一天,刚开始是因为某些安装组件出了问题,也出了这样的问题,重新卸载干净,要兼容模式安装,安装完就可以了,什么都可以连接了,TOAD就是不能连接,最后没有时间,叫他重新安装最新版的TOAD,也补知道解决了没有,至少SQL DEVELOP了可以用了