Welcome 微信登录

首页 / 数据库 / MySQL / Oracle redo 和undo

事务提交前要做的事情Oracle提交一个事务之前,必须做以下几件事情:①记住数据被修改前是什么样子的②记住数据即将要被改成什么样子③记住redo log和undo log的关联④将SGA中已读取到内存的数据修改为新的值(此时并未真正保存到数据文件)其中第一步是通过在undo表空间中记录undo日志来完成的。第二步、第三步是通过向SGA中的redo日志缓冲区写记录来完成的。这样当事务回滚时就可以从redo日志找到对应的undo日志,从而找回之前的数据★要特别注意的是:此时不一定会触发DBWn进程。★要特别注意的另一个地方是:第2步记录事务操作的改变是内存中进行的,还未写到磁盘上的redo日志文件事务提交时所做的事情①记录SCN值(System Change Number)②将在线重做日志记录(位于SGA的redo日志缓冲区中)持久化到 redo日志文件③Oracle释放资源和锁④Oracle将事务标记为已结束注意:只有在commit指令被发出后,才会将SGA中重做日志缓冲区的内容刷新到磁盘的redo日志文件。在LGWR进程执行前,重做日志一直存在于内存中,也被称为在线重做日志。Oracle教程:ORA-16038 ORA-19809 ORA-00312 错误解决Oracle中转义字符总结相关资讯      Oracle教程 
  • Oracle中纯数字的varchar2类型和  (07/29/2015 07:20:43)
  • Oracle教程:Oracle中查看DBLink密  (07/29/2015 07:16:55)
  • [Oracle] SQL*Loader 详细使用教程  (08/11/2013 21:30:36)
  • Oracle教程:Oracle中kill死锁进程  (07/29/2015 07:18:28)
  • Oracle教程:ORA-25153 临时表空间  (07/29/2015 07:13:37)
  • Oracle教程之管理安全和资源  (04/08/2013 11:39:32)
本文评论 查看全部评论 (0)
表情: 姓名: 字数