從Oracle TFA偷師學藝
?做了多年數據庫優化與服務工作,對TFA這樣的工具已經產生了依賴性,一旦客戶的系統遇到問題,肯定會讓客戶提供一份TFA收集的信息,然后基于這些信息進行分析。大部分問題都可以從TFA采集的數據中獲得答案。Oracle TFA是一個用于收集和分析跟蹤和日志文件的實用程序,可以自動檢測和收集與Oracle產品相關的各種診斷數據,例如跟蹤、日志、AWR報告、ASH報告和、配置文件系統信息等,并將它們匯總到一個統一的位置。使用Oracle TFA,管理員可以更快地診斷和解決問題,減少系統停機時間并提高生產力。TFA可以和Oracle Support Service緊密集成,OSS/OCS/ACS等支持部門可以利用TFA的數據完成遠程分析與診斷,從而降低Oracle售后服務的成本。
我是從Oracle 5.1開始使用Oracle數據庫的,經歷了沒有任何類似TFA的時代,要幫用戶分析問題,哪怕是在現場分析,也很頭疼,要從各個地方去翻找各種日志和信息。后來有了TFA的前身RDA,采集變得簡單了很多。TFA能夠采集的數據十分豐富,包括:
- 日志文件:例如數據庫、監聽器、ASM、OEM等的日志文件,可以幫助診斷各種錯誤和問題。
- TRACE文件:例如數據庫、監聽器、ASM、OEM等的跟蹤文件,可以幫助診斷SQL執行、鎖定等問題。
- 配置文件:例如Oracle Home、數據庫、監聽器、ASM、OEM等的配置文件,可以幫助確認系統配置和診斷配置問題。
- 系統信息:例如操作系統、網絡、存儲等的系統信息,可以幫助確認系統配置和診斷系統問題。
lDump文件:例如內存Dump文件、進程Dump文件等,可以幫助診斷內存使用、進程問題等。
lAWR報告:可以幫助分析系統性能和診斷性能問題。
lASH報告:可以幫助分析系統活動和診斷系統性能問題。
l監控信息:例如AWR快照、Metric信息、OS Watcher信息等,可以幫助分析系統性能和診斷性能問題。
TFA提高了數據庫服務遠程分析數據的采集能力,可以讓用戶一次性收集到最為詳細的信息,減少現場與三線支持交互的次數,提高問題分析與故障定位的效率。有經驗的DBA在Mos上開SR的時候,總會第一時間就把TFA采集好,并把數據隨同SR一起上傳,由于減少了多個初始階段的交互,如果這么做,解決問題的時間可以縮短好幾天。
目前國產數據庫的售后服務面臨更大的挑戰,第三方服務能力的缺失導致客戶現場問題不經緩沖直接會壓到數據庫原廠的售后服務人員頭上,而國產數據庫廠商的售后服務體系遠沒有Oracle那么完善和強大,因此將會面臨更大的壓力。目前國產數據庫廠商還缺乏TFA那么強大和體系化的支持工具,因此在幫助用戶解決售后問題的時候缺乏標準化的流程與標準化的分析方法,導致售后服務的效率和能力受到了進一步的限制。實際上我們可以從Oracle偷師學藝,TFA就是十分重要的一項。
首先我們可以學習TFA工具的功能,開發一個數據庫診斷數據自動采集工具,采集各種日志、TRACE、配置數據,以及操作系統的一些日志、硬件信息等基礎信息。再輔助一些性能、等待事件、鎖、數據庫信息相關的數據,構建一個后端服務支持標準化分析流程中所必須的數據。通過這樣的工具不但讓三線運維更加便捷,也可以通過工具規范化售后服務的一些技術分析方法,形成企業級規范化的售后服務技術分析體系。
其次我們需要關注一下OSW這個工具,OSW是Oracle采集操作系統各種信息的利器。以前我們服務的客戶都會建議他們安裝OSW。數據庫的問題有很大一部分是和OS相關的,OSW的數據可以幫助我們厘清問題與OS還是DB有關。從Oracle 11.2.0.4開始,OSW已經成為了Oracle數據庫標準安裝的一部分,12C中,OSWatcher Black Box(oswbb)的引入使得OSW與Oracle數據庫集成的更為緊密。國產數據庫的問題很多都是OS問題引發的,因此對OS的分析更為重要。我想國產數據庫也應該內置安裝一套OS數據庫監控的工具。因為知識產權的問題,國產數據庫不可能內置安裝OSW,也有些國產數據庫廠商建議用戶安裝一個nmon之類的OS監控工具。以我這些年做數據庫服務的經驗來看,nmon雖然能夠生成漂亮的圖表,但是如果是做問題的根因定位,其數據采集的粒度和豐富程度,都遠不如OSW。目前也有很多監控OS的開源工具,利用開源協議比較友好的開源工具,學習OSW采的數據內容,搞一套OS采集工具,集成到數據庫產品中,應該會對售后服務有很大的幫助。?