One concern expressed by some about Oracle clusterware is how it does fencing. Some have expressed concern about the fact that it doesn’t use SCSI-3 reservations to implement IO fencing.At COLLABORATE 07 I spoke with an Oracle employee who works in Oracle RAC product-line about this topic. I was told that in part the decision was made to not use SCSI-3 because it isn’t needed and because requiring it, requires the use of higher-end (expensive) storage. When I asked how Oracle RAC could guard against corruption, I was told that what Oracle RAC does is sufficient to guard against database corruption and wouldn’t they be the best people to make that assessment?I pressed further and was told that no writes were going to happen unless the appropriate lock is held, and with Oracle RAC, even with split brain, that lock is going to be held by only one instance.That is hard for me to believe without seeing the code. What if no lock is held on a block before split brain and then each half of the “brain” requests a lock for the same block?I’ve worked on many RAC implementations that have used only Oracle clusterware and knock on wood… Time will tell. Would be nice to not need third-party integration.

