溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

怎么使用Oracle故障日志采集工具TFA

發(fā)布時(shí)間:2021-11-10 15:38:51 來(lái)源:億速云 閱讀:626 作者:iii 欄目:關(guān)系型數(shù)據(jù)庫(kù)

這篇文章主要介紹“怎么使用Oracle故障日志采集工具TFA”,在日常操作中,相信很多人在怎么使用Oracle故障日志采集工具TFA問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么使用Oracle故障日志采集工具TFA”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

收集日志信息是否是一個(gè)“高消耗”的體力活?很多情況下都是。

設(shè)想一下,如果數(shù)據(jù)庫(kù)發(fā)生了一次hang的故障,而這套數(shù)據(jù)庫(kù)有8個(gè)節(jié)點(diǎn),我們可能需要收集rdbms、ASM、grid、OS,osw等等的日志信息,這項(xiàng)工作就是一個(gè)噩夢(mèng)。即使在常見(jiàn)的兩節(jié)點(diǎn)RAC環(huán)境中,恐怕也需要花費(fèi)一小段的時(shí)間,而且可能還得不斷進(jìn)行后續(xù)的補(bǔ)充日志收集工作。

不熟悉環(huán)境,平臺(tái)差異,需要篩選收集故障時(shí)間點(diǎn)的特定日志信息,數(shù)據(jù)庫(kù)存在較多的節(jié)點(diǎn),在需要收集日志的環(huán)境中存在文件管控等等很多的問(wèn)題,都可能影響我們收集日志信息的速度和準(zhǔn)確度,進(jìn)而對(duì)問(wèn)題分析定位的進(jìn)度造成影響。

所以我們就有一個(gè)非?,F(xiàn)實(shí)的問(wèn)題,如何減少日志收集所消耗的時(shí)間并提高準(zhǔn)確度,將更多的時(shí)間用于問(wèn)題分析?

其實(shí),Oracle官方已經(jīng)提供了解決方案—TFA(Trace File Analyzer Collector),這個(gè)工具能幫助我們真正實(shí)現(xiàn)一條命令完成日志收集。

1版本以及安裝

 

官方列出TFA支持的平臺(tái):

Intel Linux (Enterprise Linux, RedHat Linux, SUSE Linux)

Linux on System Z

Linux Itanium

Oracle Solaris SPARC

Oracle Solaris x86-64

AIX

HPUX Itanium

HPUX PA-RISC

所有平臺(tái)都需要bash shell 3.2 以上版本及JRE 1.5以上版本支持。

TFA工具理論上提供所有數(shù)據(jù)庫(kù)版本的支持,同時(shí)提供對(duì)RAC和非RAC數(shù)據(jù)庫(kù)的支持。但是,從當(dāng)前所見(jiàn)的文檔中,未見(jiàn)提及10.2.0.4之前的版本。

TFA工具最早在11.2.0.4版本中隨grid軟件默認(rèn)安裝,默認(rèn)安裝路徑為grid的home目錄。11.2.0.4之前版本的安裝包中并未包含TFA工具,需要手工安裝。

Oracle官方列出的詳細(xì)支持及安裝情況如下:

怎么使用Oracle故障日志采集工具TFA

TFA更新的速度非??欤?1.2.0.4版本于2013年8月發(fā)布,自帶的TFA工具版本為2.5.1.5。目前(2015年10月)最新版本為12.1.2.5.2,我們可以從幫助菜單中看出兩個(gè)版本間的巨大差別:

2.5.1.5版本幫助菜單:

怎么使用Oracle故障日志采集工具TFA

12.1.2.5.2版本幫助菜單:

怎么使用Oracle故障日志采集工具TFA

可以看到,12.1.2.5.2版本相比2.5.1.5版本加入了大量的功能。

Oracle對(duì)TFA的支持力度也在不斷增大,甚至已經(jīng)將TFA的更新包含在了PSU中。以11.2.0.4版本為例,GI PSU Fixed List中我們可以找到以下信息:

怎么使用Oracle故障日志采集工具TFA

從11.2.0.4.5開(kāi)始,GI PSU中都包含有TFA的版本更新。在安裝GI PSU的過(guò)程中TFA將自動(dòng)進(jìn)行安裝。

2TFA的工作方式

 

從一張Oracle官方提供的TFA工作流程圖上,我們可以清楚的看到TFA的工作方式:

怎么使用Oracle故障日志采集工具TFA

  1. DBA發(fā)出diagcollect命令,啟動(dòng)TFA日志收集進(jìn)程。

  2. 本地TFA發(fā)送收集請(qǐng)求至其他節(jié)點(diǎn)的TFA,在其他節(jié)點(diǎn)上開(kāi)始日志收集工作。

  3. 本地TFA也同時(shí)開(kāi)始進(jìn)行日志收集工作。

  4. 所有涉及節(jié)點(diǎn)的TFA日志都?xì)w檔至發(fā)起diagcollect命令的"master"節(jié)點(diǎn)。

  5. DBA提取已歸檔的TFA日志信息,進(jìn)行分析或提交SR進(jìn)行處理


整個(gè)過(guò)程中,DBA只需要執(zhí)行一條命令,然后提取已歸檔的TFA日志。

3TFA的使用


以11.2.0.4版本RAC和12.1.2.5.2版本TFA環(huán)境為例:

首先,我們來(lái)看最簡(jiǎn)單、通用的一個(gè)收集命令:

怎么使用Oracle故障日志采集工具TFA

此命令將收集指定時(shí)間段rdbms、ASM、grid、OS的各類(lèi)型日志,如alert日志、trace文件、clusterware各組件的日志、listener日志、操作系統(tǒng)日志。執(zhí)行過(guò)程中,對(duì)alert日志、listener日志等連續(xù)性的日志處理也比較智能,能夠截取指定時(shí)段的日志,而不會(huì)將整個(gè)日志文件copy。如果部署有osw工具,還會(huì)自動(dòng)收集osw的日志。

如果需要指定日志收集范圍,比如僅收集數(shù)據(jù)庫(kù)的相關(guān)日志,可以使用tfactl diagcollect -database命令。更多的使用方法可以參考tfactl diagcollect -help輸出。

當(dāng)前最新版本(12.1.2.5.2)的TFA也能夠?qū)WR報(bào)告進(jìn)行收集,命令示例如下:

怎么使用Oracle故障日志采集工具TFA

但是在實(shí)際應(yīng)用中發(fā)現(xiàn),TFA收集AWR報(bào)告的功能還不夠完善。

對(duì)于 -database 參數(shù),幫助菜單的說(shuō)明為:

-database  Collect database logs from databases specified

目前,使用 -awrhtml 參數(shù)需要配合 -database 參數(shù)一同使用,但 -database 參數(shù)與 -awrhtml 參數(shù)配合使用的情況下,并不僅僅為指示數(shù)據(jù)庫(kù)名稱(chēng)的作用,依然會(huì)出現(xiàn)收集數(shù)據(jù)庫(kù)alert日志及trace文件的情況。即執(zhí)行以上命令,將收集指定時(shí)間段的AWR報(bào)告,同時(shí)也會(huì)收集數(shù)據(jù)庫(kù)alert日志和trace文件。

TFA也帶有自動(dòng)收集的功能,可以對(duì)一些預(yù)定錯(cuò)誤進(jìn)行自動(dòng)收集。預(yù)定的錯(cuò)誤及收集規(guī)則可以參閱《Trace File Analyzer Collector User Guide》的Appendix B. Scan Events部分。該功能默認(rèn)為關(guān)閉狀態(tài),可以使用以下命令手工啟用:

tfactl set autodiagcollect=ON

此功能建議在測(cè)試環(huán)境中驗(yàn)證后再在生產(chǎn)環(huán)境中進(jìn)行使用。

TFA也能夠承擔(dān)一定的日志分析功能,能夠?qū)崿F(xiàn)一條命令自動(dòng)對(duì)DB&ASM&CRS的alert日志、操作系統(tǒng)命令及部分osw日志進(jìn)行分析,雖然與它的日志收集功能相比還不夠強(qiáng)大。一個(gè)簡(jiǎn)單通用的分析命令:

tfactl analyze -since 7d

這條命令將分析查找所有(包括DB/ASM/CRS/ACFS/OS/OSW/OSWSLABINFO)日志7天內(nèi)ERROR級(jí)別的錯(cuò)誤信息并提取。

《Trace File Analyzer Collector User Guide》所列出的ERROR級(jí)別信息如下:

怎么使用Oracle故障日志采集工具TFA

也可以使用如下命令搜索自定義字符串:

怎么使用Oracle故障日志采集工具TFA

TFA工具默認(rèn)僅對(duì)root用戶(hù)和grid用戶(hù)授予使用權(quán)限,如果使用oracle用戶(hù)執(zhí)行tfactl diagcollect命令將收到報(bào)錯(cuò):

User oracle does not have keys to run TFA. Please check with TFA Admin(root)

建議同樣授予oracle用戶(hù)使用TFA的權(quán)限,方便日常使用。root用戶(hù)使用以下命令可以將oracle用戶(hù)加入授權(quán)用戶(hù)列表:

tfactl access add -user oracle

如果存在對(duì)收集日志的空間管理需求,可以使用tfactl set命令進(jìn)行設(shè)置。當(dāng)前設(shè)置情況可以通過(guò)

tfactl print config

命令進(jìn)行輸出,輸出示例如下:

怎么使用Oracle故障日志采集工具TFA

有關(guān)TFA使用和設(shè)置的更多信息可以參閱tfactl -h輸出及《Trace File Analyzer Collector User Guide》文檔。

MOS上較少見(jiàn)到TFA運(yùn)行過(guò)程中對(duì)DB或GI造成影響的描述,主要為以下兩個(gè)問(wèn)題:

怎么使用Oracle故障日志采集工具TFA

如果在Linux平臺(tái)下遇到RAC節(jié)點(diǎn)啟動(dòng)hang的問(wèn)題并且環(huán)境中安裝有TFA,可以根據(jù)文檔1983567.1的說(shuō)明修改oracle-tfa.conf文件。文檔 1668630.1所提及的問(wèn)題在11.2.0.4.3以上PSU中已修復(fù),如果安裝的PSU版本為11.2.0.4.3以上版本,可以忽略此問(wèn)題。

到此,關(guān)于“怎么使用Oracle故障日志采集工具TFA”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

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

AI