資料檔案的SCN和資料塊的SCN有何區別
資料檔案的SCN和資料塊的SCN有何區別
這個問題是PUB上一個朋友的問題,總結一下
資料檔案scn是指的是資料檔案第一個塊上的SCN,這個塊指的是表空間頭tablespace header,裡面記錄這很多資訊。其實在第一個塊上有很多SCN。
例如:
create SCN 資料檔案新增時候的SCN
checkpoint SCN
recovery SCn
等
現在就按照資料檔案SCN理解為表空間頭塊上的checkpoint SCN來說
這個SCN和資料塊上的SCN之間的相同點都是SCN(廢話,呵呵),都具有SCN相同大小的結構。都是6個位元組。(都是廢話)
1、資料塊上有一個SCN和SEQ來表示資料塊的版本,只要是為了在資料塊恢復的時候來標識用的,在我們對這個資料塊進行修改後,DBWR將這個修改的塊寫入到磁碟上,假如在沒有來得及將資料塊寫入磁碟的時候,資料塊crash了,下次重啟的時候,資料塊回自動對其進行恢復,這就要根據SCN和SEQ來標識我們redo上的記錄是否適合這個資料塊的版本。如果redo = SCN和SEQ,就會應用。如果redo < SCN和SEQ,就會跳過。如果redo > SCN和SEQ,乖乖不得了,這就會出現問題了,Oracle會告訴你block stuck,這時候就需要使用備份恢復了。
資料塊上SCN的功能,還有一個功能就是資料塊corrupt的校驗,在塊的尾部有一個6個位元組的tail,其中有4個位元組就是SCN的一部分。
透過這個和塊頭部的SCN比較,是檢查corrupt的條件之一。
2、tablespace header上的checkpoint SCN 是幹什麼用的哪?這個主要在checkpoint上寫入的,就是說你在滿足一定的條件對這個資料檔案產生了checkpoint的時候,就會將當時的SCN寫入到資料檔案頭上。主要是做資料檔案恢復用的。或者是看看這個資料檔案是否需要恢復時候用的。因為在對這個資料檔案頭寫入的同時,還需要在控制檔案上寫入相同的SCN,在你做某些操作的時候,Oracle會比較控制檔案和資料檔案上的SCN,看看這個資料檔案是不是當前的資料檔案。舉一個簡單的例子吧。還說假如在開啟資料庫的時候,Oracle是怎麼知道我給的控制檔案和資料檔案是一致的哪,會不會拿一個很久之前的資料檔案來濫竽充數哪,Oracle也不傻,他會比較控制檔案上的SCN和這個資料檔案上的SCN是不是一致的,如果不是,Oracle會告訴你出現問題了。目的還是標識一個版本,做到資料的一致性。
那兩種有什麼關係那?
除了結構相同之外,我還真的沒有想出兩者之間有什麼必然的聯絡。不知道大牛有沒有知道的,謝謝
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/222350/viewspace-919055/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 之利用BBED修改資料塊SCN----沒有備份資料檔案的資料恢復Oracle資料恢復
- 透過修改控制檔案scn推進資料庫scn資料庫
- zt_Oracle資料恢復:資料檔案頭的SCN與時間校驗_file$_scnOracle資料恢復
- 區塊鏈代表的資料庫和傳統資料庫有何區別區塊鏈資料庫
- 資料庫控制檔案中的SCN詳解資料庫
- 關於資料檔案頭的檢查點SCN
- 有關 SCN 和 RESETLOG的一些資料
- 資料檔案SCN的一致性問題
- oracle資料庫SCNOracle資料庫
- 關於資料檔案頭的檢查點SCN知識
- 【SCN】Oracle資料庫SCN號的四種獲取途徑Oracle資料庫
- oracle資料庫SCN概念Oracle資料庫
- Oracle資料庫的SCN轉換成時間和時間轉換成SCNOracle資料庫
- 利用BBED修改資料塊SCN----極端環境下的資料恢復資料恢復
- BBED 修改oracle 資料檔案的 SCN 號來做資料庫不完全恢復。Oracle資料庫
- SCN, checkpoint 及資料庫的恢復資料庫
- Oracle資料庫SCN號的應用Oracle資料庫
- 使用DUMP資料塊與BBED檢視BLOCK對比資料庫修改時的SCNBloC資料庫
- 重建控制檔案, 資料檔案檢查點SCN到底來自哪裡?
- 最接近資料庫的當前SCN號資料庫
- SCN與資料庫恢復的關係資料庫
- 檢查點和oracle資料庫的恢復(一)SCNOracle資料庫
- 基於SCN閃回資料庫資料庫
- 【kingsql分享】使用BBED修改Oracle資料檔案頭推進SCNSQLOracle
- 為什麼對資料塊修改的change的scn會小於對undo塊的修改?!
- 同一資料庫資料SCN號與時間的轉化資料庫
- Oracle資料庫中的多種SCN彙總Oracle資料庫
- 重做日誌檔案中的SCN
- 關於9i RMAN 增量備份中的資料塊SCN比較
- SCN號與oracle資料庫恢復的關係Oracle資料庫
- 啟動SCN不一致的資料庫資料庫
- ORACLE資料庫中SCN與時間的轉換Oracle資料庫
- 分散式資料倉儲中,全域性和區域性資料倉儲有何區別?分散式
- 在資料科學方面,python和R有何區別?資料科學Python
- checkpoint時的SCN寫檔案動作
- 奈學:資料湖和資料倉儲的區別有哪些?
- (轉)SCN號與oracle資料庫恢復的關係Oracle資料庫
- 完全無事務的資料庫SCN增長之謎資料庫