什么时候在sql中发生数据文件的写入?

时间:2016-10-29 01:24:13

标签: sql database oracle transactions rdbms

我目前正在研究dbms中的事务管理....来自数据库系统elmasri和navathe第6版链接:http://mathcomp.uokufa.edu.iq/staff/kbs/file/2/Fundamentals%20of%20Database%20Systems%20-%20Ramez%20Elmasri%20&%20Navathe.pdf

有人可以告诉(简而言之)事务提交过程,即没有太多细节....我还从oracle论坛链接中读取了一些内容: https://docs.oracle.com/cd/B19306_01/server.102/b14220/transact.htm 我能理解的是,实际写作可以在提交之前或之后进行......但如果所做的更改必须对所有用户可见,那么它必须在提交之前提交,而不是在提交之后,对吗?

有人可以帮我清除一下这个混乱吗?

1 个答案:

答案 0 :(得分:0)

正如论坛帖子所示,对数据文件的写入完全独立于事务控制。可以在事务提交之前写入更改,也可以在事务提交之后写入更改。

进行更改时,会对内存中的数据版本进行更改。为了使事务成功提交(假设默认提交设置),必须将更改写入重做日志。这允许数据库重新创建更改,如果它尚未写入数据文件并且数据库崩溃。相反,如果在提交事务之前将更改写入数据文件,则有关如何撤消更改的信息将在撤消日志中,以便在事务提交之前如果数据库失败则可以回滚事务(或者如果应用程序发出回滚)。