溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle如何檢查點涉及的SCN

發布時間:2021-11-10 14:29:23 來源:億速云 閱讀:237 作者:小新 欄目:關系型數據庫

這篇文章主要介紹Oracle如何檢查點涉及的SCN,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

1. 檢查點涉及的SCN

(1). 數據文件中的文件頭啟動檢查點的scn

存儲在每個數據文件的文件頭中

select name,checkpoint_change# 

from v$datafile_header;

在安全關閉數據庫的過程中,系統會執行一個檢查點動作,這時所有數據文件的終止scn都會設置成數據文件頭中的那個啟動scn的值。

在數據庫重新啟動的時候,Oracle將文件頭中的那個啟動scn(存在于各個數據文件里)與數據庫文件檢查點scn(存在于控制文件里)進行比較,如果這兩個值相互匹配,oracle接下來還要比較數據文件頭中的啟動scn和控制文件中數據文件的終止scn。如果這兩個值也一致,就意味著所有數據塊的redo記錄都已經提交,所有對數據庫的修改都沒有在關閉數據庫的過程中丟失,因此這次啟動數據庫的過程也不需要任何恢復操作,此時數據庫就可以打開了。 

(2).數據文件檢查點SCN,

存儲在控制文件中:

SELECT T.NAME,T.CHECKPOINT_CHANGE#,b.tablespace_name

FROM  V$DATAFILE T,dba_data_files b

where t.FILE#=b.file_id;

(3).數據文件的終止scn

存儲在控制文件中

select name,last_change# 

from v$datafile;

終止SCN在數據庫關閉或者表空間脫機是才會涉及到,在正常的數據庫操作過程中,所有正處于聯機讀寫模式下的數據文件的終止scn都為null.

在安全關閉數據庫的過程中,系統會執行一個檢查點動作,這時所有數據文件的終止scn都會設置成數據文件頭中的那個啟動scn的值。

(4).系統檢查點SCN

存儲在控制文件中

select  t.CHECKPOINT_CHANGE#

from v$database t;

(5). 日志文件的scn

select t.FIRST_CHANGE# 開始時的SCN,t.FIRST_TIME,t.NEXT_CHANGE#  結束時的SCN

from V$log_History  t

order by t.FIRST_TIME;

2. 發生完全檢查點時:

數據文件頭,標識上次處理完的啟用scn。

而CKPT進程則將所有數據文件(無論redo log中的數據是否影響到該數據文件)文件頭上記錄的Start SCN更新為Next SCN; (通過視圖v$datafile_header的字段checkpoint_change#可以查詢)

同時將控制文件中的System Checkpoint SCN更新為Next SCN; (通過視圖v$database的字段checkpoint_change#可以查詢)

每個數據文件對應的Datafile Checkpoint)也更新為Next SCN;(通過視圖v$datafile的字段checkpoint_change#可以查詢)

從Low SCN到Next SCN之間的所有redo記錄的數據就被DBWn進程寫入數據文件中.    

3. 系統是如何產生一個最新的SCN的:

實際上,這個數字是由當時的timestamp轉換過來的。每當需要產生一個最新的SCN到redo記錄時,系統獲取當時的timestamp,將其轉換為數字作為SCN。

我們可以通過函數SCN_TO_TIMESTAMP將其轉換回timestamp:

select dbms_flashback.get_system_change_number, SCN_TO_TIMESTAMP(dbms_flashback.get_system_change_number) 

from dual;

也可以用函數timestamp_to_scn將一個timestamp轉換為SCN:

select timestamp_to_scn(SYSTIMESTAMP) as scn 

from dual;

4. SCN除了作為反映事務數據變化并保持同步外,它還起到系統的"心跳"作用——每隔3秒左右系統會刷新一次系統SCN。

以上是“Oracle如何檢查點涉及的SCN”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女