Oracle uses undo table spaces or rollback segments not just as its rollback mechanism, but also to provide support for different isolation levels; If you have a transaction, with isolation level RR, if you read a table with 5000 records, even if you choose 2 records, you lock 5000 records and may be it will be escalated to a table lock, in DB2. Oracle will use undo. For a simple rollback, log files will suffice, because each record has before and after a change INFO.