oracle tfactl使用 TFA 安装TFA

12c以后我们开始使用TFA(跟踪文件分析器)工具来管理oracle日志,osw等小工具,方便快捷打包日志便于分析

简介

TFA是个11.2版本上启动的用于收集网格基础设施/ RAC环境下的诊断日志的工具,它可以使用非常简单的命令协助用户进行分类; TFA是类似diagcollection的一个Oracle部署TFA有以下几个特点:

1. TFA可以放在台机器上执行一条简单的命令把所有的日志进行打包,封装;
2. TFA可以在收集的过程中对日志进行”微调”操作,减少数据的收集量;
3. TFA可以收集用来诊断用的‘一段时间内’的数据;
4. TFA可以把所有节点的日志收集并封装好放在某一个节点上以便传输阅读;
5. TFA可以指定集群中的某一部分组件进行日志收集,如:ASM,RDBMS,集群
6. TFA可以根据条件配置对告警日志进行实时扫描( DB Alert Logs,ASM Alert Logs,Clusterware Alert Logs等);
7. TFA可以根据实时扫描的结果自动的收集诊断日志;
8. TFA可以根据指定的错误进行对错误日志的扫描;
9. TFA可以根据指定的错误扫描后的结果收集;

2. TFA的安装要求:

平台:

目前的TFA支持以下几个平台:    
Intel Linux(企业Linux,RedHat Linux,SUSE Linux)
Linux Itanium
Oracle Solaris SPARC
Oracle Solaris x86-64
AIX(需要安装bash shell 3.2或更高版本)
HPUX Itanium
HPUX PA-RISC

 

根据MOS  TFA is not Starting: [ TFA scheduler is not running ] (Doc ID 2737653.1)
去官网下载最新的tfactl重新安装
 
清理AHF环境,不然可能问题不能解决,我自己rhel7  19c的版本出现了这个问题
默认安装路径如下清理
 rm -rf /opt/oracle.ahf
rm -rf /oracle/app/oracle.ahf
 
下载解压后运行 ./ahf_setup 按照步骤安装解压即可
中间会提示是否设置email,是否安装另一个节点,按需设置Y|N
 
安装完成



3.支持的数据库版本:


TFA当前的设计是分离RDBMS和CRS进行设计的,所以设计的初衷是针对所有的版本而设计的,而不是RDBMS或CRS的版本限制;

下载TFA收藏者:

该版本的TFA和相关TFA用户指南可以通过点击下面的相关下载链接。



TFA收集器:

https ://mosemp.us.oracle.com/epmos/main/downloadattachmentprocessor?attachid = 1513912.2:TFA_NOJRE&clickstream = no

TFA用户手册:

https://mosemp.us.oracle.com/epmos/main/downloadattachmentprocessor?attachid=1513912.2:TFA_USER_GUIDE&clickstream=no

 
命令描述

tfactl start

在本地节点上启动 Oracle 跟踪文件分析器守护程序。

tfactl stop

停止本地节点上的 Oracle 跟踪文件分析器守护程序。

tfactl enable

在故障或系统重新启动后启用 Oracle 跟踪文件分析器守护程序的自动重新启动。

tfactl disable

停止任何正在运行的 Oracle 跟踪文件分析器守护程序并禁用自动重新启动。

tfactl uninstall

从本地节点中删除 Oracle 跟踪文件分析器。

tfactl syncnodes

生成 Oracle Trace File Analyzer 证书并将其从一个 Oracle Trace File Analyzer 节点复制到其他节点。

tfactl restrictprotocol

限制某些协议的使用。

tfactl status

检查 Oracle 跟踪文件分析器进程的状态。

输出与 相同tfactl print status


tfa目录不足使用root设置

tfactl set reposizeMB=20000

关闭、启动OSW(主机重启后不会跟随启动)
tfactl stop oswbb 默认30 48  老版本默认不会压缩,导致占满repository,需要按照以下方法重启下

tfactl start oswbb 10 72 gzip 

 

 

 

tfactl toolstatus 查看各组件状态

列出当前TFA的配置信息

tfactl print config

查看当前TFA观察节点状态

[root@ethanDB-rac1 ~]# tfactl print status   [root@host1 tmp]# tfactl print hosts

查看当前哪些用户可以使用tfactl

[root@ethanDB-rac1 ~]# tfactl access lsusers

启动和关闭TFA

[root@ethanDB-rac1 ~]#tfactl start 
[root@ethanDB-rac1 ~]# tfactl stop

--自启动关闭

#tfactl disable

给oracle使用TFA权限

 [root@ethanDB-rac1 ~]# tfactl access add -user oracle

tfactl access promote -user oracle(给运行root用户的特权特权)

tfactl access promote -user grid

tfactl access lsusers(检查权限)
tfactl access remove -user user_name(取消权限)

日志收集,不用DBA来回cd找目录去一个个拿日志,可以一次性全部取出来OS,DB,ASM,OSW日志

(最常用集中方式如下)    

收集日志的语法如下,可以通过以下命令进行查询获取:
[root@host1 oswbb]# tfactl diagcollect -h

指定时间区域,对节点1上的ASM的日志进行收集
tfactl diagcollect -asm -node host1 -from "Feb/27/2016" -to "Feb/28/2016 01:00:00"


指定时间区域,对节点1上的DB的日志进行收集
tfactl diagcollect -database -node host1 -from "Feb/27/2016" -to "Feb/28/2016 01:00:00"


指定时间区域收集所有日志
tfactl diagcollect -from "2021-12-31 19:30:55" -to "2021-12-31 21:30:55"

 

收集2个小时之前的由TFA管理的所有的日志:
#tfactl diagcollect –all –since 2h


收集1天内由TFA管理的所有日志,并压缩存放在本地foo为后缀
[root@host1 oswbb]# tfactl diagcollect -since 1d -z foo


收集1个小时的所有节点上数据库相关的日志,并压缩放在本地,以test为后缀:
[root@host1 oswbb]# tfactl diagcollect -database orcl -since 1h -z test


收集1个小时的节点host1上的日志
[root@host1 oswbb]# tfactl diagcollect -node host1 -since 1h


收集所有节点上在"Feb/28/2016"发生的日志
[root@host1 oswbb]# tfactl diagcollect -for "Feb/28/2016"

 

 

管理自动诊断存储库日志和跟踪文件

使用该managelogs命令来管理自动诊断存储库日志和跟踪文件。

-purge命令选项删除由自动诊断信息库管理的文件。此命令清除诊断目标下的“ ALERT”、“ INCIDENT”、“ TRACE”、“ CDUMP”、“ HM”、“ UTSCDMP”、“ LOG”中的文件。-purge命令还提供有关文件系统空间更改的详细信息。

如果诊断目标包含大量文件,则该命令会运行一段时间。检查正在从相应目录中删除的文件。

要删除文件,您必须对相应的诊断目标具有操作系统权限。

要管理自动诊断存储库日志和跟踪文件:

要限制清除或仅对特定时间之前的文件显示操作:
tfactl managelogs -older nm|h|d Files from past 'n' [d]ays or 'n' [h]ours or 'n' [m]inutes
例如:
$ tfactl managelogs -purge -older 30d -dryrun 
$ tfactl managelogs -purge -older 30d
要估计删除了多少文件以及释放了多少空间,请使用以下–dryrun选项:
例如:
$ tfactl managelogs -purge -older 30d -dryrun
删除文件和清理磁盘空间:
例如:
$ tfactl managelogs -purge -older 30d 
$ tfactl managelogs -purge -older 30d –gi
$ tfactl managelogs -purge -older 30d -database
要查看各个诊断目标的空间使用情况:
例如:
$ tfactl managelogs -show usage

$ tfactl managelogs -show usage –gi

$ tfactl managelogs -show usage -database
 
posted @   悠游~~~  阅读(3107)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示