COMMIT <WORK>
ROLLBACK <WORK>
在COMMIT終止事務時,會將該事務從開始時對數據庫所做的所有修改變成永久性的。使用ROLLBACK,所有修改都將撤銷?! ∈聞账龅奈刺峤坏男薷膶ζ渌脩艉蛻贸绦騺碚f是無法訪問的,除非那些用戶和應用程序使用的是未提交讀(UR)隔離。然而,一旦提交了事務所做的修改,它們對于所有其他用戶和應用程序來說就都是可以訪問的了,并且只能通過執行新事務中的新SQL語句來刪除?! ∈聞杖罩居涗洝 ≡谙蛞粋€基表進行INSERT時,首先在緩沖池中創建一條記錄,該緩沖池與指定該表的數據存儲于何處的表空間相關聯。每次更新或刪除一條記錄時,就從存儲器中檢索包含該記錄的頁面,并復制到適當的緩沖池中,然后由UPDATE/DELETE進行修改。一旦進行了這一修改,就會向日志緩沖器寫入一條反映該動作的記錄,日志緩沖器是內存中的另一指定存儲區(為日志緩沖器預留的真正存儲大小是由logbufsiz數據庫配置參數控制的)。假如執行INSERT,就會寫入一條包含了新行數據值的記錄。當出現刪除時,就寫入一條包含了該行原始值的記錄。假如執行UPDATE,就寫入一條包含了該行原始值和新值的記錄(在大多數情況下,通過用該行的更新值在原始值上執行EXCLUSIVE OR,為更新操作生成日志記錄)。最終,當執行INSERT、UPDATE或DELETE的事務終止時,就將相應的COMMIT或ROLLBACK記錄寫入日志緩沖器?! ∶慨敿せ罹彌_池I/O頁面清理器,日志緩沖器本身已滿,或者提交或回滾事務時,就立即將日志緩沖器中存儲的所有記錄寫入磁盤上所存儲的一個或多個事務日志文件中。假如發生系統故障,日志緩沖器的不斷刷新將最小化可能丟失的日志記錄數目。一旦將與特定事務相關聯的所有日志記錄(包括相應的COMMIT或ROLLBACK記錄)成功具體化(externalize)為一個或多個日志文件,就會將事務本身的結果復制到適當的表空間容器以永久存儲(已修改的數據頁本身仍保留在內存中,在必要時可以快速進行訪問;它們最終將被改寫)。該過程稱作寫前日志記錄(write-ahead logging),保證對數據所做的修改在記錄到數據庫之前,總是被具體化為日志文件。見下圖: 上一頁1234下一頁 RESTART [DATABASE | DB]
[DatabaseName]
USER [UserName] < USING
[PassWord] > >
< DROP PENDING TABLESPACES
( [TS_Name] , ... ) >
< WRITE RESUME >
其中: DatabaseName 指示分配給嘗試進行恢復的數據庫的名稱?! serName 指示分配給用戶的名稱,崩潰恢復將在該用戶的權限下執行。 上一頁1234下一頁 Password 指示與用戶名稱相對應的密碼,崩潰恢復將在該用戶的權限下執行?! S_Name 指示分配給一個或多個表空間的名稱,假如在嘗試將表空間恢復為一致狀態時碰到錯誤,那么這些表空間將被禁用或置為Drop Pending模式?! ∽⒅兀杭饫ㄌ枺?lt; >)中顯示的參數是可選的;方括號([ ])中顯示的參數是必需的;逗號后面加省略號(, ...)表示前面的參數可以重復多次。關于 RESTART 命令的完整語法,請參閱IBM DB2 Universal Database, Version 8 Command Reference(ftp.software.ibm.com/ps/products/db2/info/vr8/pdf/letter/db2n0e80.pdf)。 假如需要在名為SAMPLE的數據庫上執行崩潰恢復操作,就執行RESTART DATABASE SAMPLE命令?! ∧€可以配置數據庫,以便每當用戶或應用程序嘗試連接處于不一致狀態時,它就會自動啟動崩潰恢復。僅僅需要將值ON分配給數據庫的AUTORESTART配置參數(每當激活數據庫或嘗試建立連接時,DB2 Database Manager就檢查數據庫的狀態。當autorestart配置參數設置為ON時,假如數據庫處于不一致的狀態,Database Manager就自動執行RESTART命令)?! ≡谶M行崩潰恢復時,將分析數據庫事務日志文件中存儲的記錄,并將每條具有相應COMMIT記錄的事務記錄重新應用到數據庫。重現然后撤銷沒有相應COMMIT記錄的所有記錄(這就是為何要為所有更新操作記錄前后信息的原因)。因為日志記錄頻繁進行具體化,且由特定事務所做的修改只有當事務本身成功終止時才進行具體化,所以在故障之后將數據庫恢復到一致性狀態的能力總是能得到保證?! ”罎⒒謴椭皇鞘聞杖罩舅峁┑墓δ苤械囊环N。在處理前滾恢復時,我將展示如何可以使用事務日志文件中所存儲的記錄將數據庫恢復到任何指定時間點所處的狀態。但是您首先需要理解備份映像和版本恢復等概念,我將在下一專欄中介紹這兩個主題。 上一頁1234 新聞熱點
疑難解答