先装oracle 10g后装11g express版本,以前用过都是可以cmd连接的。
用sql developer都是可以连接10g的,但是cmd就是不行。
下面是分别连接10g跟11g express。10g服务名是orcl,11g是xe。>sqlplus mms/mms@orclSQL*Plus: Release 11.2.0.2.0 Production on 星期一 5月 21 14:47:01 2012Copyright (c) 1982, 2010, Oracle.  All rights reserved.ERROR:
ORA-12154: TNS: 无法解析指定的连接标识符
>sqlplus MMS/MMS@xeSQL*Plus: Release 11.2.0.2.0 Production on 星期一 5月 21 14:48:14 2012Copyright (c) 1982, 2010, Oracle.  All rights reserved.
连接到:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - ProductionSQL>

解决方案 »

  1.   

    在进入sqlplus前用命令规范SID
    export ORACLE_SID=orcl或
    export ORACLE_SID=xe
      

  2.   

    sqlplus mms/mms@orclSQL*Plus: Release 11.2.0.2.0 Production on 星期一 5月 21 14:47:01 2012Copyright (c) 1982, 2010, Oracle. All rights reserved.ERROR:
    ORA-12154: TNS: 无法解析指定的连接标识符====================
    这叫连接10G ?连接10g前  set path= 10g的bin目录
      

  3.   

    命令规范应该是set oracle_sid=orcl吧?不过这样也是不行的。连接数据库字符串上已经说明是哪个了,但是你看命令行,我连接的是10g的orcl,但是还是SQL*Plus: Release 11.2.0.2.0 Production on 星期一 5月 21 14:47:01 2012,这是oracle 11g。肯定就连接不上了怎么让他知道这里连接的是10g而不是11g??
      

  4.   


    'sqlplus' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
    我蛋疼,按你输的命令输入后,我输入sqlplus就成这了我的环境都没了在我的电脑里重新配置上,还是无效的sqlplus。问题大发了!!
      

  5.   

    我输入的命令是:set path = D:\oracle\product\10.2.0\db_1\BIN
      

  6.   


    你敲sqlplus等于执行path里的目录中的sqlplus.exe  敲exp相当于执行path里的目录中的exp.exe 
    这两个exe都是在一起的。
    你出错就证明一个简单的事,你的环境变量根本就不对。重新set个环境变量是大问题?
      

  7.   

    SQL*Plus: Release 11.2.0.2.0 Production on 星期一 5月 21 14:47:01 2012
     你看看上面这一句,明明用的是11G下的tnsname,这个文件里看看有没有连接10G的连接字符串,你装上11G后,对应默认的路径被修改了。
      

  8.   


    威武!!!哥们我搞懂了。。我知道是这个环境变量有问题,但是我看了的,两个都有,一前一后,然后我把10g的弄前面,再在配置里面修改了下,OK,华丽丽的10g上场了!但是11g休息了。。
    好吧我已经调好了,配置发出来,还有指一个小招数,就是,10g和11g里面的sqlplus.exe分别命名sqlplus10.exe和sqlplus11.exe来区分就OK了!!而且,重新配置下监听,两个可以用同一个监听。。下面是listener.ora文件:
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (GLOBAL_DBNAME = ORCL)
          (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
          (SID_NAME = ORCL)
        )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = cyg-gxr1314)(PORT = 1521))
        )
      )DEFAULT_SERVICE_LISTENER = (ORCL)tnsnames.ora文件:
    ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.253)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ORCL)
        )
      )EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )总之谢谢兄弟们了,昨天我已经解决了,威武!~
      

  9.   

    1L擦边,2L发现问题,6L点名要害,7L是1L与2L的合体。
      

  10.   

    真正的问题不单单是连接的问题(11G配个10G的服务命名也可以连,用其他服务器也可以),我遇到的问题是数据导出cmd里直接输入exp..命令  调用的是11G的sqlplus  
    11G的客户端导出10G会报错的:
    EXP-00008: 遇到 ORACLE 错误 904
    ORA-00904: "MAXSIZE": 标识符无效真正解决问题的是2楼,5楼(完整)
    cmd里进去后先执行set path = D:\oracle\product\10.2.0\db_1\BIN,再执行连接或导出语句