terça-feira, 26 de fevereiro de 2013

Oracle SHUTDOWN IMMEDIATE Travado!

SHUTDOWN IMMEDIATE Travado!


Problemas com travamento ao tentar fazer um SHUTDOWN IMMEDIATE.
Após algum tempo o PMON não consegue encerrar todas as conexões e a instância fica travada.

$sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Tue Feb 26 14:16:59 2013
Copyright (c) 1982, 2011, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown immediate;





No arquivo alert_<instancia>.log fica repetindo a mensagem:

SHUTDOWN: waiting for active calls to complete.
Tue Feb 26 14:52:06 2013


Sugestão para resolver no Linux:

Evitar matar os processos via SO.
 
Abrir outra sessão de terminal com usuário oracle.
entrar como sysdba
executar
  SHUTDOWN ABORT
  STARTUP RESTRICT
  SHUTDOWN NORMAL

$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Feb 26 14:51:52 2013
Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected.


SQL> conn / as sysdba
Connected to an idle instance.
 

SQL> shutdown abort;ORACLE instance shut down.
SQL>
SQL> startup restrictORACLE instance started.

Total System Global Area 1.7003E+10 bytes
Fixed Size                  2245352 bytes
Variable Size            8992591128 bytes
Database Buffers         7985954816 bytes
Redo Buffers               22159360 bytes
Database mounted.
Database opened.
 

SQL>
SQL> select status from v$instance;

STATUS
------------
OPEN

SQL>
SQL> shutdown normalDatabase closed.
Database dismounted.
ORACLE instance shut down.
 

Pronto. Agora a instância está encerrada e os processos Oracle no Servidor também.
Desse modo ao fazer o startup há um recover da instância, mas não há arquivos corrompidos.