`

commit后数据库干的工作

 
阅读更多

用户提交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去写,而自己去收集下一个“团”。

 

分享到:
评论

相关推荐

    神通数据库-数据库快速入门.pdf

    作为企业级大型、通用对象关系型数据库管理系统,神通数据库为用户提供的功能包括: • 支持丰富的数据类型 神通数据库所支持的数据类型包括:字符串类型、位串类型、精确数值类型、布尔型、近似数值类型、 日期类型...

    SQL Server数据库应P166 (2)COMMIT TRANSACTION标志一个成功的隐式事务或显式事务的结束.sql

    内容概述:SQL Server数据库相关内容,对应张磊著《SQL Server数据库应用技术项目化教程》中166页(2)COMMIT TRANSACTION标志一个成功的隐式事务或显式事务的结束所对应的源码。代码经个人运行后无误,如果下载后运行...

    Kettle所有数据库数据库连接驱动Jar

    包含 SqlServer Mysql Access 。。。。等驱动都有。

    Poco访问数据库(测试例子MySQl)

    poco 访问数据库测试例子,编译环境:VS2013 数据库:MySQL poco版本:1.7.4完整版

    数据库系统概论自己版.xmind

    Commit work:提交当前事务,也就是将该事务所做的更新在数据库中持久保存。在事务被提交后,一个新的事务自动开始 Rollback work:回滚当前事务,即撤销该事务中所有SQL语句对数据库的更新。这样,数据库...

    数据库考试的复习资料

    1.数据库的一大特点是数据共享,即用户可以并发访问数据库对象,但并发操作可能会引起丢失更新、不可重复读、读脏数据这几类数据不...5.SQL语言中,定义事务的语句主要有BEGIN TRANSACTION 、COMMIT 和 _ROLLBACK_ 。

    shell连接oracle数据库执行SQL工具脚本-支持select+inset+update

    shell连接oracle数据库工具脚本:支持select/insert/update/delete 部署位置:/root/sysmonitor ... “SQL”要执行的SQL,可以是增删改查,自动commit 客户端安装环境博文:https://mp.csdn.net/postedit/87924877

    Qt sqlite 数据库操作封装

    封装接口: 1.生成数据库文件 2.打开数据库 3.关闭数据库 4.执行Sql语句 5.增删改查的实现及重载接口 6.事务操作:taransction和commit QT版本:QT5.14.2

    sqlite数据库 压缩 释放数据冗余空间

    sqlite数据库文件经多次添加删除操作后 文件占用磁盘空间过大 c++压缩文件代码 sqlite数据库文件经多次添加删除操作后 文件占用磁盘空间过大 c++压缩文件代码 测试调用TestFunction.h文件 bool commit_vacuum...

    oracle数据库基础手记

    oracle基础上课记录笔记 3/08 ====================================== 启动/关闭oracle服务 ...--------------------------- c:\> sqlplus /nolog 进入数据库 sql> conn /as sysdba ...-----------------------...commit提交

    数据库文献

    SQL-Sever数据库根据运行模式将事务分为4种类型:自动提交事务、显示事务、隐式事务和批处理级事务。1. 自动提交事务:是指每条单独的语句都是一个事务;2. 显式事务:是指每个事务均以BEGIN TRANSACTION语句显式...

    分布式数据库系统-复习.doc

    分布式事务的一般结构是什么 答:分布式事务的一般结构为: Begin Transaction原语:开始一个事务(2分) T1[] T2[] : 子事务或操作序列 : Tn[] Commit原语:事务成功完成的结束(2分) Rollback或Abort原语:事务...

    数据库并发控制技术论文

    2PC用于确保所有分布式事务能够同时提交(Commit)或者回滚(Rollback),以便使的数据库能够处于一致性状态(consistent state)。 分布式事务可以通过DBA_2PC_PENDING 和 DBA_2PC_NEIGHBORS 字典视图查看。 ...

    Sybase数据库ASE事务日志的管理技巧详解

    Server Cache Memory中日志页总是先写于数据页:Log pages在commit ,checkpoint,space needed时写入硬盘。Data pages在checkpoint,space needed时写入硬盘。 系统在recovery时读每个database的syslogs表的信息,回退...

    Oracle Form中COMMIT的概述及使用技巧

    1. COMMIT_FORM和COMMIT 都对form和数据库进行提交。针对form上面的数据变动提交到后台数据库,同时数据库提交数据。 2. DO_KEY(‘COMMIT_FORM’) 它会首先执行KEY-COMMIT触发器里面的代码,如果没有这个触发器,则...

    关系型数据库管理系统.pdf

    关系型数据库管理系统可以分为: 关系型数据库服务端软件 关系型数据库客服端软件 关系型数据库服务端软件: 主要负责管理不同的数据库,⽽每个数据库⾥⾯会有⼀系列数据⽂件,数据⽂件是⽤来存储数据的,其实...

    数据库项目组日常运维及应急故障处理手册.docx

    (5)数据库或应用主机的网卡出现问题不能正常工作 (6)应用主机到数据库主机的网络出现问题。 1、数据库宕了 立即启动数据库。 Startup 2、监听异常 此时一般体现为: 监听进程占用CPU资源大;d 监听日志...

    Qt数据库封装类

    执行后,各字段值就保存在iSN, strName等变量中了。 参数:第一个参数为记录集id 后面可变参数,字段%类型标识,用于保存返回值的指针, 类型标识:%d-int %s-QString %f-double %t-QDateTime %b-QByteArray -----...

    MySql是否需要commit详解

    看自己的数据库是否是自动commit,可以使用mysql> show variables like ‘%autocommit%’;来进行查看,如果是OFF即不自动commit,需要手动commit操作(命令行可以直接“commit;“命令),否则是自动commit。 提交...

    NoSQL数据库tiger.zip

     基于memcached协议和leveldb的持久数据库 基于redis协议和redis存储引擎的内存数据库,宕机后数据重放到内存 性能: 单机跑3个实例: 双核,Pentium(R) Dual-Core CPU E6600 @ 3.06GHz centos 5.6 erlang ...

Global site tag (gtag.js) - Google Analytics