没有commit,数据会写入数据文件吗?

没有commit,数据会写入数据文件吗?
标签: 暂无标签
tongjy

写了 3 篇文章,拥有财富 69,被 2 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

hzs
P4 | 发表于 2011-3-28 18:53:09
有写入的可能,有可能存在隐式提交
回复

使用道具

游客 | 发表于 2011-3-28 23:04:10
DDL会隐式提交,DML需要显示提交才会触发LGWR写日志,然后date buffer cache等等。
回复

使用道具

P3 | 发表于 2011-3-30 19:04:15
据hibernate了解,没有commit,数据是会到达数据库,但是当发现没有提交时,数据回滚。
我想一直不提交的话,这个连接应该会一直保持,不会释放。
回复

使用道具

P4 | 发表于 2011-4-3 21:57:26
DBWR进程可能会运行的,它不会管你commit没有
回复

使用道具

P4 | 发表于 2011-4-12 09:03:04
前面兄弟说了。会有隐性提交的。比如说,你关闭窗口就是隐性提交了。还有前面的兄弟也说了。我就不废话了。
回复

使用道具

P4 | 发表于 2011-4-12 10:59:54
即使没有隐式提交也是有可能写到数据文件的,因为是否写入数据文件与是否提交是没有什么关系的,oracle在记录redo日志的时候,会批量的写,这些重做记录会包含提交的数据也会包含未提交的数据,在DBWn进程将脏数据写到数据文件之前,会触发LGwr进程将log buffer写入redo log file中,redo log file 保证所有已提交的数据都在其中,未提交的数据也有可能存在。
回复

使用道具

P3 | 发表于 2011-5-4 21:40:05
dbwr会写    redo也会记
回复

使用道具

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈