oracle error-1555,从另外一个角度看ORA-1555
十多年前,ORA-1555是一個十分經(jīng)典的面試問題,超過60%的面試官都會像求職者提出這個問題。在10年前老白的《Oracle DBA 優(yōu)化日記》中,也深入的討論了這個問題。傳統(tǒng)的對ORA-1555的看法是從快照過舊這個錯誤上引申開來的,重點還是關(guān)注UNDO空間,回滾段,UNDO_RETENTION,以及QUERY DURATION等因素,考慮從SQL優(yōu)化,增加UNDO,優(yōu)化RBS等角度去解決問題。隨著存儲設(shè)備越來越廉價,UNDO 不足的問題已經(jīng)不存在了,我們也不需要像運行ORACLE 8i/9i時候一樣,為UNDO用20G好還是40g好去犯愁,一個幾百GB的UNDO也是很容易獲得的。最近這幾年里,大家對ORA-1555這個錯誤已經(jīng)不大關(guān)注了,因為大家也發(fā)現(xiàn)絕大多數(shù)這個錯誤是因為不夠優(yōu)化的SQL引起的,甚至很多企業(yè)的日志報警系統(tǒng)里,為了避免過多的報錯,把ORA-1555列在了排除列表里。前年,在我們開始開發(fā)日志深度分析工具的時候,ORA-1555這個經(jīng)典的問題當(dāng)然是不會錯過的,于是老白的團隊按照日志深度分析的架構(gòu)重新梳理了這個經(jīng)典錯誤號。這一梳理不要緊,老白發(fā)現(xiàn)以前對ORA-1555的認(rèn)知完全是不足的。實際上ORA-1555錯誤并不全是因為快照過舊引起的,經(jīng)過初步分析,我們至少可以把ORA-1555錯誤分為6大類:
第一類是UNDO與回滾段相關(guān)的;第二類是SQL執(zhí)行計劃由于表分析數(shù)據(jù)不準(zhǔn)等原因出現(xiàn)錯誤導(dǎo)致執(zhí)行效率過低;第三類是開發(fā)商編寫的SQL質(zhì)量太低;第四類是Bug 22241601導(dǎo)致的索引邏輯損壞,遇到這種情況,需要重建索引解決;第五類是Bug 8231583 導(dǎo)致的錯誤,必須重建UNDO表空間來解決;第六類是應(yīng)用程序?qū)慙OB字段出現(xiàn)問題,主要原因是LOB字段初始化代碼存在問題,需要開發(fā)商修改應(yīng)用解決。大家也看出來了,不同的類別的錯誤,其處置方法是不一樣的,我們以前面對這個錯誤的時候只看到了其中的一面,而沒有看到其全貌。經(jīng)過繼續(xù)梳理,我們發(fā)現(xiàn)ORA-1555錯誤的情況實際上更為復(fù)雜。
這張思維導(dǎo)圖也僅僅是列出了ORA-1555的常見情況,并沒有覆蓋所有的可能問題。從這里我們也看出,日志的分析實際上是一個十分復(fù)雜的工作。以前遇到一些未知的或者導(dǎo)致嚴(yán)重后果的錯誤的時候,我們往往會請專家來協(xié)助分析或者到MOS上去查找相關(guān)的資料。這種效率十分低下。通過日志深度分析工具來解決問題,可以幫我們解決一大部分的問題,當(dāng)分析工具無法從已知診斷路徑中發(fā)現(xiàn)問題的時候,會被記錄下來,后續(xù)就需要專家介入,對此類未知問題進行分析,并優(yōu)化診斷路徑。在這種復(fù)雜的分析場景中,目前十分熱的AI技術(shù)并沒有辦法發(fā)揮更大的作用,靠數(shù)據(jù)和算法無法解決深度推理的問題,這個也已經(jīng)是業(yè)內(nèi)的常識了。工具不能解決所有的問題,只有工具+人的生態(tài)才能不斷演進和積累知識,使工具越來越強大(我這里不敢說越來越智能,目前階段,運維工具的智能大多數(shù)還是來自于專家智能,而不是數(shù)據(jù)智能)。對日志問題的診斷路徑進行分類后,后續(xù)就可以提供更為強大的功能了。
針對某個日志報錯,自動分析工具可以生成分析報告,在報告中可以幫你列出和該日志報錯相關(guān)的后續(xù)診斷建議,以及已知的優(yōu)化處置建議。似乎這一切很完美,不過還有一個問題,這些診斷路徑不是從天上掉下來的,需要大量的技術(shù)團隊去做分析與整理,這個工作必須是人工的,而且嚴(yán)重依賴于專家。能做這種工作的專家是稀缺資源,另外一點,很多這方面的專家并不愿意把自己腦子里的東西拿出來做成工具,和大家分享。于是這個工作想要大規(guī)模的推廣開來還是存在難度的。要解決這個問題,還是要走互聯(lián)網(wǎng)+的路子,建立一個更為廣泛的技術(shù)江湖,一方面有更多的用戶通過技術(shù)江湖結(jié)成聯(lián)盟,他們系統(tǒng)中發(fā)現(xiàn)的一些未被深度分析的錯誤信息能夠貢獻出來,把相關(guān)的錯誤信息與日志文件提交到社區(qū),由社區(qū)的虛擬專家團隊去進行分析與處理,最終形成分析工具下發(fā)到社區(qū)成員。經(jīng)過不斷的積累,日志分析知識點工具的積累會良性發(fā)展,這個工具也能夠越來越強大了。老白希望這樣的技術(shù)社區(qū)能夠早點建立起來,屆時,老白的團隊也十分愿意成為社區(qū)的用戶和知識貢獻者。
總結(jié)
以上是生活随笔為你收集整理的oracle error-1555,从另外一个角度看ORA-1555的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php检测网址是否有效,php 检测因特
- 下一篇: 2007年9月c语言真题及答案,2007