【中亦安圖】關於資料庫檔案損壞風險的提醒(3)
第一章 技術人生系列 · 我和資料中心的故事(第三期)-中亦科技關於資料庫檔案損壞風險的提醒
中亦安圖 | 2016-01-19 21:38
前言
小y最近處理了幾起Oracle資料庫檔案損壞的case,因為某些Bug風險較大,因此不敢有絲毫怠慢,趕緊拿出來分享!希望能夠幫助到有需要的朋友!風險提示!
如上圖所示,Linux 5/6上的一個已知缺陷,在某些觸發條件下,將導致Oracle資料檔案出現內容全是0的的壞塊。該作業系統上的缺陷,除了會導致Oracle資料庫資料檔案損壞外,還會導致包括歸檔日誌、線上日誌的損壞。而如果是current狀態的線上日誌發生損壞,那麼對於資料庫的影響將是致命的。需要引起重視!
BUG觸發條件:
當同時滿足下列條件下時,會觸發一個Linux上的已知缺陷,導致資料庫資料檔案或歸檔檔案或線上日誌檔案的損壞:
1、 作業系統為Linux,版本為Redhat 5/6 或Oralce Linux 5/6
2、 資料檔案/歸檔日誌/線上日誌所在的檔案系統採用ext4
3、 資料庫引數filesystemio_options=SETALL(為了提升IO效能而設定)
4、 資料庫版本從10g到12c
如何修復?
1、臨時的,可以透過修改資料庫引數來繞開該BUG
filesystemio_options=none或
filesystemio_options=ASYNCH或
filesystemio_options=DIRECTIO
2、進一步的,建議儘快修復Linux作業系統的缺陷
對於Redhat 5
在kernel-2.6.18-238.el5 - RHEL5.6 Errata RHSA-2011-0017 或更高的版本中修復
對於Redhat 6
在kernel-2.6.32-71 或更高的kernel版本中修復
更多內容,可以參考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已經好幾次處理該型別的case,接下來看一個最近的一個CASE。
相關案例分享
小y不是個懂得生活的人,故障處理、效能調優等工作佔據了小y的全部生活,剩下的時間就是在補覺(好無趣的人啊)。小y也曾幻想走出門,多交些朋友。但小y不善言談,幫助他人解決問題就是小y交朋友的典型方式。
最近在微信裡,看到jeanron楊建榮的Oracle公眾號發表了一篇名為<最近讓我焦灼的四個問題>的文章。其中第一個問題就是dataGuard備庫老報壞塊的問題。報錯如下所示
對於這個問題,jeanron已經分析了各種場景,前前後後做了不下十多種測試,基本都排除了,重建了多次,問題還是沒能解決。
看完該文章的時候,結合過去所處理的case,小y已經基本上可以斷定:
Jeanron很不幸,他遇到了文章一開始我們所提到的Bug了!
雖然和jeanron不熟,但幫助人和交朋友是小y現在很樂意做的事情。
於是小y私信了他,告訴他可能遇到作業系統的Bug了,並讓他做了以下檢查,很幸運的,小y又一次猜對了。
1、檢查作業系統版本
檢查結果,滿足bug的觸發條件Redhat 5.3
2、檢查kernel版本:
檢查結果,Linux的該Bug在kernel-2.6.18-238.el5以下會觸發,
而該Kernel版本為2.6.18-194,滿足Bug觸發條件
3、檢查資料庫檔案存放的目錄:
檢查結果,資料庫檔案存放在/home目錄下,該目錄是ext4檔案系統,滿足Bug觸發條件
4、檢查filesystemio_options引數:
檢查結果,資料庫引數filesystemio_options為SETALL,即同時支援非同步IO和DIRECT IO,,滿足Bug觸發條件。
5、結論和結果
可以看到,所有觸發條件全部滿足,至此可以確認命中一開始提到的Linux BUG了。
在調整filesystemio_options=NONE後,jeanron確認問題得到最終解決。
小y很開心,除了解決問題帶來的成就感之外,
自己的經驗可以幫到客戶、幫到朋友,還可以交到朋友,
那不就是小y的追求麼!
About Me
....................................................................................................................................................
本文來自於微信公眾號轉載文章,若有侵權,請聯絡小麥苗及時刪除
ITPUB BLOG:http://blog.itpub.net/26736162
QQ:642808185 若加QQ請註明您所正在讀的文章標題
【版權所有,文章允許轉載,但須以連結方式註明源地址,否則追究法律責任】
....................................................................................................................................................
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2083709/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【中亦安圖】風險提醒之Oracle RAC高可用失效(2)Oracle
- 【中亦安圖】Oracle記憶體過度消耗風險提醒(6)Oracle記憶體
- InterBase資料庫檔案損壞的修復方法資料庫
- 陣列櫃故障造成控制檔案損壞,資料檔案損壞陣列
- 資料檔案損壞、丟失
- 【資料庫資料恢復】MongoDB資料庫檔案損壞的資料恢復案例資料庫資料恢復MongoDB
- RMAN學習-資料檔案損壞
- 資料檔案丟失損壞的恢復--
- [ORACLE] 系統故障資料庫恢復--資料檔案無損壞Oracle資料庫
- system資料檔案頭損壞修復
- 資料庫檔案壞塊損壞導致開啟時報錯的恢復方法資料庫
- 【中亦安圖】導致Oracle效能抖動的引數提醒(4)Oracle
- Oracle資料庫塊的物理損壞與邏輯損壞Oracle資料庫
- PostgreSQL DBA(30) - Backup&Recovery#3(資料檔案損壞恢復)SQL
- 資料檔案或者tablespace損壞基於rman恢復測試
- 資料庫損壞解決:資料庫已損壞,無法分配空間資料庫
- u盤檔案損壞怎麼恢復資料 u盤恢復損壞資料的有效方法
- undo 檔案損壞
- rman 恢復---歸檔丟失and資料檔案損壞
- Oracle 11g 資料庫恢復-場景2:所有據檔案損壞,關庫狀態Oracle資料庫
- SQL Anywhere db檔案損壞修復 DB檔案修復 DB資料庫修復SQL資料庫
- 資料庫在沒有備份的情況下的資料檔案損壞的恢復資料庫
- 磁碟損壞,system及部分資料檔案丟失
- 某個資料檔案損壞完全恢復(三)
- 關於資料庫檔案最大數資料庫
- PG 資料庫檔案損壞的另一個不完全恢復方案.資料庫
- Oralce 11g資料庫恢復-場景3:部分檔案損壞恢復,關庫狀態,高可用恢復方式資料庫
- RMAN_資料庫的絕大部分資料檔案丟失或者損壞的恢復資料庫
- 臨時表空間資料檔案損壞的解決
- 磁碟損壞導致資料檔案丟失的恢復
- Oracle 11g 資料庫恢復-場景7:部分檔案損壞Oracle資料庫
- Oracle資料檔案損壞恢復例項二則Oracle
- REDO日誌損壞,非歸檔模式資料檔案恢復模式
- RMAN_部分資料檔案丟失或者損壞的恢復
- 備份與恢復--重建控制檔案後資料檔案損壞的恢復
- System File1 File Header(資料庫System檔案1檔案頭)損壞情況的恢復Header資料庫
- 學習這篇Oracle資料庫檔案壞塊損壞的恢復方法,擴充你的知識面Oracle資料庫
- 一個控制檔案損壞