免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1981 | 回复: 4
打印 上一主题 下一主题

请教Undo Tablspace的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-19 21:45 |只看该作者 |倒序浏览
看了一些的资料有以下疑惑,不知道理解的有没有问题。

Undo tablespace也就是9i以前的Rollback Segment保存了数据修改的前映象,也记录了System Change Number(SCN)。

问题1: Undo tablespace是否只是为了提供Multi Version Read Consistency的功能?
问题2:redo file(重做日志文件)也会记录类似的信息,这样的设计出于什么考虑,可以只保留redo file吗?

根据如下资料
"In Oracle, the SCN is stored in the header of each data block (a.k.a. page).
So if any record on that block is modified, the SCN for that block is updated.
If a transaction is looking for record 5 on block 106, it may have to clone and
reconstruct several different version of block 106 even if record 5 has never
changed. "
问题3:在Multi Version Read Consistency的隔离级里,并发控制是否只是在block级别,而不是在row级别,因为一个Block才有一个SCN?

论坛徽章:
0
2 [报告]
发表于 2007-04-20 10:18 |只看该作者
undo tablespace和redo log里的内容不同
颗粒度的问题请楼下继续

论坛徽章:
0
3 [报告]
发表于 2007-04-20 12:03 |只看该作者
在多问一下,undo tablespace和redo log里的内容怎么不同?

我理解undo tablespace有修改过数据的前映象,redo log需要保留SQL语句,但redo log是否有修改过数据的前映象呢?

论坛徽章:
0
4 [报告]
发表于 2007-04-20 18:03 |只看该作者
问题一:有读一致性作用,比如,当一个session对表中一条记录进行update,而没有commit,此时其他session访问该记录时会发现该row上有事务且没有commit就会到undo中去读取。
问题二:redo file记录的是可以replay的信息。跟undo是完全两回事,恰恰相反
问题三:block级别
楼下指正

论坛徽章:
0
5 [报告]
发表于 2007-04-23 14:27 |只看该作者
多谢楼上二位:)!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP