溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于數(shù)據(jù)庫文件損壞風險的提醒

發(fā)布時間:2020-07-31 20:55:05 來源:網(wǎng)絡 閱讀:1008 作者:DBA小y 欄目:關系型數(shù)據(jù)庫

前言


小y最近處理了幾起Oracle數(shù)據(jù)庫文件損壞的case,因為某些Bug風險較大,因此不敢有絲毫怠慢,趕緊拿出來分享!希望能夠幫助到有需要的朋友!風險提示!


關于數(shù)據(jù)庫文件損壞風險的提醒


如上圖所示,Linux 5/6上的一個已知缺陷,在某些觸發(fā)條件下,將導致Oracle數(shù)據(jù)文件出現(xiàn)內(nèi)容全是0的的壞塊。該操作系統(tǒng)上的缺陷,除了會導致Oracle數(shù)據(jù)庫數(shù)據(jù)文件損壞外,還會導致包括歸檔日志、在線日志的損壞。而如果是current狀態(tài)的在線日志發(fā)生損壞,那么對于數(shù)據(jù)庫的影響將是致命的。需要引起重視!


BUG觸發(fā)條件:


當同時滿足下列條件下時,會觸發(fā)一個Linux上的已知缺陷,導致數(shù)據(jù)庫數(shù)據(jù)文件或歸檔文件或在線日志文件的損壞:


1、  操作系統(tǒng)為Linux,版本為Redhat 5/6 或Oralce Linux 5/6

2、  數(shù)據(jù)文件/歸檔日志/在線日志所在的文件系統(tǒng)采用ext4

3、  數(shù)據(jù)庫參數(shù)filesystemio_options=SETALL(為了提升IO性能而設置)

4、  數(shù)據(jù)庫版本從10g到12c


如何修復?


1、臨時的,可以通過修改數(shù)據(jù)庫參數(shù)來繞開該BUG


filesystemio_options=none或

filesystemio_options=ASYNCH或

filesystemio_options=DIRECTIO


2、進一步的,建議盡快修復Linux操作系統(tǒng)的缺陷


對于Redhat 5

在kernel-2.6.18-238.el5 - RHEL5.6 Errata   RHSA-2011-0017 或更高的版本中修復
對于Redhat 6

在kernel-2.6.32-71 或更高的kernel版本中修復


更多內(nèi)容,可以參考My Oracle Support,參考文檔號1487957.1:

ORA-1578   ORA-353 ORA-19599 Corrupt blocks with zeros when filesystemio_options=SETALL   on ext4 file system using Linux (Doc ID 1487957.1)


小y已經(jīng)好幾次處理該類型的case,接下來看一個最近的一個CASE。



相關案例分享


小y不是個懂得生活的人,故障處理、性能調(diào)優(yōu)等工作占據(jù)了小y的全部生活,剩下的時間就是在補覺(好無趣的人?。?。小y也曾幻想走出門,多交些朋友。但小y不善言談,幫助他人解決問題就是小y交朋友的典型方式。

最近在微信里,看到jeanron楊建榮的Oracle公眾號發(fā)表了一篇名為<最近讓我焦灼的四個問題>的文章。其中第一個問題就是dataGuard備庫老報壞塊的問題。報錯如下所示

對于這個問題,jeanron已經(jīng)分析了各種場景,前前后后做了不下十多種測試,基本都排除了,重建了多次,問題還是沒能解決。


看完該文章的時候,結合過去所處理的case,小y已經(jīng)基本上可以斷定:

Jeanron很不幸,他遇到了文章一開始我們所提到的Bug了!

雖然和jeanron不熟,但幫助人和交朋友是小y現(xiàn)在很樂意做的事情。

于是小y私信了他,告訴他可能遇到操作系統(tǒng)的Bug了,并讓他做了以下檢查,很幸運的,小y又一次猜對了。

1、檢查操作系統(tǒng)版本


檢查結果,滿足bug的觸發(fā)條件Redhat 5.3


2、檢查kernel版本:


關于數(shù)據(jù)庫文件損壞風險的提醒

檢查結果,Linux的該Bug在kernel-2.6.18-238.el5以下會觸發(fā),

而該Kernel版本為2.6.18-194,滿足Bug觸發(fā)條件


3、檢查數(shù)據(jù)庫文件存放的目錄:


關于數(shù)據(jù)庫文件損壞風險的提醒

檢查結果,數(shù)據(jù)庫文件存放在/home目錄下,該目錄是ext4文件系統(tǒng),滿足Bug觸發(fā)條件


4、檢查filesystemio_options參數(shù):


關于數(shù)據(jù)庫文件損壞風險的提醒

檢查結果,數(shù)據(jù)庫參數(shù)filesystemio_options為SETALL,即同時支持異步IO和DIRECT IO,,滿足Bug觸發(fā)條件。


5、結論和結果


可以看到,所有觸發(fā)條件全部滿足,至此可以確認命中一開始提到的Linux BUG了。

在調(diào)整filesystemio_options=NONE后,jeanron確認問題得到最終解決。

小y很開心,除了解決問題帶來的成就感之外,

自己的經(jīng)驗可以幫到客戶、幫到朋友,還可以交到朋友,

那不就是小y的追求么!


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI