ora_rowscn小记

其实这个参数在10g就有了,之前一直没注意,发现比较有意思,这边记录一下。

ora_rowscn可以显示每一行的最近一次更改的scn,默认情况下,是以block为单位,如果一个block中有多行,那么这几行都是属于同一个scn。

create table时加ROWDEPENDENCIES,才是每行一个独立的scn。每行多需要6 bytes的大小。
另外,dump block的时候,时候看到dscn是0,这是因为rowscn是itl cleanout的时候,才会刷入到dscn中。

测试:

继续测试:

继续测试:

继续测试,再来几个事务,造成delay block cleanout:

另外,再仔细看看insert 的sysdate,和rowid转成scn,再转成时间,其实还是有差距的。

参考:AskTom – ORA_ROWSCN strange behavior

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据