提起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