日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

DB2崩潰后用事務(wù)日志恢復(fù)的原理和技巧(1)

瀏覽:47日期:2023-11-10 10:28:16
在系統(tǒng)崩潰之后,使用DB2的事務(wù)日志恢復(fù)數(shù)據(jù)庫(kù)。您曾多少次碰到過(guò)錯(cuò)誤消息“SQL0946C The transaction log for the database is full?在盡力解決該問(wèn)題時(shí),您是否停下來(lái)思考如下兩個(gè)問(wèn)題:1. 為何存在事務(wù)日志;2. 事務(wù)日志記錄服務(wù)的目的是什么呢?若沒(méi)有事務(wù),多個(gè)用戶和應(yīng)用程序同時(shí)與一個(gè)數(shù)據(jù)庫(kù)進(jìn)行交互時(shí)就必然會(huì)破壞數(shù)據(jù)。而假如沒(méi)有事務(wù)日志記錄,DB2 UDB中的一些據(jù)庫(kù)恢復(fù)方法就不會(huì)存在。假如您還沒(méi)有完全理解這些概念,也不必?fù)?dān)憂。我將解釋事務(wù)是什么以及事務(wù)日志記錄背后的機(jī)制。然后,我將展示在系統(tǒng)崩潰或程序故障之后,如何使用數(shù)據(jù)庫(kù)事務(wù)日志文件中所存儲(chǔ)的信息來(lái)使數(shù)據(jù)庫(kù)回歸到一致、可用的狀態(tài)。您還可以通過(guò)這些重要的日志做更多事情。在今后的專欄中,我將展示如何使用事務(wù)日志文件重現(xiàn)操作,以將數(shù)據(jù)庫(kù)恰好恢復(fù)到給定時(shí)間點(diǎn)所處的狀態(tài)。事務(wù)事務(wù)(也稱作工作單元)是指一個(gè)或多個(gè)SQL操作的序列,這些操作組合成一個(gè)單元且通常位于一個(gè)應(yīng)用程序進(jìn)程內(nèi)。該單元通常稱作是“原子的,因?yàn)樗遣豢煞值?mdash;—它的所有工作要么全都執(zhí)行,要么全都不執(zhí)行。一個(gè)給定的事務(wù)可以執(zhí)行任何數(shù)目的SQL操作(從一個(gè)到幾千個(gè),取決于業(yè)務(wù)邏輯里對(duì)于“一步的定義)。一個(gè)事務(wù)的開(kāi)始和終止定義了數(shù)據(jù)庫(kù)里數(shù)據(jù)一致性的點(diǎn);要么將事務(wù)里所執(zhí)行的所有操作的結(jié)果應(yīng)用到數(shù)據(jù)庫(kù)上,并使之成為永久的(已提交),要么將之都撤銷(回滾),使數(shù)據(jù)庫(kù)返回到啟動(dòng)該事務(wù)之前的狀態(tài)。事務(wù)是在建立到數(shù)據(jù)庫(kù)的連接之后第一次執(zhí)行SQL語(yǔ)句時(shí)或在現(xiàn)有事務(wù)終止時(shí)立即啟動(dòng)。一旦啟動(dòng),就可以使用名為原子提交的功能隱式地終止該事務(wù)。通過(guò)原子提交,會(huì)將每條可執(zhí)行的SQL語(yǔ)句當(dāng)作一個(gè)事務(wù)。假如該語(yǔ)句執(zhí)行成功,那它所做的任何修改都將應(yīng)用到數(shù)據(jù)庫(kù)上,但假如語(yǔ)句失敗,那修改將被丟棄。 1234下一頁(yè) 還可以通過(guò)執(zhí)行COMMIT或ROLLBACK SQL語(yǔ)句顯式地終止事務(wù)。這些語(yǔ)句的基本語(yǔ)法是:COMMIT <WORK>ROLLBACK <WORK>在COMMIT終止事務(wù)時(shí),會(huì)將該事務(wù)從開(kāi)始時(shí)對(duì)數(shù)據(jù)庫(kù)所做的所有修改變成永久性的。使用ROLLBACK,所有修改都將撤銷。事務(wù)所做的未提交的修改對(duì)其他用戶和應(yīng)用程序來(lái)說(shuō)是無(wú)法訪問(wèn)的,除非那些用戶和應(yīng)用程序使用的是未提交讀(UR)隔離。然而,一旦提交了事務(wù)所做的修改,它們對(duì)于所有其他用戶和應(yīng)用程序來(lái)說(shuō)就都是可以訪問(wèn)的了,并且只能通過(guò)執(zhí)行新事務(wù)中的新SQL語(yǔ)句來(lái)刪除。事務(wù)日志記錄在向一個(gè)基表進(jìn)行INSERT時(shí),首先在緩沖池中創(chuàng)建一條記錄,該緩沖池與指定該表的數(shù)據(jù)存儲(chǔ)于何處的表空間相關(guān)聯(lián)。每次更新或刪除一條記錄時(shí),就從存儲(chǔ)器中檢索包含該記錄的頁(yè)面,并復(fù)制到適當(dāng)?shù)木彌_池中,然后由UPDATE/DELETE進(jìn)行修改。一旦進(jìn)行了這一修改,就會(huì)向日志緩沖器寫(xiě)入一條反映該動(dòng)作的記錄,日志緩沖器是內(nèi)存中的另一指定存儲(chǔ)區(qū)(為日志緩沖器預(yù)留的真正存儲(chǔ)大小是由logbufsiz數(shù)據(jù)庫(kù)配置參數(shù)控制的)。假如執(zhí)行INSERT,就會(huì)寫(xiě)入一條包含了新行數(shù)據(jù)值的記錄。當(dāng)出現(xiàn)刪除時(shí),就寫(xiě)入一條包含了該行原始值的記錄。假如執(zhí)行UPDATE,就寫(xiě)入一條包含了該行原始值和新值的記錄(在大多數(shù)情況下,通過(guò)用該行的更新值在原始值上執(zhí)行EXCLUSIVE OR,為更新操作生成日志記錄)。最終,當(dāng)執(zhí)行INSERT、UPDATE或DELETE的事務(wù)終止時(shí),就將相應(yīng)的COMMIT或ROLLBACK記錄寫(xiě)入日志緩沖器。每當(dāng)激活緩沖池I/O頁(yè)面清理器,日志緩沖器本身已滿,或者提交或回滾事務(wù)時(shí),就立即將日志緩沖器中存儲(chǔ)的所有記錄寫(xiě)入磁盤(pán)上所存儲(chǔ)的一個(gè)或多個(gè)事務(wù)日志文件中。假如發(fā)生系統(tǒng)故障,日志緩沖器的不斷刷新將最小化可能丟失的日志記錄數(shù)目。一旦將與特定事務(wù)相關(guān)聯(lián)的所有日志記錄(包括相應(yīng)的COMMIT或ROLLBACK記錄)成功具體化(externalize)為一個(gè)或多個(gè)日志文件,就會(huì)將事務(wù)本身的結(jié)果復(fù)制到適當(dāng)?shù)谋砜臻g容器以永久存儲(chǔ)(已修改的數(shù)據(jù)頁(yè)本身仍保留在內(nèi)存中,在必要時(shí)可以快速進(jìn)行訪問(wèn);它們最終將被改寫(xiě))。該過(guò)程稱作寫(xiě)前日志記錄(write-ahead logging),保證對(duì)數(shù)據(jù)所做的修改在記錄到數(shù)據(jù)庫(kù)之前,總是被具體化為日志文件。見(jiàn)下圖: 上一頁(yè)1234下一頁(yè) 因?yàn)槎鄠€(gè)事務(wù)可以在任何時(shí)候使用一個(gè)數(shù)據(jù)庫(kù),所以一個(gè)日志文件可能包含屬于幾個(gè)不同事務(wù)的日志記錄。為了追蹤一條日志記錄屬于哪個(gè)事務(wù),要給每條日志記錄分配一個(gè)非凡的事務(wù)ID,將之綁定到創(chuàng)建它的事務(wù)。通過(guò)使用事務(wù)ID,可以隨時(shí)將與特定事務(wù)相關(guān)聯(lián)的日志記錄寫(xiě)入一個(gè)或多個(gè)日志文件,而不影響數(shù)據(jù)一致性——最終,對(duì)于終止該事務(wù)的操作的COMMIT或ROLLBACK記錄也將進(jìn)行日志記錄。崩潰恢復(fù)在還未提交事務(wù)的修改之前,假如發(fā)生問(wèn)題——例如,發(fā)生停電或應(yīng)用程序異常終止——會(huì)發(fā)生什么事情呢?事務(wù)所做的任何未提交或已回滾的工作都將丟失。此外,假如正在將其數(shù)據(jù)具體化(externalize)到數(shù)據(jù)庫(kù)的已提交事務(wù)遭到破壞,該數(shù)據(jù)庫(kù)將處于不一致、不可用的狀態(tài)(每當(dāng)嘗試建立連接時(shí),不一致的數(shù)據(jù)庫(kù)將生成返回代碼和錯(cuò)誤消息)。您無(wú)法恢復(fù)內(nèi)存中所存儲(chǔ)的事務(wù)記錄,但是可以通過(guò)執(zhí)行名為崩潰恢復(fù)的操作,將不一致的數(shù)據(jù)庫(kù)恢復(fù)為一致、可用的狀態(tài)。啟動(dòng)崩潰恢復(fù)的最常用方法就是從DB2命令行處理器(DB2 Command Line Processor,CLP)執(zhí)行RESTART命令。該命令的基本語(yǔ)法是:RESTART [DATABASE | DB][DatabaseName]USER [UserName] < USING[Password] > >< DROP PENDING TABLESPACES( [TS_Name] , ... ) >< WRITE RESUME >其中:DatabaseName 指示分配給嘗試進(jìn)行恢復(fù)的數(shù)據(jù)庫(kù)的名稱。UserName 指示分配給用戶的名稱,崩潰恢復(fù)將在該用戶的權(quán)限下執(zhí)行。 上一頁(yè)1234下一頁(yè) Password 指示與用戶名稱相對(duì)應(yīng)的密碼,崩潰恢復(fù)將在該用戶的權(quán)限下執(zhí)行。TS_Name 指示分配給一個(gè)或多個(gè)表空間的名稱,假如在嘗試將表空間恢復(fù)為一致?tīng)顟B(tài)時(shí)碰到錯(cuò)誤,那么這些表空間將被禁用或置為Drop Pending模式。注重:尖括號(hào)(< >)中顯示的參數(shù)是可選的;方括號(hào)([ ])中顯示的參數(shù)是必需的;逗號(hào)后面加省略號(hào)(, ...)表示前面的參數(shù)可以重復(fù)多次。關(guān)于 RESTART 命令的完整語(yǔ)法,請(qǐng)參閱IBM DB2 Universal Database, Version 8 Command Reference(ftp.software.ibm.com/ps/products/db2/info/vr8/pdf/letter/db2n0e80.pdf)。假如需要在名為SAMPLE的數(shù)據(jù)庫(kù)上執(zhí)行崩潰恢復(fù)操作,就執(zhí)行RESTART DATABASE SAMPLE命令。您還可以配置數(shù)據(jù)庫(kù),以便每當(dāng)用戶或應(yīng)用程序嘗試連接處于不一致?tīng)顟B(tài)時(shí),它就會(huì)自動(dòng)啟動(dòng)崩潰恢復(fù)。僅僅需要將值ON分配給數(shù)據(jù)庫(kù)的AUTORESTART配置參數(shù)(每當(dāng)激活數(shù)據(jù)庫(kù)或嘗試建立連接時(shí),DB2 Database Manager就檢查數(shù)據(jù)庫(kù)的狀態(tài)。當(dāng)autorestart配置參數(shù)設(shè)置為ON時(shí),假如數(shù)據(jù)庫(kù)處于不一致的狀態(tài),Database Manager就自動(dòng)執(zhí)行RESTART命令)。在進(jìn)行崩潰恢復(fù)時(shí),將分析數(shù)據(jù)庫(kù)事務(wù)日志文件中存儲(chǔ)的記錄,并將每條具有相應(yīng)COMMIT記錄的事務(wù)記錄重新應(yīng)用到數(shù)據(jù)庫(kù)。重現(xiàn)然后撤銷沒(méi)有相應(yīng)COMMIT記錄的所有記錄(這就是為何要為所有更新操作記錄前后信息的原因)。因?yàn)槿罩居涗涱l繁進(jìn)行具體化,且由特定事務(wù)所做的修改只有當(dāng)事務(wù)本身成功終止時(shí)才進(jìn)行具體化,所以在故障之后將數(shù)據(jù)庫(kù)恢復(fù)到一致性狀態(tài)的能力總是能得到保證。崩潰恢復(fù)只是事務(wù)日志所提供的功能中的一種。在處理前滾恢復(fù)時(shí),我將展示如何可以使用事務(wù)日志文件中所存儲(chǔ)的記錄將數(shù)據(jù)庫(kù)恢復(fù)到任何指定時(shí)間點(diǎn)所處的狀態(tài)。但是您首先需要理解備份映像和版本恢復(fù)等概念,我將在下一專欄中介紹這兩個(gè)主題。 上一頁(yè)1234
標(biāo)簽: DB2 數(shù)據(jù)庫(kù)
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲欧洲一区二区天堂久久| 蜜臀精品久久久久久蜜臀| 色爱av综合网| 久久xxx视频| 日本视频一区二区| 色8久久久久| 亚洲三级在线| 日韩欧美中文字幕电影| 黄色亚洲精品| 久久福利影视| 中文字幕中文字幕精品| 色综合视频一区二区三区日韩 | 日本欧美不卡| 欧美xxxx中国| 欧美午夜精彩| 一区二区三区国产在线| 四虎精品永久免费| 日韩av网站在线观看| 国产精品欧美一区二区三区不卡 | 日本在线精品| 香蕉精品视频在线观看| 亚洲欧洲美洲国产香蕉| 国产日韩视频| 99久久久久国产精品| 成人在线超碰| 99精品国产一区二区三区| 久久av一区二区三区| 日本在线成人| 国产一区二区色噜噜| 亚洲欧美日韩在线观看a三区| 久久国产精品免费一区二区三区 | 日本色综合中文字幕| 国产欧洲在线| 日韩 欧美一区二区三区| 国产 日韩 欧美 综合 一区| 青青久久av| 日本在线不卡视频一二三区| 97精品国产| 亚洲不卡视频| 国产一区二区精品久| 精品中文一区| 麻豆精品在线播放| 香蕉久久久久久久av网站| 国产精品毛片视频| 伊人久久亚洲热| 夜鲁夜鲁夜鲁视频在线播放| 97精品国产99久久久久久免费| 欧美91视频| 国产+成+人+亚洲欧洲在线| 中文字幕av一区二区三区四区| 精品美女视频| 日韩精品免费视频一区二区三区 | 日韩在线短视频| 日本成人在线网站| 欧美精品黄色| 国产一区观看| 电影天堂国产精品| 国产成人a视频高清在线观看| 青草av.久久免费一区| 亚洲综合中文| 日韩在线一二三区| 人人精品人人爱| 999精品一区| 日韩欧美一区二区三区在线观看| 久久99视频| 欧美a在线观看| 国产欧美日韩影院| 欧美国产亚洲精品| 日韩av网站在线观看| 日韩在线播放一区二区| 国产aⅴ精品一区二区四区| 国产精品久久久久久妇女| 在线一区二区三区视频| 欧美91精品| 香蕉国产精品| 99精品99| 亚洲人成亚洲精品| 在线观看亚洲精品福利片| 亚洲精品2区| 亚洲丝袜美腿一区| 色综合视频一区二区三区日韩 | 国产精品调教视频| 国产一区二区三区精品在线观看| 久久精品国产一区二区| 国产suv精品一区二区四区视频 | 久久中文字幕av| 在线亚洲精品| 亚洲乱码视频| 国精品产品一区| 婷婷亚洲五月| 国产精品羞羞答答在线观看| 青青青国产精品| 精品国产鲁一鲁****| 99精品视频在线| 免费黄网站欧美| 久久只有精品| 视频在线观看一区| 高清一区二区| 亚洲有吗中文字幕| 91偷拍一区二区三区精品| 在线免费观看亚洲| 热三久草你在线| 亚洲a级精品| 久久免费大视频| 欧美激情久久久久久久久久久| 91精品久久久久久久久久不卡| 999在线观看精品免费不卡网站| 91精品国产经典在线观看| 欧美性感美女一区二区| 国产精品日韩精品在线播放| 欧美精品一二| 国产一区二区三区四区| 日韩精品中文字幕吗一区二区| 精品欠久久久中文字幕加勒比| 亚洲资源在线| 免费日韩一区二区| 99久久亚洲精品| 欧美日韩在线观看首页| 国产日韩精品视频一区二区三区| 亚洲一区黄色| 99精品电影| 久久精品资源| 麻豆国产精品| 久久国产免费看| 水野朝阳av一区二区三区| 久久视频精品| 成人羞羞视频播放网站| 日韩国产欧美| 久久99国产精品视频| 国产精品亚洲成在人线| 国产欧美久久一区二区三区| 中文字幕成人| 午夜精品福利影院| 深夜福利亚洲| 国产精品最新| 久久麻豆视频| 亚洲精品大片| 日韩av一区二区三区| 日本午夜精品一区二区三区电影 | 国产视频亚洲| 亚洲欧美日本国产专区一区| 99在线观看免费视频精品观看| 不卡在线一区二区| 性欧美69xoxoxoxo| 免费观看在线综合| 日韩不卡一区二区| 国产精品蜜月aⅴ在线| 久久久国产精品入口麻豆| 国产中文欧美日韩在线| 久久精品电影| 欧美日韩国产一区二区三区不卡| 野花国产精品入口| 国产精品.xx视频.xxtv| 久久久久久久久丰满| 综合一区二区三区| 高清一区二区三区av| 91国语精品自产拍| 久久国产精品免费一区二区三区| 欧美日韩国产观看视频| 黄色亚洲在线| 国产亚洲第一伦理第一区| 鲁鲁在线中文| 亚洲精品成人一区| 免费观看亚洲| 69精品国产久热在线观看| 精品国产乱码| 亚洲涩涩av| 日韩国产综合| 日韩国产欧美一区二区三区| 91亚洲国产成人久久精品| 亚洲tv在线| 日韩视频二区| 国产精品二区不卡| 久久精品凹凸全集| 免费看的黄色欧美网站| 日韩精品水蜜桃| 麻豆精品少妇| 久久精品999| 日韩精品91亚洲二区在线观看| 亚洲高清久久| 国产精品欧美在线观看| 91精品国产91久久久久久黑人| 国产精品亚洲人成在99www| 日本欧美在线看| sm捆绑调教国产免费网站在线观看| 日韩黄色免费网站| 视频一区欧美日韩| 在线天堂中文资源最新版| 日韩在线欧美| 欧美激情亚洲| 一区二区三区午夜视频| 久久久久蜜桃| 国产精品不卡| 精品成人18| 国产剧情在线观看一区| 综合国产视频| 噜噜噜躁狠狠躁狠狠精品视频| 性感美女一区二区在线观看| 亚洲人成在线网站| 国产日韩一区|