
When an Exadata system misbehaves, say a node eviction at 2 a.m. or a storage cell throwing errors, the hard part is usually not the fix. It is collecting the right evidence from many servers before the logs rotate away. Oracle Trace File Analyzer (TFA) is built to solve that problem.
What is TFA?
TFA is Oracle’s diagnostic collection and analysis utility. It runs as a lightweight daemon on each database server and does four main jobs:
- Monitors the Oracle alert logs and other key logs, and raises notifications when it sees significant problems.
- Collects logs, traces, and system data from every node, trimmed to a time window around the incident.
- Packages everything into a single bundle you can attach to a Service Request.
- Analyzes logs across nodes so you can search for errors and see what happened in order.
Today TFA ships as part of the Oracle Autonomous Health Framework (AHF). AHF also includes ORAchk/EXAchk (health checks), Cluster Health Monitor, and other tools. The command-line entry point is tfactl.
How TFA fits with Exadata
Exadata is a good fit for TFA because one incident can span many layers: database instances, Grid Infrastructure, ASM, the OS, the network fabric, and storage cells.
- TFA is bundled with Grid Infrastructure and with the Exadata software image, so it is often already running on your database servers.
- It collects database, Clusterware, and ASM logs, plus OS data, from every database node in one pass.
- Once the storage cells are configured in TFA, the same command can also pull diagnostics from the cells, so you don’t log into each one separately.
- It works with EXAchk, so health check results and diagnostic collections live in one framework.
How to install it
Because TFA is usually preinstalled on Exadata, first check what you have:
tfactl statustfactl version
To install or upgrade to the latest AHF (which includes TFA):
- Download the AHF installer from My Oracle Support (Oracle’s AHF note, Doc ID 2550798.1, links the current download).
- Unzip it on a database server and run the installer as root:
unzip AHF-LINUX_vXX.XX.XX.zip./ahf_setup
- Accept the prompts. The installer detects Grid Infrastructure and can set up TFA across the cluster.
- Verify:
tfactl statustfactl print config
Options change between releases, so follow the AHF documentation for your version. On Exadata, also follow your standard patching procedure, since Oracle often delivers TFA through its own patches.
Configuring TFA to collect from storage cells
By default, a collection covers the database servers. To include the cells, they must be configured in TFA first. This is done with the tfactl cell command.
Step 1: Check the current state
tfactl cell status
This prints the current status of the storage cells, listing each cell as ONLINE or not. For the detailed configuration, including whether an Oracle wallet is used for cell access:
tfactl cell config
Step 2: Configure the cells if needed
The configure option is meant for cases where cell collections were not set up at installation, were missed because of an upgrade, or were removed by an earlier deconfigure.
tfactl cell configure
Run it as root on a database server. It may prompt for access details for the cells, depending on your version. To remove the setup, use tfactl cell deconfigure.
Step 3: Collect from the cells
The cells must be configured in TFA before you can collect from them. Then use the -cellnode option: oracle
bash
# All cells, plus the usual database server collectiontfactl diagcollect -cellnode all# Specific cells onlytfactl diagcollect -cellnode cel01,cel02# Limit to a time window to keep the bundle smalltfactl diagcollect -cellnode all -since 2h# Explicitly skip the cellstfactl diagcollect -nocell
The -nomaxcells option overrides the limit on how many cells are collected. On larger racks you may need it so that no cells are left out.
Step 4: Use cell-aware SRDCs for specific problems
TFA has targeted collection profiles (SRDCs) that combine database, ASM, Clusterware, and cell data:
bash
tfactl diagcollect -srdc crsasmcell -cellnode alltfactl diagcollect -srdc dbperf -cellnode all
The crsasmcell profile handles cell-related errors such as CRS-1604, CRS-1606, CRS-1613, CRS-1614, CRS-1615 and CRS-1649.
If cell data is missing from your bundle
- Confirm
tfactl cell statusshows every cell ONLINE. - Confirm
tfactl cell configshows the cells as configured. - Check
tfactl versionandtfactl diagcollect -help, since the options come from recent AHF releases. - Make sure your time window actually covers the incident.
Key use cases
1. Collect diagnostics for a Service Request
The most common use. Instead of hunting for logs by hand, gather everything from the last few hours:
tfactl diagcollect -since 4h
You get one compressed bundle ready to upload to Oracle Support.
2. Investigate a node eviction or reboot
Collect Clusterware, OS, and database data around the exact time:
tfactl diagcollect -from "Nov/03/2026 02:00:00" -to "Nov/03/2026 03:00:00"
3. Search logs across all nodes
Look for an error across every node’s alert logs without logging into each one:
tfactl analyze -search "ORA-00600" -last 1d
4. Collect for one component only
When you already know the area, narrow the collection and keep the bundle small:
tfactl diagcollect -database mydb -since 2htfactl diagcollect -asm -since 2h
5. Investigate storage or I/O problems across compute and cells
For suspected storage problems, a single bundle can cover both sides:
tfactl diagcollect -cellnode all -since 2h
6. Proactive monitoring and automatic collection
TFA watches for significant events and can collect diagnostics automatically when they happen, which helps with problems that disappear before you can log in. You can also set up email notifications:
bash
tfactl set notificationAddress=dba-team@example.com
7. Health checks with EXAchk
Run and schedule EXAchk through AHF to catch configuration drift, missing best practices, and version mismatches before they cause incidents:
tfactl run exachk
Best practices
- Run TFA as a standing part of your Exadata monitoring, not just during incidents.
- Verify cell configuration (
tfactl cell status) after installs, upgrades, and cell replacements, since upgrades can leave cell collection unconfigured. - Always collect with a tight time window: it keeps bundles small and uploads fast.
- Keep AHF reasonably current, because newer versions improve collections and analysis.
- Rehearse a
diagcollect -cellnode allduring a quiet period so the first time isn’t during an outage.
Wrapping up
TFA turns multi-server, multi-layer log gathering into a single command. On Exadata, where an issue can start in a storage cell and surface in a database, adding cell collection to the mix saves real time during an incident.
Note: command options vary by AHF version, so confirm them with tfactl -help and Oracle’s current AHF documentation before using them in production.