亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

淺談oracle SCN機制

2020-07-26 14:03:49
字體:
來源:轉載
供稿:網友

SCN(System Change Number)作為oracle中的一個重要機制,在數據恢復、Data Guard、Streams復制、RAC節點間的同步等各個功能中起著重要作用。理解SCN的運作機制,可以幫助你更加深入地了解上述功能。

在理解SCN之前,我們先看下oracle事務中的數據變化是如何寫入數據文件的:

1、事務開始;

2、在buffer cache中找到需要的數據塊,如果沒有找到,則從數據文件中載入buffer cache中;

3、事務修改buffer cache的數據塊,該數據被標識為“臟數據”,并被寫入log buffer中;

4、事務提交,LGWR進程將log buffer中的“臟數據”寫入redo log file中;

5、當發生checkpoint,CKPT進程更新所有數據文件的文件頭中的信息,DBWn進程則負責將Buffer Cache中的臟數據寫入到數據文件中。

經過上述5個步驟,事務中的數據變化最終被寫入到數據文件中。但是,一旦在上述中間環節時,數據庫意外宕機了,在重新啟動時如何知道哪些數據已經寫入數據文件、哪些沒有寫呢(同樣,在DG、streams中也存在類似疑問:redo log中哪些是上一次同步已經復制過的數據、哪些沒有)?SCN機制就能比較完善的解決上述問題。

SCN是一個數字,確切的說是一個只會增加、不會減少的數字。正是它這種只會增加的特性確保了Oracle知道哪些應該被恢復、哪些應該被復制。

總共有4中SCN:系統檢查點(System Checkpoint)SCN、數據文件檢查點(Datafile Checkpoint)SCN、結束SCN(Stop SCN)、開始SCN(Start SCN)。其中其面3中SCN存在于控制文件中,最后一種則存在于數據文件的文件頭中。

在控制文件中,System Checkpoint SCN是針對整個數據庫全局的,因而之存在一個,而Datafile Checkpoint SCN和Stop SCN是針對每個數據文件的,因而一個數據文件就對應在控制文件中存在一份Datafile Checkpoint SCN和Stop SCN。在數據庫正常運行期間,Stop SCN(通過視圖v$datafile的字段last_change#可以查詢)是一個無窮大的數字或者說是NULL。

在一個事務提交后(上述第四個步驟),會在redo log中存在一條redo記錄,同時,系統為其提供一個最新的SCN(通過函數dbms_flashback.get_system_change_number可以知道當前的最新SCN),記錄在該條記錄中。如果該條記錄是在redo log被清空(日志滿做切換時或發生checkpoint時,所有變化日志已經被寫入數據文件中),則其SCN被記錄為redo log的low SCN。以后在日志再次被清空前寫入的redo記錄中SCN則成為Next SCN。

當日志切換或發生checkpoint(上述第五個步驟)時,從Low SCN到Next SCN之間的所有redo記錄的數據就被DBWn進程寫入數據文件中,而CKPT進程則將所有數據文件(無論redo log中的數據是否影響到該數據文件)的文件頭上記錄的Start SCN(通過視圖v$datafile_header的字段checkpoint_change#可以查詢)更新為Next SCN,同時將控制文件中的System Checkpoint SCN(通過視圖v$database的字段checkpoint_change#可以查詢)、每個數據文件對應的Datafile Checkpoint(通過視圖v$datafile的字段checkpoint_change#可以查詢)也更新為Next SCN。但是,如果該數據文件所在的表空間被設置為read-only時,數據文件的Start SCN和控制文件中Datafile Checkpoint SCN都不會被更新。

那系統是如何產生一個最新的SCN的?實際上,這個數字是由當時的timestamp轉換過來的。每當需要產生一個最新的SCN到redo記錄時,系統獲取當時的timestamp,將其轉換為數字作為SCN。我們可以通過函數SCN_TO_TIMESTAMP(10g以后)將其轉換回timestamp:

SQL> select dbms_flashback.get_system_change_number, SCN_TO_TIMESTAMP(dbms_flashback.get_system_change_number) from dual; GET_SYSTEM_CHANGE_NUMBER------------------------SCN_TO_TIMESTAMP(DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER)---------------------------------------------------------------------------    287707675617-AUG-07 02.15.26.000000000 PM

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

SQL> select timestamp_to_scn(SYSTIMESTAMP) as scn from dual;   SCN----------2877078439

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

下面,在簡單介紹一下SCN如何在數據庫恢復中起作用。

數據庫在正常關閉(shutdown immediate/normal)時,會先做一次checkpoint,將log file中的數據寫入數據文件中,將控制文件、數據文件中的SCN(包括控制文件中的Stop SCN)都更新為最新的SCN。

數據庫異常/意外關閉不會或者只更新部分Stop SCN。

當數據庫啟動時,Oracle先檢查控制文件中的每個Datafile Checkpoint SCN和數據文件中的Start SCN是否相同,再檢查每個Datafile Checkpoint SCN和Stop SCN是否相同。如果發現有不同,就從Redo Log中找到丟失的SCN,重新寫入數據文件中進行恢復。具體的數據恢復過程這里就不再贅述。

SCN作為Oracle中的一個重要機制,在多個重要功能中起著“控制器”的作用。了解SCN的產生和實現方式,幫助DBA理解和處理恢復、DG、Streams復制的問題。

最后提一句,利用SCN機制,在Oracle10g、11g中又增加了一些很實用的功能――數據庫閃回、數據庫負載重現等。

總結

以上就是本文關于淺談oracle SCN機制的全部內容,希望對大家有所幫助。有興趣的朋友可以參閱:Oracle EBS工具選項:關閉其他表單修改方法 、 oracle 數據庫啟動階段分析 、 oracle 虛擬專用數據庫詳細介紹等。有什么問題可以隨時留言,小編會及時回復大家的。感謝大家對武林網的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人线精品午夜| 国产精品夫妻激情| 欧美日韩美女在线| 国产精品一区二区在线| 欧美另类极品videosbest最新版本| 中文字幕av日韩| 美女福利视频一区| 精品色蜜蜜精品视频在线观看| 成人黄色片在线| 国产精品一区二区久久精品| 欧美韩国理论所午夜片917电影| 亚洲自拍高清视频网站| 国产精品视频白浆免费视频| 日韩激情视频在线| 日韩不卡在线观看| 91精品国产九九九久久久亚洲| 国产精品久久久久秋霞鲁丝| 国产精品久久久久久av| 欧美日韩美女在线| 成人欧美在线视频| 亚洲999一在线观看www| 久久99精品久久久久久噜噜| 中文字幕国产精品久久| 爽爽爽爽爽爽爽成人免费观看| 91人成网站www| 美女久久久久久久久久久| 亚洲第一天堂无码专区| 国产99久久精品一区二区永久免费| 亚洲最大的免费| 国产va免费精品高清在线| 日韩小视频在线观看| 日韩av免费观影| 欧美在线视频一区| 亚洲国产精品推荐| 91久久国产综合久久91精品网站| 欧美电影院免费观看| 欧美性猛交xxxx黑人猛交| 91精品免费看| 亚洲女人被黑人巨大进入| 在线观看中文字幕亚洲| 欧美成人三级视频网站| 国产亚洲欧美另类中文| 欧美最顶级的aⅴ艳星| 欧美高跟鞋交xxxxhd| 久久精品国产亚洲一区二区| 国产脚交av在线一区二区| 亚洲一级免费视频| 一区二区三区视频观看| 日韩精品电影网| 亚洲美腿欧美激情另类| 国产精品综合网站| 欧美在线一区二区三区四| 久久在线视频在线| 日韩精品在线看| 亚洲精品国精品久久99热| 在线精品视频视频中文字幕| 久久久久久久久久久网站| 久久久精品免费| 国产成人精品av在线| 97精品久久久中文字幕免费| 国产精品一二三视频| 日韩在线视频观看正片免费网站| 国产精品色午夜在线观看| 国产精品高潮呻吟久久av黑人| 日韩激情第一页| 欧美亚洲第一页| xx视频.9999.com| 亚洲午夜未删减在线观看| 国产视频久久久久久久| 亚洲精选中文字幕| 亚洲欧美日韩成人| 日韩精品中文字幕在线| 亚洲最大福利视频网站| 欧美—级a级欧美特级ar全黄| 亚洲免费成人av电影| 日韩精品视频在线免费观看| 日韩av电影在线播放| 亚洲国产精品999| 国产精品中文在线| 亚洲欧美综合区自拍另类| 操人视频在线观看欧美| 亚洲国产婷婷香蕉久久久久久| 最近2019年日本中文免费字幕| 色无极亚洲影院| 色黄久久久久久| 欧美精品免费看| 亚洲欧美日韩高清| 国产一区二区三区高清在线观看| 亚洲最大的网站| 国产成人鲁鲁免费视频a| 日韩激情片免费| 久久深夜福利免费观看| 成人性生交大片免费看视频直播| 国产精品稀缺呦系列在线| 国产丝袜一区视频在线观看| 国产精品久久久久久中文字| 日韩欧美亚洲成人| 欧美性生交大片免费| 国产精品美女主播在线观看纯欲| 久久影视电视剧凤归四时歌| 国产精品成人国产乱一区| 91精品综合久久久久久五月天| 国产精品高潮呻吟久久av野狼| 欧美另类极品videosbest最新版本| 国产精品久久不能| 91在线观看免费高清完整版在线观看| 亚洲欧美制服综合另类| 91成人性视频| 精品亚洲一区二区三区| 色99之美女主播在线视频| 粗暴蹂躏中文一区二区三区| 精品日韩中文字幕| 亚洲精品国产美女| 日韩免费黄色av| 国产在线98福利播放视频| 亚洲欧美制服另类日韩| 最新国产成人av网站网址麻豆| 国产免费观看久久黄| 精品动漫一区二区| 伊人激情综合网| 欧美人交a欧美精品| 国自产精品手机在线观看视频| 国产免费观看久久黄| 98午夜经典影视| 亚洲天堂免费在线| 日韩一中文字幕| 欧美成人激情图片网| 亚洲日韩中文字幕| 久久亚洲欧美日韩精品专区| 91性高湖久久久久久久久_久久99| 国产91亚洲精品| www.欧美精品一二三区| 欧美激情小视频| 青青草成人在线| 国产在线精品播放| 日韩欧美国产成人| 日韩av网站在线| 欧美最猛性xxxxx(亚洲精品)| 欧美日韩精品在线播放| 欧美电影免费在线观看| 欧美乱大交做爰xxxⅹ性3| 亚洲综合中文字幕在线| 亚洲欧美精品一区| 中文字幕9999| 欧美精品福利在线| 久久男人的天堂| 日韩av在线网址| 欧美日韩免费在线观看| 国产精品色视频| 精品女同一区二区三区在线播放| 国产精品人成电影| 精品久久中文字幕| 亚洲国产成人精品久久| 不卡av电影在线观看| 日本亚洲欧美三级| 久久精品国产清自在天天线| 亚洲国产成人久久综合| 亚洲欧美日本伦理| 韩国三级电影久久久久久| 海角国产乱辈乱精品视频| 精品无码久久久久久国产| 黄网动漫久久久| 欧美韩日一区二区| 亚洲国产精品视频在线观看|