提起checkpoint来,其实这是一个动作。
她和很多的oracle中的东西一起来complete the task of the complicated oracle
checkpoint有两种
1:system checkpoint
2:增量checkpoint
在这里我们主要讨论的是增量checkpoint
既然检查点是一个动作
那么动作的具体内容是什么呢?
我认为的动作:
CKPT进程把SCN写到数据文件的文件头中
DBWN进程读取redo日志记录的data block的改动,把这些改动修改到物理的disk中
是这样吗?
真是TM的奇怪,我认为的竟然不对,我FUCK
第二点有人的观点其实是这样:
分为两部分:1:这是哪个进程?把内存中的脏数据同步到硬盘中
2:实例崩溃的时候,利用redo日志中记录的data block的改变进行数据恢复,把数据、
actually the oracle checkpoint has more comlicated mechanism than I ever thought
so ,here I list the thing I know ,and let's find out what is wrong
oracle checkpoint 是什么?
一个动作,动作的内容是上述的内容
oracle checkpoint的逻辑的含义是:
因为我们commit的时候,是会把redo log buffer中的内容同步到redolog中
但是其实呢,我们的数据在此时并没有同步到硬盘中,如果我们提交的话,马上同步到硬盘中的话,这样会导致性能受到很大的影响
这个原因,我可以接受
所以呢,如果保证数据同步呢,我们使用了checkpoint的方式
CKPT进程是触发checkpoint的
其实我对这个东西是有疑问的
checkpoint这个东西,其实从功能上来讲
就是把BUFFER CACHE中的内容sync到硬盘里
触发一次checkpoint的mechanism是什么?
我看了DAVE的日志,非常复杂的实现机理
我还是先就这样吧
BUT,I REALLY DON'T HAVE TIME AND ENERGY TO SWIM into it
I'M TIRED and exhausted ,couldn't explore any more
I know it ,this is it
说到checkpoint,就不得不提到另外的一个东西,SCN
SO ,i hate to end like this ,but I have to
cause ,this is it
I may look back one day and change things here and I may add things here
I know who I am ,I'm over extended ,I finish things
but it's not today ,today I let go