关于SCN的理解,未完成....(摘自IT_PUB)

来源:互联网 发布:出版社知乎 编辑:程序博客网 时间:2024/05/18 02:55
dml一发生即使没有提交也会增加scn, job进程一样产生scn,只要对数据库中文件发生任何的改变都有可能产生scn,SCN: system change number, not system commit number .也就是 系统发生变化 所产生的一个时间点标志。不是提交的标志,只是因为提交也是系统的变化之一而已

一般DBWn修改的是数据块但不是数据文件头,只有检查点发生的时候才更新数据文件头,也就是说只有 ckpt 进程更新数据文件头(oracle8以前如果没有ckpt进程就是lgwr更新),dbwr只写数据块

检查点的发生,跟写日志文件是没有必然联系的
检查点通知 DBWR 写数据文件,写完后ckpt更新控制文件 和数据文件头

当DBWR 写 数据块的时候若发现 数据块的 相关 RDBA (位于日志文件的位置) 的 log block 还没有被写入日志文件,则在dbwr写块之前必须通知llgwr把log buffer 中日志写入日志文件(即还没有commit)






原创粉丝点击