OracleTraceFileAnalyzer(TFA)使用方法(含BUG解決)一。12C自帶了一個很好用的日誌分析工具,TFA可以幫您快速分析當前數據庫日誌。迅速定位和分析日誌,是DBA很好的幫手。
一、安裝
在安裝12C的程序的最後一步執行root腳本的時候,會有如下提示
Entries will be added to the /etc/oratab file as needed by database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] : Oracle Trace File Analyzer (TFA - User Mode) is available at : /u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/bin/tfactl OR Oracle Trace File Analyzer (TFA - Daemon Mode) can be installed by running this script : /u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/install/roottfa.sh
如果選擇no,那就不會安裝該工具,默認是no,如果未在安裝時選擇安裝該工具,也可以用,文中提示的兩種方式啟動TFA,一種是直接到
/u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/bin/tfactl目錄下執行命令操作,另一種方式是安裝到系統
使用root執行該腳本,將可以直接使用tfa命令讀取日誌內容
/u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/install/roottfa.sh,執行完畢會有如下提示
/u01/app/oracle/product/12.2.0/dbhome_1/suptools/tfa/release/tfa_home/install/roottfa.sh Installing Oracle Trace File Analyzer (TFA). Log File: /u01/app/oracle/product/12.2.0/dbhome_1/install/root_12cr2.yudean.com_2017-03-14_15-53-55.log Finished installing Oracle Trace File Analyzer (TFA)
二、使用
安裝好tfa後設置好環境變量,我們看下tfa支持哪些命令,首先是tfactl 我們用help看下有哪些我們可以使用。
[oracle@12cr2 ~]$ . oraenv
ORACLE_SID = [PROD] ? PROD1
The Oracle base has been changed from /home/oracle to /u01/app/oracle
[oracle@12cr2 ~]$ tfactl
tfactl> help
Usage : /u01/app/oracle/tfa/bin/tfactl
[options] commands:diagcollect|collection|analyze|ips|run|start|stop|print|directory|toolstatus For detailed help on each command use: /u01/app/oracle/tfa/bin/tfactl-help
1、啟動和關閉
命令tfactl start 和tfactl stop2、查看當前哪些用戶可以使用tfactl
該命令一般使用TFA admin權限的用戶,使用安裝TFA的用戶執行,這裏是root用戶
tfactl> access lsusers
.---------------------------------. | TFA Users in 12cr2 | +-----------+-----------+---------+ | User Name | User Type | Status | +-----------+-----------+---------+ | oracle | USER | Allowed | '-----------+-----------+---------'
3、查看當前TFA主機的狀態
當前我們只有一個節點,相關節點的信息如下
tfactl> print status .--------------------------------------------------------------------------------------------. | Host | Status of TFA | PID | Port | version | Build ID | Inventory Status | +-------+---------------+-----+-------+------------+----------------------+------------------+ | 12cr2 | RUNNING | 912 | 48978 | 12.2.1.0.0 | 12210020161122170355 | COMPLETE | '-------+---------------+-----+-------+------------+----------------------+------------------'
4、列出當前TFA的配置信息
tfactl> print config .------------------------------------------------------------------------------------. | 12cr2 | +-----------------------------------------------------------------------+------------+ | Configuration Parameter | Value | +-----------------------------------------------------------------------+------------+ | TFA Version | 12.2.1.0.0 | | Java Version | 1.8 | | Public IP Network | false | | Automatic Diagnostic Collection | true | | Alert Log Scan | true | | Disk Usage Monitor | true | | Managelogs Auto Purge | false | | Trimming of files during diagcollection | true | | Inventory Trace level | 1 | | Collection Trace level | 1 | | Scan Trace level | 1 | | Other Trace level | 1 | | Repository current size (MB) | 19 | | Repository maximum size (MB) | 10240 | | Max Size of TFA Log (MB) | 50 | | Max Number of TFA Logs | 10 | | Max Size of Core File (MB) | 20 | | Max Collection Size of Core Files (MB) | 200 | | Minimum Free Space to enable Alert Log Scan (MB) | 500 | | Time interval between consecutive Disk Usage Snapshot(minutes) | 60 | | Time interval between consecutive Managelogs Auto Purge(minutes) | 60 | | Logs older than the time period will be auto purged(days[d]|hours[h]) | 30d | | Automatic Purging | true | | Age of Purging Collections (Hours) | 12 | | TFA IPS Pool Size | 5 | '-----------------------------------------------------------------------+------------'我們可以用tfactl host add /remove host 增加或者刪除grid節點,也就是可以同時收集多個數據庫的tfa信息。
5、列出對哪些目錄進行了統計
可以看到不僅收集數據庫、監聽還有安裝和操作系統的相關日誌,看來功能很強大。
tfactl> print directories .------------------------------------------------------------------------------------------------------------------. | 12cr2 | +------------------------------------+-----------------------------------------------------+------------+----------+ | Trace Directory | Component | Permission | Added By | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oraInventory/ContentsXML | [INSTALL] | public | root | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oraInventory/logs | [INSTALL] | public | root | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/cfgtoollogs | [CFGTOOLS] | public | root | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/diag | [RDBMS] | public | root | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/diag/rdbms/orcl/or | [RDBMS]{RDBMS|database=orcl, RDBMS|instance=orcl} | public | root | | cl/cdump | | | | | Collection policy : No Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/diag/rdbms/orcl/or | [RDBMS]{RDBMS|database=orcl, RDBMS|instance=orcl} | public | root | | cl/trace | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/diag/rdbms/prod1/P | [RDBMS]{RDBMS|database=prod1, RDBMS|instance=PROD1} | public | root | | ROD1/cdump | | | | | Collection policy : No Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/diag/rdbms/prod1/P | [RDBMS]{RDBMS|database=prod1, RDBMS|instance=PROD1} | public | root | | ROD1/trace | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/diag/tnslsnr/12cr2 | [TNS] | public | root | | /listener/cdump | | | | | Collection policy : No Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/diag/tnslsnr/12cr2 | [TNS] | public | root | | /listener/trace | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/product/12.2.0/dbh | [CFGTOOLS] | public | root | | ome_1/cfgtoollogs | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/product/12.2.0/dbh | [INSTALL] | public | root | | ome_1/install | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/product/12.2.0/dbh | [RDBMS] | public | root | | ome_1/rdbms/log | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/tfa/repository/sup | [RDBMS]{RDBMS|database=orcl, RDBMS|instance=orcl} | public | root | | tools/ips/user_oracle/201703151143 | | | | | 09ipscoll_12cr2/diag/rdbms/orcl/or | | | | | cl/trace | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/tfa/repository/sup | [RDBMS]{RDBMS|database=prod1, RDBMS|instance=PROD1} | public | root | | tools/ips/user_oracle/201703151143 | | | | | 09ipscoll_12cr2/diag/rdbms/prod1/P | | | | | ROD1/trace | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/tfa/repository/sup | [RDBMS]{RDBMS|database=orcl, RDBMS|instance=orcl} | public | root | | tools/ips/user_oracle/201703151144 | | | | | 52ipscoll_12cr2/diag/rdbms/orcl/or | | | | | cl/trace | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/tfa/repository/sup | [RDBMS]{RDBMS|database=prod1, RDBMS|instance=PROD1} | public | root | | tools/ips/user_oracle/201703151144 | | | | | 52ipscoll_12cr2/diag/rdbms/prod1/P | | | | | ROD1/trace | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/tfa/repository/sup | [RDBMS]{RDBMS|database=orcl, RDBMS|instance=orcl} | public | root | | tools/ips/user_oracle/201703201505 | | | | | 49ipscoll_12cr2/diag/rdbms/orcl/or | | | | | cl/trace | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/tfa/repository/sup | [RDBMS]{RDBMS|database=prod1, RDBMS|instance=PROD1} | public | root | | tools/ips/user_oracle/201703201505 | | | | | 49ipscoll_12cr2/diag/rdbms/prod1/P | | | | | ROD1/trace | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/tfa/repository/sup | [RDBMS]{RDBMS|database=orcl, RDBMS|instance=orcl} | public | root | | tools/ips/user_oracle/201703201519 | | | | | 20ipscoll_12cr2/diag/rdbms/orcl/or | | | | | cl/trace | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/tfa/repository/sup | [RDBMS]{RDBMS|database=prod1, RDBMS|instance=PROD1} | public | root | | tools/ips/user_oracle/201703201519 | | | | | 20ipscoll_12cr2/diag/rdbms/prod1/P | | | | | ROD1/trace | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/tfa/repository/sup | [RDBMS]{RDBMS|database=orcl, RDBMS|instance=orcl} | public | root | | tools/ips/user_root/20170320155302 | | | | | ipscoll_12cr2/user_root/diag/rdbms | | | | | /orcl/orcl/trace | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /u01/app/oracle/tfa/repository/sup | [RDBMS]{RDBMS|database=prod1, RDBMS|instance=PROD1} | public | root | | tools/ips/user_root/20170320155302 | | | | | ipscoll_12cr2/user_root/diag/rdbms | | | | | /prod1/PROD1/trace | | | | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /var/adm | [OS] | public | root | | Collection policy : Exclusions | | | | +------------------------------------+-----------------------------------------------------+------------+----------+ | /var/log | [OS:RACDBCLOUD] | public | root | | Collection policy : Exclusions | | | | '------------------------------------+-----------------------------------------------------+------------+----------'當讓您也可以增加或者刪除目錄,命令如下
增加目錄
tfactl directory add dir [ -public ]
[ -exclusions | -noexclusions | -collectall ]
[ -node all | n1,n2,... ]
刪除目錄 tfactl directory remove dir [ -node all | n1,n2,... ]
6、收集日誌信息
如果您使用了中文字符集也就是LANG=zh_CN.UTF-8的話接下來就會出現BUG ,Illegal parameter passed to diagcollection -z
[root@12cr2 ~]# echo $LANG zh_CN.UTF-8 [root@12cr2 ~]# tfactl diagcollect -database PROD1 Collecting data for the last 12 hours for this component ... Collecting data for all nodes Collection Id : 2017032116573212cr2 Detailed Logging at : /u01/app/oracle/tfa/repository/collection_二_3月_21_16_57_32_CST_2017_node_all/diagcollect_20170321165732_12cr2.log Illegal parameter passed to diagcollection -z FAILED這個錯誤原因找了很久,找不到這個logging 的日誌,度娘是找不到相關信息的,最終猜想應該是文件中包含了中文名稱導致收集失敗,試著將字符集換成英文,結果成功了
[root@12cr2 ~]# export LANG=en_US [root@12cr2 ~]# echo $LANG en_US [root@12cr2 ~]# tfactl diagcollect -database PROD1 Collecting data for the last 12 hours for this component ... Collecting data for all nodes Collection Id : 2017032117030312cr2 Detailed Logging at : /u01/app/oracle/tfa/repository/collection_Tue_Mar_21_17_03_03_CST_2017_node_all/diagcollect_20170321170303_12cr2.log 2017/03/21 17:03:07 CST : Collection Name : tfa_Tue_Mar_21_17_03_03_CST_2017.zip 2017/03/21 17:03:07 CST : Collecting diagnostics from hosts : [12cr2] 2017/03/21 17:03:07 CST : Scanning of files for Collection in progress... 2017/03/21 17:03:07 CST : Collecting additional diagnostic information... 2017/03/21 17:03:12 CST : Getting list of files satisfying time range [03/21/2017 05:03:07 CST, 03/21/2017 17:03:12 CST] 2017/03/21 17:03:13 CST : Collecting ADR incident files... 2017/03/21 17:03:29 CST : Completed collection of additional diagnostic information... 2017/03/21 17:03:33 CST : Completed Local Collection .---------------------------------. | Collection Summary | +-------+-----------+------+------+ | Host | Status | Size | Time | +-------+-----------+------+------+ | 12cr2 | Completed | 63kB | 26s | '-------+-----------+------+------' Logs are being collected to: /u01/app/oracle/tfa/repository/collection_Tue_Mar_21_17_03_03_CST_2017_node_all /u01/app/oracle/tfa/repository/collection_Tue_Mar_21_17_03_03_CST_2017_node_all/12cr2.tfa_Tue_Mar_21_17_03_03_CST_2017.zip順利收集成功,TFA作為新出來的工具,在一些細節方面可能支持不太好,本章先到收集,下一章講演示,查詢剪切後日誌信息。
Tags: available database running product release
文章來源: