Dump Block是否会写Dirty Block

这个问题的起源在于我的上一篇文章-Dump Block是否会读入Buffer Cache,d.c.b.a留言提出了这个问题,dump block会否让刚插入的块写入数据文件呢?

一个有趣的问题,但是我却不知道如何验证,如何查看磁盘上的block内容是一个难点。昨天在Oracle-L邮件列表中提了这个问题,今天就得到Christian Antognini的帮助,提示我可以去使用bbed来查看磁盘块的内容。谢谢Chris,非常好的一个方法。

先放出结论,Dump Block不会引起buffer cache中的脏数据回写入磁盘。然后是验证的详细步骤。

Dump Block是否会读入Buffer Cache?

今天忽然有个疑问,如果我们执行alter system dump datafile # block #的话Oracle是否会先把block读入到buffer cache中呢?先打电话问了一下泡在广州温柔乡里面的eygle,他说应该不会,可以直接读取数据文件的。

为了确认,我还是自己测试了一下,结果证明eygle的记忆还是对的。

简略说一下测试步骤,超级简单。

一段关于OCP的对话

最近不少人问我OCP的事情,很久没有了,最近忽然多起来,不知道是因为我把OCP指南放在了我自己的blog上,还是因为OCP考试降价又重新火起来。正好今天又有一位在MSN上问我考试的问题,索性就多说了几句,贴在这里也希望能给其它有同样疑问的朋友一些帮助。