事務的概念:事務(transaction)是使用者定義的乙個資料庫操作序列,這些操作要麼全做,要麼全不做,是乙個不可分割的工作單位。
事務和程式是兩個概念:
1.在關聯式資料庫中,乙個事務可以是一條sql語句,一組sql語句或整個程式
2.乙個程式通常包含多個事務
事務是恢復和併發控制的基本單位
事務的acid特性:
1.原子性(atomicity) 2.一致性(consistency)3. 隔離性(isolation) 4.持續性(durability )
事務中包括的諸操作要麼都做,要麼都不做
一致性狀態 :資料庫中只包含成功事務提交的結果
不一致狀態: 資料庫系統執行中發生故障,有些事務尚未完成就被迫中斷; 這些未完成事務對資料庫所做的修改有一部分已寫入物 理資料庫,這時資料庫就處於一種不正確的狀態
保證事務acid特性是事務處理的任務
破壞事務acid特性的因素
(1) 多個事務並行執行時,不同事務的操作交叉執行
*資料庫管理系統必須保證多個事務的交叉執行不影響這些事務的隔離性
(2)事務在執行過程中被強行停止
*資料庫管理系統必須保證被強行終止的事務對資料庫和其他事務沒有任何影響
資料庫管理系統必須具有把資料庫從錯誤狀態恢復到某一已知的正確狀態(亦稱為一致狀態或完整狀態)的功能,這就是資料庫的恢復管理系統對故障的對策
1.有的是可以通過事務程式本身發現的(見下面轉賬事 務的例子)
2.有的是非預期的,不能由事務程式處理的。
1.運算溢位
2.併發事務發生死鎖而被選中撤銷該事務
3.違反了某些完整性限制而被終止等
事務故障意味著:1. 事務沒有達到預期的終點(commit或者顯式的rollback) 2.資料庫可能處於不正確狀態
事務故障的恢復:事務撤消(undo)
1.強行回滾(rollback)該事務
2.撤銷該事務已經作出的任何對資料庫的修改,使得該事務象根本沒有啟動一樣
1.整個系統的正常執行突然被破壞
2.所有正在執行的事務都非正常終止
3.不破壞資料庫
4.記憶體中資料庫緩衝區的資訊全部丟失
1.特定型別的硬體錯誤(如cpu故障)
2.作業系統故障
3.資料庫管理系統**錯誤
4.系統斷電
發生系統故障時,一些尚未完成的事務的結果可能已送入物理資料庫,造成資料庫可能處於不正確狀態。
恢復策略:系統重新啟動時,恢復程式讓所有非正常終止的事務回滾,強行撤消(undo)所有未完成事務
發生系統故障時,有些已完成的事務可能有一部分甚至全部留在緩衝區,尚未寫回到磁碟上的物理資料庫中,系統故障使得這些事務對資料庫的修改部分或全部丟失
恢復策略:系統重新啟動時,恢復程式需要重做(redo)所有已提交的事務
介質故障:稱為硬故障,指外存故障
磁碟損壞
磁頭碰撞
瞬時強磁場干擾
介質故障破壞資料庫或部分資料庫,並影響正在訪問這部分資料的所有事務
介質故障比前兩類故障的可能性小得多,但破壞性大得多
計算機病毒 :一種人為的故障或破壞,是一些惡作劇者研製的一種電腦程式, 可以繁殖和傳播,造成對計算機系統包括資料庫的危害
計算機病毒種類 1.小的病毒只有20條指令,不到50b
2.大的病毒像乙個作業系統,由上萬條指令組成
計算機病毒的危害
1.有的病毒傳播很快,一旦侵入系統就馬上摧毀系統
2.有的病毒有較長的潛伏期,計算機在感染後數天或數月才開始發病
3.有的病毒感染系統所有的程式和資料 4.有的只對某些特定的程式和資料感興趣
計算機病毒已成為計算機系統的主要威脅,自然也是資料庫系統的主要威脅
資料庫一旦被破壞仍要用恢復技術把資料庫加以恢復
各類故障,對資料庫的影響有兩種可能性:1.一是資料庫本身被破壞
2.二是資料庫沒有被破壞,但資料可能不正確,這是由於事務的執行被非正常終止造成的。
恢復操作的基本原理:冗餘
利用儲存在系統別處的冗餘資料來重建資料庫中已被破壞或不正確的那部分資料
恢復的實現技術:複雜
乙個大型資料庫產品,恢復子系統的**要佔全部**的10%以上
資料轉儲
1.資料庫遭到破壞後可以將後備副本重新裝入
2.重灌後備副本只能將資料庫恢復到轉儲時的狀態
3.要想恢復到故障發生時的狀態,必須重新執行自轉儲以後的所有更新事務
linux 第十章 資料庫
0.背景 實際開發環境中,前端程式需要在給定時間段內,將資料更新 插入到mysql指定的庫表中。隨著資料量的增多,基礎庫表基數的增長,每更新一次都會有5s左右的卡頓。改進方案一 批量更新,累計數10條或者100條進行一次更新入庫操作 改進方案二 將當前日期前1個月之前的資料進行備份操作,並刪除當前庫...
第十章 資料庫恢復技術
一 事務 1,定義 事務是使用者定義的乙個資料庫操作系列,這些操作要麼全做,要麼全不做,是乙個不可分割的工作單位 2,事務和程式是兩個概念,乙個程式可以包含多個事務 3,事務是恢復和併發控制的基本單位 4,事務的特性 1 原子性 2 一致性 3 隔離性 4 持續性 注 事務特性的作用 保證事務aci...
4 29 20 資料庫第十章作業
1.考慮上圖所示的日誌記錄 1 如果系統故障發生在14之後,說明哪些事務需要重做,哪些事務需要回滾。t1和t3需要重做,t4需要回滾。t2已經回滾,所以無需關心t2。t4未完成應該回滾。t1 t3均已提交,需要重做 2 如果系統故障發生在10之後,說明哪些事務需要重做,哪些事務需要回滾。t1需要重做...