How to kill RAC using the db_files parameter?


Once upon a time Le Petit Chaperon Rouge (LPCR) decided to change db_files from 200 to 300 on a busy cluster of four nodes.

Soon after the change applications started to block each other, timeout and crash (enq: TX - contention, cursor: pin S wait on X, enq: HW - contention). Those applications which were actively inserting into LOB columns - suffered the most.

Many lock holders were waiting for "DFS lock handle". Thus LPCR learned that DFS stands for "Distributed File System".

As soon as she reversed the changes - everything went back to normal.


The "DFS lock handle" wait points to problems with the file systems.
Well bred young DBAs should never change the db_files parameter recklessly.
Or they may provide dinner for a wolf.