DBMS 如何利用撤销缓冲区和重做日志文件来恢复对数据库所做的更改?

How does DBMS utilize undo buffer and redo log files to recover changes made to the database?

DBMS 如何利用撤消缓冲区和重做日志文件来恢复对数据库所做的更改?

例如在 Oracle 上, 重做日志文件记录由于事务和内部 Oracle 服务器操作而对数据库所做的更改。并且这些文件保护数据库不会因为断电、磁盘故障等引起的系统故障而失去完整性。 另一方面,Undo存储在buffer cache中,可以是undotable-space的形式。 撤消 table-space 是特殊的 table-space ,仅用于存储撤消信息。 每个数据库包含零个或多个撤消 table-spaces。撤消记录用于在发出 ROLLBACK 语句时回滚事务并恢复数据库。

来源:https://oraclenz.wordpress.com/2008/06/22/differences-between-undo-and-redo/