v$database.CHECKPOINT_CHANGE# (last scn checkpointed)
v$database.CONTROLFILE_SEQUENCE# (control file sequence number incremented by control file transactions)
v$database.CONTROLFILE_CHANGE# (last scn in backup control file ;null if the control file is not a backup)
v$datafile.CHECKPOINT_CHANGE# (scn at last checkpoint)
v$datafile_header. CHECKPOINT_CHANGE# (datafile checkpoint change#
v$log.FIRST_CHANGE# (lowest system change number(SCN) in the log
v$database.CHECKPOINT_CHANGE# 代表是資料庫最後一次進行完全檢查點的scn號。只有在進行完全檢查點的時候才進行更新,更新的值為當前現在資料庫的current_scn值。
v$database.CONTROLFILE_CHANGE# (代表從備份中恢複過來的控制檔案的最後一個scn號假如是剛剛從備份中恢複,如果控制檔案不是從備份中恢複過來的,那麼該值為null,但是當控制檔案在資料庫開啟的時候,那麼該值會隨著增量檢查點和完全檢查點或是資料庫結構變化時會設定為當下的current_scn值。
SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
------------------ --------------------- -------------------
4921905 14285 4922868
23:13:45 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
------------------ --------------------- -------------------
4935440 14311 4935548
23:13:46 SYS@orcl#select current_scn from v$database;
CURRENT_SCN
-----------
4935575
23:13:46 SYS@orcl#alter system checkpoint;
select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
系統已更改。
23:13:46 SYS@orcl#
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
------------------ --------------------- -------------------
4935576 14313 4935578
23:13:49 SYS@orcl#
23:14:09 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
------------------ --------------------- -------------------
4935576 14314 4935649
23:16:42 SYS@orcl#alter system switch logfile;
系統已更改。
23:16:52 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
------------------ --------------------- -------------------
4935576 14318 4935675
23:16:55 SYS@orcl#
v$database.CONTROLFILE_SEQUENCE# (代表根據資料庫的變化進行增加的序列,在查詢的時候顯示的是當前的控制檔案是在哪個sequence號,隨著增量檢查點和完全檢查點或是資料庫結構變化而incremental。
v$datafile.CHECKPOINT_CHANGE# (這個值代表的是資料檔案中最後一個last checkpoint 的scn號與v$database 中的CHECKPOINT_CHANGE#相同。也就是說當進行完全檢查點的時候,需要資料檔案中的scn和控制檔案中的scn保持一致性。當我們啟動到資料庫mount狀態下然後dump資料檔案看到的checkpoint scn正是這個值,在進行資料庫啟動要驗證該值)
23:26:05 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
------------------ --------------------- -------------------
4935675 14332 4937039
23:26:30 SYS@orcl#select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
4935675
4935675
4935675
4935675
4935675
4935675
4935675
4935675
4935675
4935675
4935675
CHECKPOINT_CHANGE#
------------------
4935675
已選擇12行。
23:26:31 SYS@orcl#alter system checkpoint;
系統已更改。
23:27:27 SYS@orcl#select CHECKPOINT_CHANGE#,CONTROLFILE_SEQUENCE#,CONTROLFILE_CHANGE# from v$database;
CHECKPOINT_CHANGE# CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE#
------------------ --------------------- -------------------
4937086 14336 4937088
23:27:31 SYS@orcl#select checkpoint_change# from v$datafile;
CHECKPOINT_CHANGE#
------------------
4937086
4937086
4937086
4937086
4937086
4937086
4937086
4937086
4937086
4937086
4937086
CHECKPOINT_CHANGE#
------------------
4937086
已選擇12行。
23:27:32 SYS@orcl#
v$datafile_header. CHECKPOINT_CHANGE# (代表資料檔案頭的檢查點scn,這個值和資料檔案的檢查點相一致,在資料庫運行到open狀態進行的資料檔案dump檔案中的header 中的checkpoint scn就是此值。)