用户提交commit后,数据库干的工作有:

1,oracle为用户的transaction生成一个SCN号。

2,LGWR把redo buffer中的数据写入到redo log file,同时把SCN号记录到redo log file中。这一步完成后,说明用户提 交的数据已经安全的写到磁盘

3,释放用户session占用的locks,这些locks可以在V$LOCK中查到。释放用户的lock后,那么其他在等待lock的session 就会被唤醒,继续它们的工作

4,如果在commit后,用户transaction修改的一些blocks依然在buffer cache中,这些blocks会被快速的visited,并被 cleaned out。block cleanout是指清除存储在block header中的和lock想关的信息。这一步不会产生redo信息。

从上面看,用户commit,只是把redo log buffer中的数据写入到redo log中,实际上并没有把真正的用户提交的数据(data buffer cache中的脏数据)写入到磁盘。DBWn分散的把脏数据组成“一团”,交给OS,让OS去写,而自己去收集下一个“团”。

commit后数据库干的工作的更多相关文章

  1. SQL Server数据库快照的工作方式

    SQL Server数据库快照的工作方式 翻译自:How Database Snapshots Work 最近有一个帖子<errorlog中的异常信息rolled forward 和rolled ...

  2. MySQL/MariaDB数据库的索引工作原理和优化

    MySQL/MariaDB数据库的索引工作原理和优化 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 实际工作中索引这个技术是影响服务器性能一个非常重要的指标,因此我们得花时间去了 ...

  3. Oracle误删表空间文件后数据库无法启动

    [问题描述]Oracle误删表空间文件后数据库无法启动,报错表空间文件不存在 [解决办法]sqlplus / as sysdba       #以dba身份登陆数据库shutdown immediat ...

  4. 解决sqlite 删除记录后数据库文件大小不变

    最的做的项目中要有到sqlite数据存储,写了测试程序进行测试,存入300万条记录,占用flash大小为 86.1M,当把表中的记录全部删除后发后数据库文件大小依然是 86.1M: 原因是:sqlit ...

  5. OpenERP 源码变更后数据库升级

    转自:http://vivianyw.blog.163.com/blog/static/13454742220142114422130/?latestBlog OpenERP代码升级后需要对数据进行升 ...

  6. git不能先commit后再pull

    本文首发hilsion的博客 今天遇到一个在使用git上的一个误区.具体的问题现象是: 我commit后再pull而不能在本地合并的情况,结果导致我的commit直接把同事的修改覆盖了.因为相对于我此 ...

  7. git commit 后 尚未push到远程,撤销commit

    执行commit后,还没执行push时,想要撤销这次的commit,该怎么办? 解决方案: 使用命令: git reset --soft HEAD^ 这样就成功撤销了commit,如果想要连着add也 ...

  8. 输入url后浏览器干了些什么(详解)

    输入url后浏览器干了些什么(详解) DNS(Domain Name System, 域名系统) 解析 DNS解析的过程就是寻找哪台机器上有你真正需要的资源过程.但你在浏览器张红输入一个地址时,例如: ...

  9. 『叶问』#41,三节点的MGR集群,有两个节点宕机后还能正常工作吗

    『叶问』#41,三节点的MGR集群,有两个节点宕机后还能正常工作吗 每周学点MGR知识. 1. 三节点的MGR集群,有两个节点宕机后还能正常工作吗 要看具体是哪种情况. 如果两个节点是正常关闭的话,则 ...

随机推荐

  1. c语言构建动态数组

    #include <stdio.h> #include <stdlib.h> int main(void) { int len; int * arr; printf(" ...

  2. IOS中对于一些控件的抖动效果

    这两天在网上看到一个帖子讨论关于有些app 输入账密时候 错误的话会有抖动效果出现,然后自己琢磨了下如何实现,下面上代码!!! 首先 写一个UIView的分类 #import <UIKit/UI ...

  3. jQuery input -> file change事件bug

    由jQuery绑定类型为file的input控件的change事件,发现只能被触发一次,修改方法 --> 原始代码: $input.change(function() { // somethin ...

  4. hdu Red and Black

    算法:深搜 题意:就是让你找到一共可以移动多少次,每次只能移到黑色格子上, Problem Description There is a rectangular room, covered with ...

  5. paip.输入法编程----一级汉字1000个

    paip.输入法编程----一级汉字1000个.txt 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn. ...

  6. 使用ToolRunner运行Hadoop程序基本原理分析

    为了简化命令行方式运行作业,Hadoop自带了一些辅助类.GenericOptionsParser是一个类,用来解释常用的Hadoop命令行选项,并根据需要,为Configuration对象设置相应的 ...

  7. Trucking(HDU 2962 最短路+二分搜索)

    Trucking Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  8. Monkey and Banana(HDU 1069 动态规划)

    Monkey and Banana Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  9. Jasper_crosstab_columngroup header position config - (headerPosition="Stretch")

    Position of Totals RowThe totalPosition attribute controls the appearance of the row that displays t ...

  10. a标签# 和javascript:;的区别

    最近遇到一个问题,解决了记录下来. <body style="height:10000px;"> <span style="top:3000px;pos ...