SCN

SCN

SCN(System Change Number 簡稱 SCN)是當Oracle資料庫更新后,由DBMS自動維護去累積遞增的一個數字。在Oracle中,有四種SCN,分別為:系統檢查點SCN、數據文件檢查點SCN、啟動SCN、終止SCN。

四種SCN


系統檢查點scn
當一個檢查點動作完成後,Oracle就把系統檢查點的SCN存儲到控制文件中。
數據文件檢查點scn
當一個檢查點動作完成後,Oracle就把每個數據文件的scn單獨存放在控制文件中。
啟動scn
Oracle把這個檢查點的scn存儲在每個數據文件的文件頭中,這個值稱為啟動scn,因為它用於在資料庫實例 啟動時,檢查是否需要執行資料庫恢復。
終止scn
每個數據文件的終止scn都存儲在控制文件中。

SCN的常識


SCN英文翻譯:
有system change number和system commit number兩種說法,表達的都是同一個意思,即SCN是資料庫系統中順序增長的一個數字,用來精確區別操作的先後順序。
SCN最大值是多少
Oracle使用6 Bytes記錄SCN,也就是48位,其最大值是:281,474,976,710,656
合理的SCN
Oracle資料庫當前最大的SCN被稱為”最大合理SCN”,可以使用SQL語句來計算:
SCN
SCN

查詢


查詢開始時候,只查詢小於等於該時刻對應的SCN中的數據;所以,若查詢花費時間很長的話,獲得的數據可能不是最新的數據(即是數據回滾段中的數據)。