現象
接到應用反饋某張業務表無法進行查詢,報ORA-01578有壞塊出現。
分析
2.1 該表為普通表,可以通過analyze命令快速分析是表有問題還是索引有問題,可以確定表有壞塊。
2.2 視圖查詢,顯示有3個壞塊(可能不準確),通過文件號和塊號查詢出壞塊都指向了這張表。目前看只有這張表有問題。CORRUPTION_CHANGE#列0表示物理壞塊,非0表示邏輯壞塊。
該庫沒有未接入備份,blockrecover用不了,也就是說正常手段無法修復。但可以通過expdp工具或者dbms_repair包等其它手段來搶救該表上正常塊上的數據。
2.3 這套庫有adg,在adg上可正常查詢,比較幸運的是這張當前無數據,無數據丟失風險。
處理方法
因為不需要做數據恢復,DB側最終給的建議是換表,便于后續寫入讀取數據。
另外因為有壞塊出現,后面通過dbv對全庫數據文件進行檢測,命令大致如下如下:
set feedback off head off echo off linesize 200 pagesize 1000
spool /tmp/dbvchk.sh
select dbv file= || name || blocksize=|| block_size || USERID=sys/x’x’x’x logfile= ||substr(name, instr(name, /, -1, 1) +1) ||. || file# || .log from v$datafile;
對輸出結果進行過濾,部分數據文件上出現了大量壞塊。
對于這種大量的壞塊,初步懷疑可能是存儲有問題,但主機側反饋底層存儲都正常,問題到這里就比較無解了,但好在有套adg環境,容災庫上未發現有壞塊,后期考慮切到容災庫。另外業務側除了反饋這張表有問題外,其它表再也沒反饋。只能說運氣較好,可能壞塊不是出在熱表上。
總 結
當出現壞塊時,DBV可以快速的且不影響業務的情況下統計出全庫有多少壞塊。如果只有個別幾個塊,我們可以嘗試修復或者搶救出非壞塊上的數據。但如果是大量的出現壞塊,且影響業務,這可能就是災難的故障。最后要說的是,對于DBA來說,備份重于一切。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129111.html
摘要:夏華夏先生以美團發展的五個階段為演講主線,分別介紹每個階段中所遇到的問題及解決方案。在夏華夏先生的分享之后,第五屆開幕式圓滿結束,他山之石可以攻玉是的宗旨,我們希望通過優秀案例的分享傳播更多的經驗。 showImg(https://segmentfault.com/img/bVHgPK?w=629&h=418);(第五屆TOP100summit開幕式現場) 12月09日-12日,由ms...
摘要:夏華夏先生以美團發展的五個階段為演講主線,分別介紹每個階段中所遇到的問題及解決方案。在夏華夏先生的分享之后,第五屆開幕式圓滿結束,他山之石可以攻玉是的宗旨,我們希望通過優秀案例的分享傳播更多的經驗。 showImg(https://segmentfault.com/img/bVHgPK?w=629&h=418);(第五屆TOP100summit開幕式現場) 12月09日-12日,由ms...
摘要:摘要今年的先知白帽大會,與會者將能夠親身感受到非常多有趣的技術議題,如在國際賽事中屢奪佳績的團隊,其隊長將親臨現場,分享穿針引線般的漏洞利用藝術。從數據視角探索安全威脅阿里云安全工程師議題解讀本議題討論了數據為安全人員思維方式帶來的變化。 摘要: 今年的先知白帽大會,與會者將能夠親身感受到非常多有趣的技術議題,如HITCON在國際賽事中屢奪佳績的CTF團隊,其隊長Orange將親臨現場...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20