Oracle 的AHF (Automatic Health Framework) 工具
Oracle 的AHF (Automatic Health Framework) 工具
Oracle AHF (Automatic Health Framework) 是 Oracle 官方提供的诊断工具集合,用于自动收集、分析和诊断 Oracle 数据库及集群环境的健康状态和问题。
一 AHF 核心功能概述
1. 主要组件
- TFA (Trace File Analyzer):日志收集和分析工具
- ORAchk/EXAchk:健康检查工具(数据库/Exadata专用)
- OSWatcher:操作系统性能监控工具
- DBPDA:数据库性能诊断助手
2. 支持环境
- Oracle Database (单实例/RAC)
- Oracle Exadata
- Oracle GI (Grid Infrastructure)
- Oracle Cloud 环境
二 AHF 安装与配置
1. 安装准备
# 检查系统要求
uname -a
df -h /tmp
df -h /opt# 下载AHF(需MOS账号)
# 从My Oracle Support下载最新版本:
# Autonomous Health Framework (AHF) - Including TFA and ORAchk/EXAchk ( Doc ID 2550798.1 )
2. 安装过程
# 解压安装包
[root@test tmp]# unzip AHF-LINUX_v25.5.0.zip
Archive: AHF-LINUX_v25.5.0.zipinflating: ahf_setup extracting: ahf_setup.dat inflating: README.txt inflating: oracle-tfa.pub # 执行检查
[root@test tmp]# openssl dgst -sha256 -verify ./oracle-tfa.pub -signature ./ahf_setup.dat ./ahf_setup
Verified OK# 执行安装
[root@test tmp]# ./ahf_setupAHF Installer for Platform Linux Architecture x86_64AHF Installation Log : /tmp/ahf_install_255000_2696_2025_06_11-07_15_58.logStarting Autonomous Health Framework (AHF) InstallationAHF Version: 25.5.0 Build Date: 202505290129Default AHF Location : /opt/oracle.ahfDo you want to install AHF at [/opt/oracle.ahf] ? [Y]|N : yAHF Location : /opt/oracle.ahfAHF Data Directory stores diagnostic collections and metadata.
AHF Data Directory requires at least 5GB (Recommended 10GB) of free space.Please Enter AHF Data Directory : /oracle_ahfAHF Data Directory : /oracle_ahf/oracle.ahf/dataDo you want to add AHF Notification Email IDs ? [Y]|N : nExtracting AHF to /opt/oracle.ahfSetting up AHF CLI and SDKSetting up compliance autoruns from AHFConfiguring TFA ServicesDiscovering Nodes and Oracle ResourcesSuccessfully generated certificates.Starting TFA Services
Created symlink from /etc/systemd/system/multi-user.target.wants/oracle-tfa.service to /etc/systemd/system/oracle-tfa.service.
Created symlink from /etc/systemd/system/graphical.target.wants/oracle-tfa.service to /etc/systemd/system/oracle-tfa.service..--------------------------------------------------------------------------.
| Host | Status of TFA | PID | Port | Version | Build ID |
+------+---------------+------+-------+------------+-----------------------+
| test | RUNNING | 5045 | 34489 | 25.5.0.0.0 | 250500020250529012923 |
'------+---------------+------+-------+------------+-----------------------'Running TFA Inventory....----------------------------------------------------------.
| Summary of AHF Configuration |
+-----------------+----------------------------------------+
| Parameter | Value |
+-----------------+----------------------------------------+
| AHF Location | /opt/oracle.ahf |
| TFA Location | /opt/oracle.ahf/tfa |
| Orachk Location | /opt/oracle.ahf/orachk |
| Data Directory | /oracle_ahf/oracle.ahf/data |
| Repository | /oracle_ahf/oracle.ahf/data/repository |
| Diag Directory | /oracle_ahf/oracle.ahf/data/test/diag |
'-----------------+----------------------------------------'AHF binaries are available in /opt/oracle.ahf/binAHF is successfully InstalledDo you want AHF to store your My Oracle Support Credentials for Automatic Upload ? Y|[N] : nMoving /tmp/ahf_install_255000_2696_2025_06_11-07_15_58.log to /oracle_ahf/oracle.ahf/data/test/diag/ahf/# 验证安装
[root@test tmp]# ahf -v
AHF version: 25.5.0
Build Timestamp: 20250529012923
TFA version: 25.5.0
Compliance version: 25.5.0
Compliance metadata version: 20250529
三、核心工具使用详解
1. TFA (Trace File Analyzer)
基本操作
# 启动TFA服务
tfactl start# 停止服务
tfactl stop# 检查状态
tfactl status# 收集诊断数据(指定问题ID)
tfactl diagcollect -srdc "ORA-00600" -database DB1
日志收集
# 收集最近24小时日志
tfactl diagcollect -all -since 24h# 收集特定时间范围日志
tfactl diagcollect -all -from "Sep 01 08:00:00 2023" -to "Sep 01 18:00:00 2023"# 打包收集结果
tfactl diagcollect -zip -name DB_issue_20230901
2. ORAchk/EXAchk 健康检查
数据库检查
# 标准检查
orachk -profile database -all# 指定SID检查
orachk -db orcl -check "Database Parameters"# 生成HTML报告
orachk -db orcl -html
Exadata专用检查
# 完整Exadata检查
exachk -all# 检查特定组件
exachk -check "Cell Health"
3. OSWatcher 系统监控
启动监控
# 启动OSWatcher(默认30秒间隔,保留48小时数据)
$OSW_HOME/startOSW.sh 30 48# 停止监控
$OSW_HOME/stopOSW.sh
分析数据
# 生成CPU使用率报告
oswbba -i /opt/oracle.ahf/osw/archive -b "2023-09-01 08:00:00" -e "2023-09-01 18:00:00" -t cpu
四、输出分析与报告
1. 报告解读
# 查看最新检查报告
ls -lrt /opt/oracle.ahf/orachk/output# 典型报告内容:
# - 执行摘要(通过/失败检查项统计)
# - 详细发现(按严重性分类)
# - 修复建议
# - 参考文档链接
2. 关键指标关注
- Critical/Warning 级别问题
- 配置偏差(与Oracle最佳实践的差异)
- 性能瓶颈(高负载指标)
- 空间预警(存储/内存/表空间)
五、最佳实践
1. 维护建议
# 定期清理旧数据(保留30天)
tfactl purge -age 30# 更新AHF(每季度检查更新)
ahf_update -check
ahf_update -install
2. 安全配置
# 限制访问权限
chmod 750 /opt/oracle.ahf
chown -R oracle:oinstall /opt/oracle.ahf# 加密敏感数据收集
tfactl diagcollect -encrypt -password "MySecurePwd"
Oracle AHF 是DBA工具箱中的"瑞士军刀",通过合理使用可以显著提高问题诊断效率。建议:
- 生产环境全部安装AHF
- 建立定期健康检查机制
- 重大问题前自动收集诊断数据
- 保持工具版本更新