Presentation is loading. Please wait.

Presentation is loading. Please wait.

補充 資料庫伺服器的運作.

Similar presentations


Presentation on theme: "補充 資料庫伺服器的運作."— Presentation transcript:

1 補充 資料庫伺服器的運作

2 資料庫可能遭遇的故障 資料庫管理系統所造成的故障 『非毀壞性』故障 『毀壞性』故障
天災或人禍所造成資料庫管理系統的暫時性或永久性故障都必須要有良好的回復機制,方能保證資料庫的資料能保持單元性、一致性和永久性等特性。 德明財經科技大學 資訊科技系

3 非毀壞性故障 系統在短暫時間之內不能使用,經過一段時間之後,資料庫管理系統可以依據回復技術自動恢復所有交易的一種故障
例如電源中斷,造成系統不正常的停止運作,就是一種非毀壞性的故障 資料庫管理系統如果正在處理數個並行交易,而這些進行中的交易有些尚未成功完成,便意外發生停電狀況,資料庫管理系統應該負責將此些交易真正寫入資料庫内 那些交易正進行到一半,尚未發出提交(Commit)命令,資料庫管理系統必須將這些交易取消所有操作 維持交易的單元性、一致性的轉移以及永久性。此類的故障,可以依賴資料庫管理系統本身的回復技術來達到回復的功能 德明財經科技大學 資訊科技系

4 非毀壞性故障 電腦系統損毀(computer failure) 交易或資料庫系統錯誤(transaction or DBMS error)
電腦系統可能發生硬體或軟體的故障,網路斷線或是電源突然中斷等等的問題。 交易或資料庫系統錯誤(transaction or DBMS error) 錯誤發生有可能來自交易本身問題,或是被使用者強制性中斷 例外情形發生(exception conditions) 因為在設計資料庫當初,未求資料的完整性(Integrity)所設定的條件限制(constraint),而交易在進行之中,卻發生與資料庫條件限制抵觸,而造成此交易必須回復到原始點 並行控制強制回復(concurrency control enforcement) 當數個交易在進行中,可能發生並行處理時違反『可序列性』(serializability),資料庫管理系統為保持資料的完整性和一致性,必須將該交易回復 簡單說繼續執行下去資料可能不一致 德明財經科技大學 資訊科技系

5 毀壞性故障 毀壞性的故障有可能起因設備本身(硬體),或是軟體的部份,諸如電源供應的不穩定或是天災所造成的作業系統損壞或是因為電腦病毒的入侵,導致資料庫管理系統無法再正常啟動 或是資料庫管理系統本身的損壞,造成資料庫內的所有資料全部損壞不能再存取,如此的故障稱之為『毀壞性』的故障 毀壞性的故障 在軟體的部份可以透過資料的備份(Backup)方式,或是複寫(Replicate)至另一個資料庫,此資料庫則稱為複製品(Replica) 在硬體的部份,有可能發生在主機本身或是資料的儲存設備,這些硬體的部份,可以透過『容錯系統』(Fault Tolerant System) 的方式來避免錯誤發生 德明財經科技大學 資訊科技系

6 資料庫的系統日誌 資料庫管理系統在運作時,必須要將所有交易進行的詳細資料記錄下來,做為系統在不正常的非毀壞性故障後,能藉以回復的資訊,此資訊稱之為『系統日誌』( System Log ) 『系統日誌』的主要目的在於紀錄每一筆交易的所有操作,包括讀取和寫入資料項目的詳細動作,以便能達到『資料庫回復』(Database Recovery)功能 德明財經科技大學 資訊科技系

7 系統日誌 (LOG) 在系統日誌中的每一筆紀錄則稱之為『日誌紀錄』(log records) 日誌紀錄必須包括以下五種不同操作過程
T代表每一個交易的唯一代號transaction-id,提供系統在回復時可以很清楚地區分出不同的交易 X是被寫入或讀取的資料項目 read / write代表該筆的日誌紀錄是讀取或是寫入的操作 續下頁 德明財經科技大學 資訊科技系

8 [start_transaction, T]:用以表示一個交易的開始。
[write, T, X, old_value, new_value]:write代表寫入操作 [read, T, X]:表示此項操作是讀取資料項目X [commit, T]:表示該交易已經完成交易成功 [abort, T]:表示該交易執行到此時,將放棄所有的操作 德明財經科技大學 資訊科技系

9 交易與系統日誌 德明財經科技大學 資訊科技系

10 練習 請問下面的交易,執行後會產生系統日誌內容? 假設第一次讀進X與Y分別是20與30 德明財經科技大學 資訊科技系

11 基本回復技術 資料庫管理系統所使用的『系統日誌』演算法,皆是使用『優先寫入日誌檔』(Write-Ahead Logging)的基本方法,再依據以下兩個UNDO和REDO的基本操作 UNDO(取消):就是當系統發生非毀壞性的故障時,在重新啟動資料庫管理系統之後,系統會依據系統日誌內,記錄尚未完成或是未被提交(Commit)的交易,針對這些交易所異動的資料項目執行UNDO指令,也就是已寫入系統日誌和資料庫的資料項目,將這些資料項目回復到交易進行之前的原始值,此動作稱之為UNDO。 REDO(重做一次):就是當系統發生非毀壞性的故障時,在重新啟動資料庫管理系統之後,系統會依據系統日誌內,記錄已經完成或是已被提交(Commit)的交易,針對這些交易所異動的資料項目執行REDO指令,也就是已寫入系統日誌但尚未實際寫入資料庫的資料項目,依據系統日誌的異動操作再執行一次,以便將這些被完成異動的資料項目實際寫入資料庫內。 德明財經科技大學 資訊科技系

12 系統檢查點 資料庫管理系統會週期性地在系統日誌中插入『檢查點』(checkpoint)
在系統日誌的項目(entry)中,會多一個項目為[checkpoint] 德明財經科技大學 資訊科技系

13 回復管理員 在資料庫管理系統中會有一個『回復管理員』(recovery manager)模組,專門負責資料庫中所有交易的回復工作,它可以選擇在系統日誌中插入檢查點的週期方式 在插入一個檢查點時,會執行以下四個相關的動作 暫時中止(suspend)所有執行中的交易。 將暫時儲存於主記憶體(main memory)的緩衝區(buffer)內的資料項目,且已被更改過的資料項目,強制寫入(force-write)磁碟。 在系統日誌中,新增一個[checkpoint]項目(entry),並將系統日誌之資料強制寫入磁碟。 恢復(resume)在第一項目中被暫停(suspend)的所有交易得以繼續執行。 德明財經科技大學 資訊科技系

14 檢查點範例 圖11-4有五個交易T1、T2、T3、T4和T5 『回復管理員』(recovery manager)模組在
時間點t1於系統日誌中插入一個檢查點[checkpoint],此時會將T1交易完整地強制寫(force-write)入資料庫 時間點t2發生系統故障,則『回復管理員』模組並不需要再針對交易T1執行REDO指令 交易T2與T3,系統發生故障之前結束交易,並送出提交(commit)命令,所以『回復管理員』(recovery manager)模組在執行回復動作時,會對這兩個交易執行REDO指令,讓所有被異動的資料項目全部強制寫入(force-write)資料庫和磁碟內。 續下頁 德明財經科技大學 資訊科技系

15 檢查點範例 T5 T4 T3 T2 T1 t1 t2 時間 crash [checkpoint] 德明財經科技大學 資訊科技系

16 資料庫備份與還原 資料庫管理系統內『回復管理員』(recovery manager)模組只能處理非毀壞性的故障
毀壞性的故障,例如硬碟毀壞,或是因為天災人禍所造成無法挽回的情形下,資料庫的備份將會是一項重要且不可或缺的工作 德明財經科技大學 資訊科技系

17 資料庫備份與還原 資料庫的備份可以分類為 『分享模式』 『資料內容』 『時間頻率』 『備份地點』
『線上備份』(On-Line Backup) 『離線備份』(Off-Line Backup) 『資料內容』 『時間頻率』 『備份地點』 德明財經科技大學 資訊科技系

18 線上備份 『線上備份』 設定為『共享模式』(Share Mode) 資料庫管理者在進行資料庫備份的同時,使用者也在進行不同交易的進行
所備份的資料,無法明確的標記出備份的時間 一邊進行備份一邊又進行交易,難以掌控資料的正確情形 例如下圖所示 續下頁 德明財經科技大學 資訊科技系

19 共享模式下的備份 線上備份的運作 T2 寫入 T1 寫入 資料庫 備份 備份 備份資料 t2 t3 t4 t5 t6 t1 Time
X=30 Y=80 備份 備份 備份資料 X=10 Y=80 Time t2 t3 t4 t5 t6 t1 線上備份的運作 德明財經科技大學 資訊科技系

20 離線備份 『離線備份』 設定為『獨佔模式』 (Exclusive Mode)
獨佔模式將會造成使用者在資料庫管理者進行備份的期間無法使用資料庫的情形,也就是要讓資料庫的運作暫停 『7-24』(每一週有七天、每一天有二十四小時)不中斷的要求下,此種模式是不適合 所備份的資料在未來回復計劃中,會較好掌握備份資料的內容 例如在下圖所示 續下頁 德明財經科技大學 資訊科技系

21 獨占模式下的備份 離線備份的運作 T2 寫入 T1 寫入 資料庫 備份 備份 備份資料 t2 t3 t4 t5 t6 t1 獨佔期間
X=30 Y=80 備份 備份 備份資料 X=30 Y=70 Time t2 t3 t4 t5 t6 t1 獨佔期間 離線備份的運作 德明財經科技大學 資訊科技系

22 以備份內容分類 具有龐大資料的資料庫而言,備份該資料庫所花的時間很多
如果再配合上述的『離線備份』,則此資料庫幾乎是無法正確運作,更難達到『7-24』的要求 在資料備份的內容,基本上可以區分為 『完整備份』(Full Backup) 整個資料庫的內容一次備份 『增量式備份』(Increment Backup) 依據上次增量備份後的異動量再行備份,如此所備份的資料量將會大大減少。 續下頁 德明財經科技大學 資訊科技系

23 F1 F2 F3 I1 I2 I3 I4 I5 I6 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 Time
crash crash I1 I2 I3 I4 I5 I6 Time t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 德明財經科技大學 資訊科技系

24 資料庫備份的時間距離,或是備份頻率 資料備份的地點 影響到資料庫復原時的完整度, 與所能承受的風險程度有關
例如資料庫的資料量並非很大時,可能每週六做一次的完整備份,而每天的下班後時間進行增量式備份,如此最大的風險是損失一整天的資料量 備份的策略和回復計劃都會與企業所能承受的風險程度有關。 資料備份的地點 備份的資料媒體都儲放於和該資料庫管理系統同一個地點或同一棟大樓,如此的風險有如將所有的雞蛋放置於同一個籃子之中 例如台灣地區發生於民國八十八年的九二一大地震事件,造成很多企業的資訊庫系統全毀,原因來自於當時很多人對『異地備援』的觀念不足所造成 德明財經科技大學 資訊科技系


Download ppt "補充 資料庫伺服器的運作."

Similar presentations


Ads by Google