国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

DB2事務日志行為分析及對策

2018-03-21 15:41
數(shù)字通信世界 2018年10期
關(guān)鍵詞:磁盤事務日志

柴 新

(江蘇電力信息技術(shù)有限公司,南京 210024)

1 引言

DB2數(shù)據(jù)庫是廣泛使用的大型關(guān)系型數(shù)據(jù)庫,事務日志在數(shù)據(jù)庫運行中扮演著非常重要的角色,沒有事務日志的參與,DB2數(shù)據(jù)庫就無法保證數(shù)據(jù)的一致性和可恢復性。數(shù)據(jù)庫中運行的事務會耗用日志存儲空間,如果有長久未提交事務或數(shù)據(jù)修改量巨大的大事務,容易出現(xiàn)事務日志空間被耗盡的現(xiàn)象,本文提出了針對性的防范措施。

2 什么是事務日志

所謂數(shù)據(jù)庫的一致性,就是當數(shù)據(jù)庫崩潰恢復或前滾到某一個時間點時,數(shù)據(jù)庫能夠保證已經(jīng)提交事務的數(shù)據(jù)都被寫入磁盤,而所有未提交和回滾事務都被撤銷。為了保障數(shù)據(jù)的一致性,數(shù)據(jù)庫需要有一種機制提供以下功能:

(1)若某事務回滾,數(shù)據(jù)庫需要知道被修改前的舊數(shù)據(jù)。

(2)數(shù)據(jù)庫發(fā)生崩潰時,保存在緩沖池中的已提交事務的數(shù)據(jù)可能還沒有寫入物理磁盤,磁盤上的數(shù)據(jù)還是舊數(shù)據(jù),如何保證已提交事務的數(shù)據(jù)不丟失?

在DB2中,正是事務日志提供了以上問題的解決方案。所謂事務日志,就是在一個事務被提交之后,保證該事務里修改后的數(shù)據(jù)能夠被寫入永久存儲介質(zhì)的一種機制,目的在于保證提交事務包含的數(shù)據(jù)不會丟失。為了提高系統(tǒng)的性能,DB2采用日志優(yōu)先算法,也就是先把記錄寫入日志文件,后將數(shù)據(jù)從緩沖池使用異步方式寫入磁盤。

3 循環(huán)日志和歸檔日志

DB2使用主日志和輔助日志文件來控制、分配日志存儲空間,當數(shù)據(jù)庫啟動后,就預先分配了規(guī)定數(shù)目的主日志文件,而輔助日志文件是當主日志文件的空間被耗盡后進行按需分配,當數(shù)據(jù)庫不再需要時會向操作系統(tǒng)釋放空間。

DB2有兩種方式來使用日志文件:循環(huán)日志模式、歸檔日志模式。循環(huán)日志模式就是對多個事務日志文件進行循環(huán)使用,每個事務日志文件的內(nèi)容會不斷被新日志條目數(shù)據(jù)所覆蓋,而歸檔日志模式與循環(huán)日志模式的最大區(qū)別就是事務日志文件的內(nèi)容在被新日志條目覆蓋之前首先被進行保存,這一保存的過程就被稱之為歸檔,歸檔日志模式保留了數(shù)據(jù)庫所有數(shù)據(jù)更改活動的完整軌跡,因而能夠支持時間點前滾恢復,也就是使用一個數(shù)據(jù)庫的完全備份映像加上其后的所有歸檔日志文件能將數(shù)據(jù)庫恢復到故障前時刻,并且歸檔日志模式能夠支持數(shù)據(jù)庫的在線備份。循環(huán)日志模式只能支持崩潰恢復和版本恢復,不能支持前滾恢復,并且只能支持數(shù)據(jù)庫離線備份,不能進行在線備份。所以,從以上對比可以看出,歸檔日志模式更能有效地保護數(shù)據(jù)庫安全,在生產(chǎn)環(huán)境中,基本上都是配置為歸檔日志模式,用在線備份加歸檔日志的方式來保護數(shù)據(jù)庫安全。

歸檔模式下,DB2在以下情況對事務日志文件進行歸檔:(1)事務日志文件被寫滿,即使事務日志文件仍然含有未提交事務;(2)事務日志文件未被寫滿,但發(fā)生以下任意一種情況:數(shù)據(jù)庫被取消激活、發(fā)出archive log命令、在線備份結(jié)束等。

4 限制事務消耗事務日志空間的對策

使用DB2數(shù)據(jù)庫的信息系統(tǒng),若事務使用不當,會對數(shù)據(jù)庫運行造成嚴重影響,妨礙數(shù)據(jù)庫的并發(fā)性和可用性。包括下面兩種場景:

(1)未提交事務。一個事務中的sql語句執(zhí)行結(jié)束后,應馬上對事務進行提交或回滾,以釋放日志空間,但是如果在sql語句執(zhí)行結(jié)束后沒有提交或回滾事務,那么這種事務就可被稱為未提交事務,隨著時間推移系統(tǒng)中其他事務的進行,事務日志在不斷進行切換,其可用空閑空間會不斷減少,未提交事務持續(xù)的時間越久,其對數(shù)據(jù)庫造成的危害就可能會越高,即使該事務是一個修改數(shù)據(jù)量很小的小事務,其原因是包含著未提交事務的事務日志文件因不能被覆蓋重寫,造成數(shù)據(jù)庫無可用存儲空間記錄新的事務數(shù)據(jù)而停止數(shù)據(jù)處理,這時即使運行一個修改數(shù)據(jù)量很小的sql語句,DB2也會報出SQL0964C事務日志滿的錯誤。

(2)大事務。大事務是指修改數(shù)據(jù)量很大的事務,由于數(shù)據(jù)修改前的舊映像要保存在事務日志中,可能會因事務日志文件沒有足夠空間存儲被修改數(shù)據(jù)的舊映像而發(fā)生SQL0964C事務日志滿的錯誤。當這種情況發(fā)生時,大事務會回滾,并且新事務不能運行,直至大事務回滾完成釋放了日志空間。

以上兩種情況都會嚴重影響數(shù)據(jù)庫的可操作行或并發(fā)性,DB2的配置參數(shù)num_log_span可用來防范以上情況發(fā)生。它的作用是限制一個事務所跨越的日志文件的數(shù)量,當超過設置值時,事務被DB2系統(tǒng)自動中斷,事務回滾,日志釋放,從而保證數(shù)據(jù)庫繼續(xù)有空閑的日志空間來記錄新的事務數(shù)據(jù)。一般來說,事務設計要遵循數(shù)據(jù)修改量小、及時提交等原則,以能保證數(shù)據(jù)庫不會因為事務日志而出現(xiàn)故障。

5 結(jié)束語

事務日志對DB2數(shù)據(jù)庫有非常重要的作用,本文以DB2數(shù)據(jù)庫事務日志為研究對象,說明了不同場景下事務日志的不同配置模式,及應對事務日志空間耗盡的防范方法,對基于DB2開發(fā)的信息系統(tǒng)穩(wěn)定運行,希望對DBA能起到幫助作用。

猜你喜歡
磁盤事務日志
基于分布式事務的門架數(shù)據(jù)處理系統(tǒng)設計與實現(xiàn)
一名老黨員的工作日志
扶貧日志
河湖事務
解決Windows磁盤簽名沖突
修改磁盤屬性
雅皮的心情日志
基于OCC-DA-MCP算法的Redis并發(fā)控制
游學日志
磁盤組群組及iSCSI Target設置
佛坪县| 安丘市| 宁乡县| 平阳县| 涿鹿县| 西华县| 九江市| 嘉黎县| 延寿县| 达日县| 枣庄市| 冕宁县| 庆城县| 赣榆县| 庆云县| 靖西县| 东源县| 绵竹市| 呼图壁县| 台东市| 泸定县| 确山县| 浏阳市| 阜阳市| 饶河县| 巴中市| 石城县| 孟村| 新丰县| 泰来县| 绿春县| 西乌珠穆沁旗| 和田县| 吉林省| 平远县| 比如县| 晋中市| 屯留县| 朔州市| 昌江| 邻水|