Friday, June 17, 2011

ORA-00494: enqueue [CF] held for too long

There was a high load at the Linux (RHAS4) due to the backups of three 11.1.0.6 databases going on simultaneously. So much was the load, that server became unresponsive, and then one of the instances crashed with the following error in the alert log file:

Fri Jun 17 02:20:26 2011
System State dumped to trace file

/u01/app/oracle/admin/orcl/bdump/orcl_lgwr_1.trc
Killing enqueue blocker (pid=191) on resource

CF-00000000-00000000 by killing session 56.1

Found a metalink note: ID 779552.1


This note states about kill blocker interface, a mechanism through which Oracle kills any blocking process during high loads. If that blocking process is background process, then the instances crashes too. Oracle prefers crashing the instance, instead of a hang situation. This behavior can be override in two ways. Both ways take help of hidden parameters. In one case, kill blocker interface can be disabled altogether and in the other case, kill blocker interface can be prevented from killing background processes.

So at the time of this instance crash, there was very high load at the server due to RMAN backups, and so that is why the kill blocker interface killed the background process and so the instance crashed. 

No comments: