oracle数据库中什么是已经提交的事务?

•Atcommit•Whenone-thirdfull•Whenthereis1MBofredo•Everythreese... • At commit
• When one-third full
• When there is 1 MB of
redo
• Every three seconds
• Before DBWn writes

只有用户手动commit后写入的redo logfile中的数据才是已提交的数据吗?而• When one-third full • When there is 1 MB of redo • Every three seconds自动写入redo logfile的数据都是未提交的数据?
当时就崩溃后启动数据库:
系统监视进程SMON会在下一次启动例程的时候,自动读取重做日志文件并对数据库进行恢复。也就是说,进行将已提交的事物写入数据文件(已经写入到日志文件中而没有写入到数据文件中的数据)、回退未提交的事务操作。也就是说• When one-third full • When there is 1 MB of redo • Every three seconds自动写入redo logfile中的数据都会被回退?

还有回退未提交的事务操作是什么意思啊?没有commit,datafile并没有真正更改,那还要回退什么啊?往哪里回退啊,把已经提交的当时没有写入datafile的脏数据写入不就行了么?还回退什么啊?

回退未提交的事务操作都做了哪些操作?
展开
 我来答
mrwdc
2013-10-07 · 超过16用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:43.6万
展开全部
回退的是undo中记录的脏块(虽然事务未提交没有写到相应的datafile中,但是触发ckpt后,undo中会记录未提交的脏块)

日志是不会回退的,只会增长;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式