ORA-00494: enqueue [CF] hace que el banco de datos se caiga cuando LGWR obstaculiza enqueue

Problema

El banco de datos se calló.

Lo que fue encontrado en alert_SID.log
Mon Feb 24 14:35:49 2014
Errors in file /u01/app/oracle/diag/rdbms/oradb/oradb/trace/oradb_j002_30015710.trc  (incident=57308):
ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by ‘inst 1, osid 40304748’


Incident details in: /u01/app/oracle/diag/rdbms/oradb/oradb/incident/incdir_57308/oradb_j002_30015710_i57308.trc
Mon Feb 24 14:36:19 2014
Killing enqueue blocker (pid=40304748) on resource CF-00000000-00000000 by (pid=30015710)
 by killing session 294.1
Killing enqueue blocker (pid=40304748) on resource CF-00000000-00000000 by (pid=30015710)
 by terminating the process
USER (ospid: 30015710): terminating the instance due to error 2103

osid 40304748 es el proceso del LGWR (log writer)
El LGWR obstaculizó el proceso de enqueue por demasiado tiempo y el instante lo destruyó.

Solución

Se necesita el parámetro escondido _kill_enqueue_blocker=1.
Con el valor de 1,  los procesos de fondo no serán destruidos cuando obstaculicen al enqueue por demasiado tiempo.

sqlplus / as sysdba
SQL>ALTER SYSTEM SET “_kill_enqueue_blocker”=1 scope=spfile;

Después apague y prenda el instante.

Referencia

Doc ID 1457867.1  de Oracle support

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s