****欧欧美毛片4,国产午夜精品视频,97视频在线观看免费视频,久久七国产精品

數(shù)據(jù)恢復(fù)咨詢熱線:400-666-3702??

歡迎訪問南京兆柏數(shù)據(jù)恢復(fù)公司,專業(yè)數(shù)據(jù)恢復(fù)15年

兆柏數(shù)據(jù)恢復(fù)公司

?數(shù)據(jù)恢復(fù)資訊

突然停電了,我的數(shù)據(jù)還沒保存到數(shù)據(jù)庫……

瀏覽量: 次 發(fā)布日期:2023-09-11 09:47:38

突然停電了,我的數(shù)據(jù)還沒保存到數(shù)據(jù)庫……

  作者 l 陳亮

  來源 l 作者授權(quán)IT服務(wù)圈兒原創(chuàng)發(fā)布,如需轉(zhuǎn)載請聯(lián)系圈兒微信號

  最近看到全國各地都在“拉閘限電”,嚇的我趕緊登上后臺服務(wù)器,看了看MySQL數(shù)據(jù)庫是否有問題,還好一切如常,也沒聽說北京有停電通知,好歹松了一口氣。

  忽然想到一個問題,萬一數(shù)據(jù)庫正在執(zhí)行寫入操作,突然斷電了,會是怎么樣的呢?

  從MySQL V5.5開始,InnoDB成為了默認的存儲引擎。InnoDB中將頁作為磁盤管理的最小單位,數(shù)據(jù)校驗和數(shù)據(jù)寫入到磁盤都是以頁為單位操作的,通常情況下默認每個頁的大小為16KB。但由于文件系統(tǒng)對數(shù)據(jù)頁(16KB)的寫入多數(shù)情況下都不是原子操作,意味著當服務(wù)器斷電時可能只寫了部分數(shù)據(jù)。

  一個數(shù)據(jù)頁的大小是16K,假設(shè)在把內(nèi)存中的臟頁(頁中有記錄被更新過)寫到磁盤時,寫了2K突然掉電,則前2K數(shù)據(jù)是新的,后14K是舊的,那么磁盤中的這個數(shù)據(jù)頁就是不完整的,是一個壞掉的數(shù)據(jù)頁。

  可能有經(jīng)驗的DBA會想到,如果發(fā)生寫失效,可以利用redo log進行恢復(fù)。

  這也許能夠解決部分問題,但redo log中記錄的是對頁的物理操作,redo log只能加上舊的、校檢完整的數(shù)據(jù)頁恢復(fù)一個臟塊,不能修復(fù)壞掉的數(shù)據(jù)頁。如果數(shù)據(jù)頁本身已經(jīng)發(fā)生了損壞,再對其進行重做是沒有意義的。

  那么就沒有其它辦法了嗎?當然不是!這個時候double write就閃亮登場了。

  開啟了Double write(兩次寫/雙寫)后,在將內(nèi)存中的臟頁寫入到磁盤之前,會先保存該頁的副本,當磁盤中的數(shù)據(jù)頁壞掉時,可以利用副本來還原該頁,再執(zhí)行重做,這就完美的解決了redo log無法修復(fù)壞頁的問題啦。

  Double write由兩部分組成,一部分是內(nèi)存中的double write緩存,共有128個頁(2MB);另一部分是磁盤上共享表空間中連續(xù)的128個頁(2MB)。

  下面我們來看一下將數(shù)據(jù)頁寫入磁盤的過程:

  1 拷貝:當一系列機制觸發(fā)數(shù)據(jù)頁緩沖池中的臟頁(圖中黃色塊)刷新時,并不直接寫入磁盤數(shù)據(jù)文件中,而是先拷貝到內(nèi)存中的double write緩存中;

  2 順序?qū)懀航又鴮ouble write緩存區(qū)中的數(shù)據(jù)分兩次順序?qū)懭氲酱疟P的共享表空間中,每次寫入1MB。共享表空間中的double write頁是連續(xù)存儲的,采用順序?qū)懙姆绞侥軌蚝苎杆俚耐瓿蓪懟夭僮鳎_銷較小。

  3 離散寫:將double write緩存區(qū)中的臟頁數(shù)據(jù)寫入到實際的各個表空間文件。當臟頁里的數(shù)據(jù)完全寫回磁盤后,即可將double write中的頁標記為可覆蓋。

  如果在將臟頁刷新回磁盤的過程中發(fā)生崩潰,在恢復(fù)時,InnoDB存儲引擎可以從共享表空間中的double write中找到該頁的最近的一個副本,將其復(fù)制到表空間文件,再利用redo log進行重做,就完成了恢復(fù)過程。

  因存在副本,媽媽再也不用擔心我的電腦突然斷電了!

  有人可能會問,在寫redo log的時候是否需要double write支持呢?

  答案是不需要的,因為redo log在往磁盤中記錄信息的時候是以512字節(jié)為單位進行寫入的,而磁盤IO的最小單位恰巧也是512字節(jié),那么就無所謂數(shù)據(jù)損壞啦。

  有人可能會覺得開啟double write會帶來性能的損耗,其實呢,內(nèi)存中的double write緩存對應(yīng)的磁盤共享表空間的文件是連續(xù)存儲的,寫入時是順序?qū)憽m樞驅(qū)懙男阅芊浅8?,稍微犧牲一點性能來保證數(shù)據(jù)頁的完整是非常有必要的!

  有償征稿IT服務(wù)圈兒正式開啟投稿通道,稿費:60~5000元不等,長期有效!??!

  點此查看詳情

  1、微信QQ等主流應(yīng)用上線國產(chǎn)系統(tǒng)UOS:界面曝光

  2、阿里徹底拆中臺了!

  3、誰家的JDK,會嚇尿Oracle?華為,阿里,還是騰訊?

  4、再見,殺毒軟件之父,王江民!

  識別關(guān)注我們

  了解更多精彩內(nèi)容

  點分享

宿遷數(shù)據(jù)恢復(fù)

  點點贊

相關(guān)推薦

. 聯(lián)想硬盤壞了怎么辦,全面解析維修與數(shù)據(jù)恢復(fù)策略

. 控制器壞了如何修復(fù)視頻,控制器故障排查與視頻修復(fù)技巧解析

. 磁盤陣列硬盤壞了數(shù)據(jù)如何恢復(fù),專業(yè)方法與案例解析

. 手機壞了硬盤數(shù)據(jù)恢復(fù),專業(yè)技巧與軟件應(yīng)用

. 磁盤陣列壞了怎么修復(fù)啊,RAID磁盤陣列故障診斷與修復(fù)全攻略

. 硬盤壞了會影響主板嗎,硬盤損壞對主板影響概述

. dell硬盤壞了怎么備份數(shù)據(jù),數(shù)據(jù)備份與恢復(fù)全攻略

. 硬盤恢復(fù)文件都亂了怎么辦,數(shù)據(jù)恢復(fù)后文件亂碼處理指南

. 硬盤壞了存儲內(nèi)容可以取出來嗎,硬盤損壞后數(shù)據(jù)恢復(fù)的可能性及提取方法概述

. 硬盤數(shù)據(jù)恢復(fù)不能用了,硬盤數(shù)據(jù)恢復(fù)失效應(yīng)對策略與解決方案

. 聯(lián)想電腦硬盤壞了怎么辦,診斷與修復(fù)策略

. 存儲硬盤壞了可以直接換個新的硬盤嗎電腦能用嗎,電腦仍可正常使用

. 聯(lián)想電腦硬盤壞了會出現(xiàn)什么情況,常見癥狀與應(yīng)對策略

. 硬盤數(shù)據(jù)壞了恢復(fù),從診斷到恢復(fù)的全方位解析

. 硬盤壞了里面的內(nèi)容會丟嗎,數(shù)據(jù)安全如何保障?

. oracle數(shù)據(jù)庫收費標準,全面了解授權(quán)模式與費用構(gòu)成

. 硬盤壞了影響cpu嗎,硬盤壞了會影響CPU嗎?深度解析硬盤與CPU的關(guān)系

. 硬盤壞了怎么修復(fù),硬盤壞了怎么辦?數(shù)據(jù)恢復(fù)與修復(fù)指南

. 聯(lián)想電腦硬盤損壞開不了機,聯(lián)想電腦硬盤損壞開不了機?快速診斷與解決方案

. dell筆記本硬盤壞了,Dell筆記本硬盤壞了怎么辦?全面解析硬盤故障及數(shù)據(jù)恢復(fù)方法