Almost immediately after posting my last comment on SMU, I noticed that the TAR for the original corruption issue has been updated with a root cause
Oracle Development has found the root cause of the corruption problem which crippled your database. They have reproduced the problem on an in-house database, thereby confirming the problem and getting the identical results as you experienced on your database. The problem occurs when an undo segment is being transitioned from an ‘offline’ status to an ‘online’ status by a foreground process while the SMON process is doing its regular undo segment maintenance. A small timing window exists when the foreground process releases the latch covering the undo segment and SMON picks up that undo segment and changes the undo segment’s status to ‘invalid’ and releases its space. The foreground process reacquires the latch without rechecking the undo segment’s status field.This problem is fixed in 9.2.0.5 as that piece of code was rewritten to eliminate the timing window.
Fascinating stuff. I’m pleased that Oracle development have been able to confirm what happened to us, otherwise it might have seemed as though I was crying wolf. The lesson is to be wary of SMU if your server version < 9.2.0.5