首页 >

数据库的redo与undo分别是什么呀 – 数据库 – 前端|

ai 透视网格 怎么运用,专业电商网站建设多少钱,小米4截屏图片怎么删除数据库的redo与undo分别是什么呀 - 数据库 - 前端|数据库的redo与undo分别是什么呀

事务处理过程

update 或Insert操作:

1.计算更新后tuple到原tuple的delta信息,把这个delta复制到回滚段,作为undo;

2.写redo日志,记录对回滚段的更改,回滚段也是由缓冲区管理机构管理,也是相当于对页面(page)的更改;

3.把缓冲区中的对应tuple更新成新值,把新值的rollback pointer写入undo(更改回滚段);

4.写redo日志,记入对页(回滚段)的更改;

5.将被更改的页面的状态改成dirty,表示要被刷盘

事务提交操作:

日志刷盘,当前事务的对应的最后的LSN(Log Sequence Number)之前的redo日志都被写入持久化存储。

崩溃恢复过程

1.启动开始时,检测是数据库在上次退出时是否发生崩溃;

2.定位到最近的一个检查点(checkpoint);

3.定位在这个检查点时刷磁盘的数据页,检查校验checksum。如果不正确,说明这个页在上次写入是不完整的,从双写缓冲(doublewrite buffer)里把正确的页读出来,更新到内存缓冲区中的页;

4.顺序地(从上个检查点开始到最后一个LSN)分析redo日志,标识出未提交事务;

5.顺序执行redo,这些redo日志不仅包含对数据段的更改(写tuple), 也包括对回滚段的更改(写undo log);

6.回滚所有未提交的事务。


数据库的redo与undo分别是什么呀 - 数据库 - 前端|
  • mysql中实体表是如何得到的 - 数据库 - 前端,mysql时间比较数据类型
  • mysql中实体表是如何得到的 - 数据库 - 前端,mysql时间比较数据类型 | mysql中实体表是如何得到的 - 数据库 - 前端,mysql时间比较数据类型 ...

    数据库的redo与undo分别是什么呀 - 数据库 - 前端|
  • 2016年出ddr4了吗 - 数据库 - 前端|
  • 2016年出ddr4了吗 - 数据库 - 前端| | 2016年出ddr4了吗 - 数据库 - 前端| ...

    数据库的redo与undo分别是什么呀 - 数据库 - 前端|
  • Oracle分析函数RANK - 数据库 - 前端|
  • Oracle分析函数RANK - 数据库 - 前端| | Oracle分析函数RANK - 数据库 - 前端| ...