当前位置: 首页 > backend >正文

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工具箱中的"瑞士军刀",通过合理使用可以显著提高问题诊断效率。建议:

  1. 生产环境全部安装AHF
  2. 建立定期健康检查机制
  3. 重大问题前自动收集诊断数据
  4. 保持工具版本更新
http://www.xdnf.cn/news/13512.html

相关文章:

  • java实现RabbitMQ消息发送和接收功能(包含测试)
  • 日语学习-日语知识点小记-进阶-JLPT-真题训练-N2阶段(1):单词部分练习
  • Unity3D SRP Batcher原理分析
  • DEM 地形分析与水文建模:基于 ArcGIS 的流域特征提取
  • Android 10.0 勿扰模式开启关闭功能实现
  • DevOps软件开发流程规范
  • 抖音授权登录-获取用户授权调用凭证
  • MySQL进阶之索引(1)索引结构分类语法和SQL性能分析
  • Guava常用工具类使用教程
  • 使用OpenCV和Python进行图像掩膜与直方图分析
  • Java基于局域网的聊天室系统设计与实现,附源码+论文
  • ACS的ExtendedSegmentArc1 方法说明
  • 代理模式:AOP 切面编程的底层实现基础
  • Hello Robot发布Stretch3机器人高保真模拟平台-Stretch MuJoCo v0.5-涵盖数百种Robocasa厨房应用测试场景
  • 零基础设计模式——行为型模式 - 中介者模式
  • 使用Jmeter做功能测试有哪些优点?
  • C++ 中的 iostream 库:cin/cout 基本用法
  • Python训练第五十天
  • milvus 总结
  • Uniapp实现多选下拉框
  • 微信小程序Echarts开发问题
  • Vue 数据代理机制对属性名的要求
  • 如何正确的用Trae 打开 Unity 3D 项目
  • 计算机视觉与深度学习 | 基于Matlab的低照度图像增强算法:全面总结与实现
  • 问题八、Articulation中的actuator(执行器)
  • PostgresSQL日常维护
  • Jenkins + Docker + Kubernetes(JKD)自动化部署全链路实践
  • Axure应用交互设计:文本输入计数、显示输入内容、AI对话
  • 适配器模式深度解析:Java设计模式实战指南与接口兼容性解决方案
  • SpringMVC(1)