成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

個人經(jīng)驗總結(jié):Oracle數(shù)據(jù)庫SCN號詳解

瀏覽:5日期:2023-11-23 13:52:32
Oracle數(shù)據(jù)庫SCN號詳解:

系統(tǒng)檢查點scn(v$database(checkpoint_change#))

數(shù)據(jù)文件檢查點(v$datafile(checkpoint_change#))

數(shù)據(jù)文件終止scn(v$datafile(last_change#))

數(shù)據(jù)文件中存放的檢查點

啟動scn (v$datafile_header(checkpoint_change#)

1、系統(tǒng)檢查點scn

當(dāng)一個檢查點動作完成之后,Oracle就把系統(tǒng)檢查點的SCN存儲到控制文件中。

select checkpoint_change# from v$database

2、數(shù)據(jù)文件檢查點scn

當(dāng)一個檢查點動作完成之后,Oracle就把每個數(shù)據(jù)文件的scn單獨存放在控制文件

中。

select name,checkpoint_change# from v$datafile

3、啟動scn

Oracle把這個檢查點的scn存儲在每個數(shù)據(jù)文件的文件頭中,這個值稱為啟動scn,

因為它用于在數(shù)據(jù)庫實例啟動時,檢查是否需要執(zhí)行數(shù)據(jù)庫恢復(fù)。

select name,checkpoint_change# from v$datafile_header

4、終止scn

每個數(shù)據(jù)文件的終止scn都存儲在控制文件中。

select name,last_change# from v$datafile

在正常的數(shù)據(jù)庫操作過程中,所有正處于聯(lián)機(jī)讀寫模式下的數(shù)據(jù)文件的終止scn都為null.

5、在數(shù)據(jù)庫運行期間的scn值

在數(shù)據(jù)庫打開并運行之后,控制文件中的系統(tǒng)檢查點、控制文件中的數(shù)據(jù)文件檢查點scn

和每個數(shù)據(jù)文件頭中的啟動scn都是相同的。控制文件中的每個數(shù)據(jù)文件的終止scn都為null.

在安全關(guān)閉數(shù)據(jù)庫的過程中,系統(tǒng)會執(zhí)行一個檢查點動作,這時所有數(shù)據(jù)文件的終止scn

都會設(shè)置成數(shù)據(jù)文件頭中的那個啟動scn的值。在數(shù)據(jù)庫重新啟動的時候,

Oracle將文件頭中的那個啟動scn與數(shù)據(jù)庫文件檢查點scn進(jìn)行比較,

如果這兩個值相互匹配,oracle接下來還要比較數(shù)據(jù)文件頭中的啟動scn和控制文件

中數(shù)據(jù)文件的終止scn。如果這兩個值也一致,就意味著所有數(shù)據(jù)塊多已經(jīng)提交,所有

對數(shù)據(jù)庫的修改都沒有在關(guān)閉數(shù)據(jù)庫的過程中丟失,因此這次啟動數(shù)據(jù)庫的過程

也不需要任何恢復(fù)操作,此時數(shù)據(jù)庫就可以打開了。當(dāng)所有的數(shù)據(jù)庫都打開之后,

存儲在控制文件中的數(shù)據(jù)文件終止scn的值再次被更改為null,

這表示數(shù)據(jù)文件已經(jīng)打開并能夠正常使用了。

標(biāo)簽: Oracle 數(shù)據(jù)庫