Thanks all for your responses.

Just to clarify, PANDO you wrote

"RBS and that's what I have been trying to say in the beginning

Oracle reads redo log and RBS, then use redo to rebuild RBS and read RBS again. RBS are just data, they are flushed to disk by checkpoints as well and checkpoints will ensure you that the redo log which protects the undo can be overwritten (the dirty RBS data is flushed to disk)"

I understand that this is the case, and that Oracle will rebuild the RBS along with the datablock from the REDO.

My actual question was that if this REDO was in a log that has been overwritten and the dirty block and RBS from the transaction has been written to the datafiles (due to checkpointing or normal DBWR activity)

During instance recovery the actual REDO to recreate the datablock and RBS is no longer there (because it's overwritten and not in ARCHIVELOG mode)

How does oracle know to roll the transaction back? - I know the data to perform the rollback is in the datafiles (just normal oracle blocks) but the record of the transaction is not in the REDO.

I know that it works and that there is no problem with it, I'm just not sure from where Oracle decides that this transaction is to be rolled back - keeping in mind that the REDO has been overwritten.

I think that from other responses that the existence of the transaction in the RBS implies that it is to be rolled back, is this the case?

Kind and grateful regards

Alison