系统:win7 64位 安装的是oracle xe11.2.0
connect sys/admin as sysdba 没有问题
connect sys/admin@XE as sysdba 提示 ORA-12518 TNS:监听程序无法分发客户机连接Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。C:\Windows\system32>sqlplus/nologSQL*Plus: Release 11.2.0.2.0 Production on 星期三 11月 14 22:19:26 2012Copyright (c) 1982, 2010, Oracle.  All rights reserved.SQL> connect sys/admin@XE as sysdba
ERROR:
ORA-12518: TNS: 监听程序无法分发客户机连接
SQL> connect sys/admin as sysdba
已连接。
SQL> show parameter processesNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes                      integer     0
db_writer_processes                  integer     1
gcs_server_processes                 integer     0
global_txn_processes                 integer     1
job_queue_processes                  integer     0
log_archive_max_processes            integer     4
processes                            integer     100
SQL> show parameter sessionsNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size           integer     0
java_soft_sessionspace_limit         integer     0
license_max_sessions                 integer     0
license_sessions_warning             integer     0
sessions                             integer     172
shared_server_sessions               integer
SQL> select count(*) from v$session;  COUNT(*)
----------
        19tnsnames.oraXE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) listener.oraSID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = E:\oraclexe\app\oracle\product\11.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = XE)
      (ORACLE_HOME = E:\oraclexe\app\oracle\product\11.2.0\server)  
      (PROGRAM = XE)
    )
  )LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
  )DEFAULT_SERVICE_LISTENER = (XE)
请问哪里需要修改?

解决方案 »

  1.   

    增大PROCESSES参数试试看,注意修改PROCESSES后需要重启数据库.
    alter system set PROCESSES=300 scope=spfile;
      

  2.   

    监听有问题吧。把监听重启一下44
    lsnrctl stop
    lsnrctl start
      

  3.   

    修改了PROCESSES参数并重启,还是不行。SQL> startup;
    ORACLE 例程已经启动。Total System Global Area 1071333376 bytes
    Fixed Size                  1388352 bytes
    Variable Size             620757184 bytes
    Database Buffers          444596224 bytes
    Redo Buffers                4591616 bytes
    数据库装载完毕。
    数据库已经打开。
    SQL> show parameter processesNAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    aq_tm_processes                      integer     0
    db_writer_processes                  integer     1
    gcs_server_processes                 integer     0
    global_txn_processes                 integer     1
    job_queue_processes                  integer     0
    log_archive_max_processes            integer     4
    processes                            integer     300
    SQL> connect sys/admin@XE as sysdba
    ERROR:
    ORA-12518: TNS: 监听程序无法分发客户机连接
    警告: 您不再连接到 ORACLE。
      

  4.   

    学习一下,弱弱的问一句:session 也要查一查吧
    查进程数 SQL> select count(*) from v$session;   
    1.connect sys/test as sysdba 
    2.show parameters dispatchers; 
    NAME                TYPE             VALUE 
    dispatchers         string           (protocol=tcp)(service=oracle10xdb) max_dispatchers      integer   
    3.SQL>alter system set dispatchers = '(protocol=tcp)(dispatchers=3(service=oracle10xdb)'; 
      

  5.   

    监听和TNS配置有问题,删除所有监听和TNS配置文件后用NETCA工具配置并且测试
      

  6.   

    请问具体要删除哪几个文件,另外XE怎么运行NETCA?