`

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

 

分享到:
评论

相关推荐

    事务管理的艺术:用BEGIN、COMMIT和ROLLBACK掌控数据库变更

    SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作关系型数据库的标准编程语言。它被广泛用于访问和修改数据库中的数据...8. **事务控制(Transaction Control)**:使用`BEGIN`、`COMMIT`和`ROLL

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

    在IT领域,数据库连接是数据集成过程中的关键环节,特别是在使用工具如Kettle(也称为Pentaho Data Integration,简称PDI)时。Kettle是一款强大的ETL(Extract, Transform, Load)工具,用于从各种数据源抽取数据,...

    在Titanium中通过使用BEGIN/COMMIT来加速SQLite插入操作

    2. 数据库连接管理:确保在完成所有操作后关闭数据库连接,以释放系统资源。 3. 优化SQL语句:避免在循环内多次执行相同的SQL语句,尽可能地预编译和重用SQL语句。 4. 批量插入大小:根据设备性能和内存限制,调整...

    数据库上机指导 包含数据库源文件

    数据库上机指导是学习数据库管理和应用的重要环节,它涵盖了理论知识与实际操作的结合,旨在帮助用户深入理解和掌握数据库的工作原理、SQL语言以及数据管理技巧。在这个指导中,包含了源数据库文件,这意味着我们...

    数据库应急预案.pdf

    如果数据库处于open状态,则使用conn icp_user/dbc 命令登录到数据库后,然后使用select sysdate from dual;命令来查询数据库的当前时间,如果能正确显示结构,则数据库没有问题,则只需恢复出现故障的实例就可以。 ...

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

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

    MySQL数据库应用形考实验1-4全答案.zip

    MySQL数据库是一种广泛应用于Web开发和企业级数据存储的开源关系型数据库管理系统。在这个"MySQL数据库应用形考实验1-4全...这些技能对于从事任何涉及数据库的工作,无论是Web开发者还是数据库管理员,都是非常重要的。

    数据库课设--管理系统(含数据库)

    数据库课程设计是IT教育中的一个重要环节,旨在让学生深入理解数据库管理系统的原理...通过这样的课程设计,学生不仅能掌握数据库系统的基本原理,还能提升实际开发技能,为将来从事数据库相关的开发工作打下坚实基础。

    数据库实验

    在这个压缩包文件中,我们可以期待找到一系列与数据库相关的实验项目,这些项目可能旨在帮助我们深入理解数据库系统的运作机制,并提升我们在实际工作中的数据库管理能力。 首先,SQL(Structured Query Language)...

    SQL SERVER 创建数据库SQL SERVER 创建数据库SQL SERVER 创建数据库

    - 游标选项:CURSOR_CLOSE_ON_COMMIT, CURSOR_DEFAULT LOCAL | GLOBAL - 恢复选项:RECOVERY FULL | BULK_LOGGED | SIMPLE, TORN_PAGE_DETECTION - SQL 选项:ANSI_NULL_DEFAULT, ANSI_NULLS - 状态选项:READ_...

    原创易语言连接数据库,实现增、删、改、查数据库,一键导入数据库源码

    例如,对于多个操作的原子性,可以使用BEGIN、COMMIT和ROLLBACK事务语句;在处理错误时,应有适当的异常捕获和处理机制;而为了提高性能,可能需要对查询进行优化,如避免全表扫描,合理使用索引等。 在"数据库连接...

    数据库课件全集 资料 SOL设计 数据库

    数据库是信息技术领域中的核心组成部分,它负责存储、管理和检索数据,是各类信息系统的...通过学习这些内容,不仅可以理解数据库的基本原理,还能具备实际操作数据库的能力,为后续的开发工作或数据分析打下坚实基础。

    数据库习题集(整理包括了数据库考试所有方面)

    数据库是信息技术领域中的核心部分,它负责存储、管理和检索数据,是各类信息系统的基础。...通过解答这些习题,你将全面掌握数据库理论和实践,无论是在学术考试还是实际工作中,都能更好地理解和运用数据库系统。

    修改oracle数据库用户名及密码

    在连接到数据库后,需要找到需要修改的用户。可以使用命令 `SQL> select * from user$;` 来查找所有用户信息,包括用户名、用户 ID 等。在这里,我们可以找到需要修改的用户的 user#,例如 ARWEN 用户的 user# 是 ...

    神通数据库/MPP-Python解释器模块

    神通数据库(RDS)是一款由北京瑞斯康达科技发展股份有限公司开发的高性能、高可用性的分布式并行数据库系统,特别适用于大数据处理和分析场景。它采用了MPP(大规模并行处理)架构,能有效利用多节点进行数据并行...

    table_commit.rar_Commit!_PowerBuilder

    _PowerBuilder"暗示了这是一个与数据库操作,特别是提交(Commit)相关的PowerBuilder项目。PowerBuilder是一种强大的客户端/服务器应用程序开发工具,特别适合于构建数据库应用。在数据库操作中,"Commit"是事务...

    大型数据库 oracle11g数据库

    通过中南大学的大型数据库课程,初学者将能够系统地学习Oracle 11g数据库的各个方面,为未来在数据库管理和开发领域的工作打下坚实的基础。实际操作是学习的关键,所以理论学习的同时,应配合实验环节,对每个知识点...

    SQLite(创建数据库)

    3. **创建数据库**:连接到SQLite后,如果没有指定数据库,SQLite会默认创建一个名为`sqlite3.db`的临时数据库。若要创建特定名称的数据库,可以使用`CREATE DATABASE`语句,但在SQLite中,这通常是通过直接打开相应...

Global site tag (gtag.js) - Google Analytics