GPO ( Grupo de Profissionais Oracle )
A maior comunidade Oracle do Brasil !

Como entrar no Oracle com ORA-00020: maximum number of processes (25) exceeded

Reiniciar não é a única opção (derrubar sessões também é uma opção, mas você pode apenas mascarar o problema real), você ainda pode colocar uma sessão (a que você suspeita que esteja em LOOP, por exemplo) em modo TRACE, por exemplo.

Isto é possível através da opção prelim do SQL*Plus (utilizando um cliente 10gR1 ou superior). Como você não tem uma sessão, e sim apenas um processo, não pode pesquisar as VIEWs, mas todos os comandos do oradebug, por exemplo (que só precisa de um processo) funcionam perfeitamente.

[oracle@CentOS5 ~]$ sqlplus / AS SYSDBA
 SQL*Plus: Release 11.2.0.2.0 Production on Sun Feb 20 07:08:20 2011
 Copyright (c) 1982, 2010, Oracle.  All rights reserved.
 ERROR:
 ORA-00020: maximum number of processes (25) exceeded
 Enter user-name: / as sysdba
 ERROR:
 ORA-00020: maximum number of processes (25) exceeded
 Enter user-name: / AS SYSDBA
 ERROR:
 ORA-00020: maximum number of processes (25) exceeded
 SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
 [oracle@CentOS5 ~]$ sqlplus -prelim / AS SYSDBA
 SQL*Plus: Release 11.2.0.2.0 Production on Sun Feb 20 07:09:01 2011
 Copyright (c) 1982, 2010, Oracle.  All rights reserved.
 SQL> SELECT COUNT(*) FROM V$PROCESS;
 SELECT COUNT(*) FROM V$PROCESS
 *
 ERROR at line 1:
 ORA-01012: not logged on
 Process ID: 0
 Session ID: 0 Serial number: 0
 SQL> !ps aux | grep ORCL
 oracle   24199  0.2  0.7 696048 16096 ?        Ss   07:06   0:00 ora_pmon_ORCL
 oracle   24201  0.2  0.6 695216 13868 ?        Ss   07:06   0:00 ora_psp0_ORCL
 oracle   24203  5.9  0.6 695216 13800 ?        Ss   07:06   0:12 ora_vktm_ORCL
 oracle   24207  0.1  0.6 695216 13872 ?        Ss   07:06   0:00 ora_gen0_ORCL
 oracle   24209  0.1  0.6 695216 13740 ?        Ss   07:06   0:00 ora_diag_ORCL
 oracle   24211  0.2  1.0 695216 20920 ?        Ss   07:06   0:00 ora_dbrm_ORCL
 oracle   24213  0.1  0.7 695216 14580 ?        Ss   07:06   0:00 ora_dia0_ORCL
 oracle   24215  2.3  0.9 695216 19532 ?        Ss   07:06   0:04 ora_mman_ORCL
 oracle   24217  0.2  0.9 699756 19648 ?        Ss   07:06   0:00 ora_dbw0_ORCL
 oracle   24219  0.2  1.7 710768 36432 ?        Ss   07:06   0:00 ora_lgwr_ORCL
 oracle   24221  0.2  0.7 695216 15024 ?        Ss   07:06   0:00 ora_ckpt_ORCL
 oracle   24223  0.2  1.3 695216 27348 ?        Ss   07:06   0:00 ora_smon_ORCL
 oracle   24225  0.1  0.9 695216 19656 ?        Ss   07:06   0:00 ora_reco_ORCL
 oracle   24227  0.8  2.4 698132 49908 ?        Ss   07:06   0:01 ora_mmon_ORCL
 oracle   24229  0.2  0.7 695216 16368 ?        Ss   07:06   0:00 ora_mmnl_ORCL
 oracle   24231  0.1  0.6 696104 13844 ?        Ss   07:06   0:00 ora_d000_ORCL
 oracle   24233  0.1  0.6 695248 13048 ?        Ss   07:06   0:00 ora_s000_ORCL
 oracle   24281  0.1  1.8 718960 38108 ?        Ss   07:07   0:00 ora_arc0_ORCL
 oracle   24283  0.2  2.2 727152 46808 ?        Ss   07:07   0:00 ora_arc1_ORCL
 oracle   24285  0.1  1.8 718960 38156 ?        Ss   07:07   0:00 ora_arc2_ORCL
 oracle   24287  0.1  1.8 718960 37900 ?        Ss   07:07   0:00 ora_arc3_ORCL
 oracle   24289 65.1  0.7 695252 15364 ?        Rs   07:07   2:01 ora_qmnc_ORCL
 oracle   24293  0.3  1.2 695740 26476 ?        Ss   07:08   0:00 ora_q000_ORCL
 oracle   24303  0.2  0.5 694948 11680 ?        Ss   07:09   0:00 oracleORCL (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
 oracle   24308  0.0  0.0   4576   968 pts/0    S+   07:10   0:00 /bin/bash -c ps aux | grep ORCL
 oracle   24310  0.0  0.0   4004   664 pts/0    R+   07:10   0:00 grep ORCL
 SQL> oradebug setospid 24217
 Oracle pid: 10, Unix process pid: 24217, image: oracle@CentOS5.localdomain (DBW0)
 SQL> oradebug tracefile_name
 /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_dbw0_24217.trc
 SQL> oradebug unlimit;
 Statement processed.
 SQL> oradebug event 10046 trace name context forever, level 12
 Statement processed.
 SQL> !tail /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/ORCL_dbw0_24217.trc
 WAIT #0: nam='rdbms ipc message' ela= 1119317 timeout=300 p2=0 p3=0 obj#=-1 tim=1298196713388468
 *** 2011-02-20 07:11:55.276
 WAIT #0: nam='rdbms ipc message' ela= 1887052 timeout=188 p2=0 p3=0 obj#=-1 tim=1298196715275854
 *** 2011-02-20 07:11:58.279
 WAIT #0: nam='rdbms ipc message' ela= 3001340 timeout=300 p2=0 p3=0 obj#=-1 tim=1298196718279168
 *** 2011-02-20 07:12:01.289
 WAIT #0: nam='rdbms ipc message' ela= 3005818 timeout=300 p2=0 p3=0 obj#=-1 tim=1298196721289138
 SQL>
Share

You may also like...

4 Responses

  1. Hugo Torralbo disse:

    Muito bom, esse cenário ocorre em vários ambientes!
    Segue uma observação também para evitar o estouro de sessions. Configurando os parâmetros abaixo, você evitaria o erro.

    license_max_sessions
    license_sessions_warning

    Abraços

  2. Boa dica, Hugão !
    Valeu e grande abraço !!!

  3. Sandro Costa da Silva disse:

    Portilho,

    Estou enfrentando o mesmo problema com a versão 11gR2 e testei o exemplo acima, mas persiste sem acesso.
    Poderia(m) postar algo, que venha me ajudar a resolver o problema?
    Obrigado.

  4. Opa, tudo bem?
    Voce não pode matar alguma outra sessao ou reiniciar a instancia?

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *