| 導購 | 订阅 | 在线投稿
分享
 
 
 

個人經驗總結:Oracle數據庫SCN號詳解

2008-08-15 05:14:05  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
  Oracle數據庫SCN號詳解:

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

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

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

  數據文件中存放的檢查點

  啓動scn (v$datafile_header(checkpoint_change#)

  1、系統檢查點scn

  當一個檢查點動作完成之後,Oracle就把系統檢查點的SCN存儲到控制文件中。

  select checkpoint_change# from v$database

  2、數據文件檢查點scn

  當一個檢查點動作完成之後,Oracle就把每個數據文件的scn單獨存放在控制文件

  中。

  select name,checkpoint_change# from v$datafile

  3、啓動scn

  Oracle把這個檢查點的scn存儲在每個數據文件的文件頭中,這個值稱爲啓動scn,

  因爲它用于在數據庫實例啓動時,檢查是否需要執行數據庫恢複。

  select name,checkpoint_change# from v$datafile_header

  4、終止scn

  每個數據文件的終止scn都存儲在控制文件中。

  select name,last_change# from v$datafile

  在正常的數據庫操作過程中,所有正處于聯機讀寫模式下的數據文件的終止scn都爲null.

  5、在數據庫運行期間的scn值

  在數據庫打開並運行之後,控制文件中的系統檢查點、控制文件中的數據文件檢查點scn

  和每個數據文件頭中的啓動scn都是相同的。控制文件中的每個數據文件的終止scn都爲null.

  在安全關閉數據庫的過程中,系統會執行一個檢查點動作,這時所有數據文件的終止scn

  都會設置成數據文件頭中的那個啓動scn的值。在數據庫重新啓動的時候,

  Oracle將文件頭中的那個啓動scn與數據庫文件檢查點scn進行比較,

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

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

  對數據庫的修改都沒有在關閉數據庫的過程中丟失,因此這次啓動數據庫的過程

  也不需要任何恢複操作,此時數據庫就可以打開了。當所有的數據庫都打開之後,

  存儲在控制文件中的數據文件終止scn的值再次被更改爲null,

  這表示數據文件已經打開並能夠正常使用了。
 
Oracle數據庫SCN號詳解: 系統檢查點scn(v$database(checkpoint_change#)) 數據文件檢查點(v$datafile(checkpoint_change#)) 數據文件終止scn(v$datafile(last_change#)) 數據文件中存放的檢查點 啓動scn (v$datafile_header(checkpoint_change#) 1、系統檢查點scn 當一個檢查點動作完成之後,Oracle就把系統檢查點的SCN存儲到控制文件中。 select checkpoint_change# from v$database 2、數據文件檢查點scn 當一個檢查點動作完成之後,Oracle就把每個數據文件的scn單獨存放在控制文件 中。 select name,checkpoint_change# from v$datafile 3、啓動scn Oracle把這個檢查點的scn存儲在每個數據文件的文件頭中,這個值稱爲啓動scn, 因爲它用于在數據庫實例啓動時,檢查是否需要執行數據庫恢複。 select name,checkpoint_change# from v$datafile_header 4、終止scn 每個數據文件的終止scn都存儲在控制文件中。 select name,last_change# from v$datafile 在正常的數據庫操作過程中,所有正處于聯機讀寫模式下的數據文件的終止scn都爲null. 5、在數據庫運行期間的scn值 在數據庫打開並運行之後,控制文件中的系統檢查點、控制文件中的數據文件檢查點scn 和每個數據文件頭中的啓動scn都是相同的。控制文件中的每個數據文件的終止scn都爲null. 在安全關閉數據庫的過程中,系統會執行一個檢查點動作,這時所有數據文件的終止scn 都會設置成數據文件頭中的那個啓動scn的值。在數據庫重新啓動的時候, Oracle將文件頭中的那個啓動scn與數據庫文件檢查點scn進行比較, 如果這兩個值相互匹配,oracle接下來還要比較數據文件頭中的啓動scn和控制文件 中數據文件的終止scn。如果這兩個值也一致,就意味著所有數據塊多已經提交,所有 對數據庫的修改都沒有在關閉數據庫的過程中丟失,因此這次啓動數據庫的過程 也不需要任何恢複操作,此時數據庫就可以打開了。當所有的數據庫都打開之後, 存儲在控制文件中的數據文件終止scn的值再次被更改爲null, 這表示數據文件已經打開並能夠正常使用了。
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
  免責聲明:本文僅代表作者個人觀點,與王朝網絡無關。王朝網絡登載此文出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其描述,其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,並請自行核實相關內容。
 
© 2005- 王朝網路 版權所有