ahf analysis
Use the ahf analysis command to generate AHF Insights, AHF Balance reports, and activity-specific Alert Histories.
AHF 25.11
AHF 25.11 introduces a new capability that generates activity-specific Alert Histories, providing a unified and detailed timeline of actions occurring across AHF-monitored components. This feature enhances diagnostic capabilities, accelerates troubleshooting, and improves overall system observability.
Consolidated Timeline of Actions
Oracle Database components frequently write to multiple logs and trace files while performing operations or handling exceptions. For example:
- Shutting down an instance in a Real Application Cluster (RAC) triggers cluster-wide reconfiguration events.
- A disk rebalance operation consists of several steps, each logged by different components.
The Alert History feature consolidates relevant log and trace entries into a single, coherent timeline for any given activity, enabling users to quickly understand the sequence of events.
Automated Log Parsing and Persistence
AHF continuously monitors required logs and trace files across components. It automatically extracts relevant entries and persists them as Alert Histories. These persisted histories can be easily accessed on demand using the AHF command-line interface (CLI).
Proactive Problem Detection and Alerts
By maintaining activity-specific alert histories, AHF can proactively identify patterns and potential issues. This enables earlier detection of failures, faster response times, and improved system reliability.
Customer Accessibility
- The feature is enabled by default, requiring no additional setup.
Customers can generate activity-specific alert histories using the AHF CLI:
ahf analysis create --type alert-history
Configuring Alert History
The Alert History feature is enabled by default but can be configured using the following command:
ahf configuration set --property ahf.collectors.alert-history --value {on|off}
Behavior Notes:
- Alert History events are indexed only when the property
ahf.collectors.alert-historyis set toon. - If the property is switched to
off, previously generated alert histories remain available and can still be viewed via the CLI. - No additional configuration changes are required for the feature to function when enabled.
AHF 24.11
AHF Balance now allows limiting the number of databases included in performance tuning recommendations. This makes it easier to implement gradual configuration changes to enhance performance without overwhelming change management processes.
AI-Driven Tuning with AHF Balance
AHF Balance uses AI to provide tuning recommendations for database CPU_COUNT. Database Administrators (DBAs), Cluster Administrators, and Fleet Administrators can leverage these recommendations to optimize database performance while maximizing hardware utilization.
Enhanced Flexibility for Tuning Recommendations
Previously, AHF Balance considered all databases within a cluster as candidates for CPU_COUNT adjustments. This often led to recommendations for modifying CPU_COUNT on 50 or more databases, posing challenges for implementing such extensive changes simultaneously.
With the new --limit-db-changes option, AHF Balance enables incremental performance improvement by capping the number of databases included in tuning recommendations. This allows administrators to make changes in manageable stages through successive iterations of tuning.
Note:
Before running the ahf analysis command with the --type impact option, ensure that you first run the configuration command: `ahf configuration set --type impact --user-name *USER_NAME* --connect-string *CONNECT-STRING*`
This step is necessary to set up the required connection details before performing the analysis.
Command Usage Examples
Fleet Analysis:
To perform an analysis for a fleet and limit the number of database changes across clusters, use:
ahf analysis create --type impact --scope fleet --name <fleet-name> --limit-db-changes <positive-integer-number-of-databases>Cluster Analysis:
To perform an analysis for a specific cluster and limit the number of database changes, use:
ahf analysis create --type impact --scope cluster --name <cluster-name> --limit-db-changes <positive-integer-number-of-databases>Database Analysis within a Cluster:
To perform an analysis for a specific database within a cluster, use:
ahf analysis create --type impact --scope database --name --cluster <cluster-name> --limit-db-changes <positive-integer-number-of-databases>
By limiting database changes, AHF Balance provides a more controlled and efficient approach to performance tuning, ensuring smoother implementation and improved results.
AHF 23.8
Starting in AHF 23.8, you will be able to upload AHF Insights report automatically if Object Store is configured as part of AHF. Uploading AHF Insights reports helps Oracle Cloud Operations to identify, investigate, track, and resolve system health issues and divergences in best practice configurations quickly and effectively.
Oracle Autonomous Database on Dedicated Exadata Infrastructure and Oracle SaaS
To set REST endpoints (Object Store's), run:
ahfctl setupload -name oss -type https -user <user> -url <object_store> -password
To upload AHF Insights report to Object Store, run:
ahf analysis create --type insights
.
ahf analysis create
ahf analysis create [-h] [--type {insights|impact}] [[--last n{m|h} [--refresh] | --for DATETIME | --from DATETIME --to DATETIME] [--tag TAGNAME] | [--scope SCOPE --name NAME --cluster CLUSTER --clusters CLUSTER_LIST]][--output-file PATH] [--to-json]
ahf analysis create [-h] [--type {alert-history|patch-summary|capacity|insights|impact}] [--component COMPONENT] [--last n{m|h} | --from DATETIME --to DATETIME] [--instance INSTANCE] [--database DATABASE] [--from DATETIME --to DATETIME] [--diskgroup DISK_GROUP] [--disknumber DISK_NUMBER] [--diskname DISK_NAME] [--severity SEVERITY] [--scenario SCENARIO] [--metric METRIC --cluster CLUSTER] [--nodes NODES] [--from DATETIME --to DATETIME] [--last n{m|h} [--refresh] | --for DATETIME | --from DATETIME --to DATETIME] [--tag TAGNAME] [--scope SCOPE --name NAME --cluster CLUSTER --clusters CLUSTER_LIST] [--output-file PATH]
Syntax: AHF Balance
ahf analysis create [-h] --type impact --scope [fleet|cluster|database] [--cluster CLUSTER_NAME] [--clusters space-delimited list of clusters
] [--em-group] --name NAME
Parameters
ahf analysis create --type impact Command Parameters
-h,--help
Show this help and exit.--type impact
Specify the type of report to generate.--scope[fleet|cluster|database]
Specify to generate an AHF Balance Fleet Report, Cluster Report, or Database Report. Specify the--scopeand--nameoptions to create an impact analysis. The--clusteroption is required for database impact analysis.--output-filePATH
Specify to create the output file in the specified location.--clustersclu1clu2clu3
Specify a space-delimited list of clusters to include in the fleet scope.--nameNAME
Specify the name of the fleet, EM Group, cluster, or database to report on.Note:
The fleet name can be any name of your choice, such as MyFleet. It is used only to label the report.
--em-group
Specify the EM group name.Note:
This option is mutually exclusive with the
--clustersoption and must be used with the--scope fleetoption.For example:
ahf analysis create --type impact --scope fleet --name <em-group-name> --em-group--user-nameUSER_NAME
Specify the Oracle Enterprise Manager Repository user name.Note:
This option is not required if AHF Balance has already been configured. For more information, see ahf configuration.
--connect-stringCONNECT_STRING
Specify the connect string for the Oracle Enterprise Manager Repository.Note:
This option is not required if AHF Balance has already been configured. For more information, see ahf configuration.
--limit-db-changesDB_CHANGE_LIMIT
Limit the number of recommended database changes.
Syntax: AHF Insights
ahf analysis create [-h] --type insights [--last n{m|h} | --for DATETIME | --from DATETIME --to DATETIME] [--refresh] [--tag TAGNAME
]
Parameters
ahf analysis create --type insights Command Parameters
-h,--help
Show this help and exit.--type insights
Specify the type of report to generate.--lastn{m|h}
Specify the--lastparameter to analyze data for the past number of minutes (m) or hours (h). The value specified with--lastcannot be greater than 12 hours.--for <DATETIME>
Specify the--forparameter to analyze data for a 2-hour period before and after the specified timestamp.Supported time formats:
"YYYY-MM-DDTHH:MM:SS""YYYY-MM-DD HH:MM:SS"
--from <DATETIME>,--to <DATETIME>
Specify the--fromand--toparameters together to analyze data for a specific time interval.Supported time formats:
"YYYY-MM-DDTHH:MM:SS""YYYY-MM-DD HH:MM:SS""YYYY-MM-DD"
The time difference between the
--fromand--tovalues must not exceed 4 hours.--refresh
Provide fresh data from AHF Insights sources. Specify--refreshalone or together with--last.--include-cell-data
Specify to include cell data in the AHF Insights sources.--tagTAGNAME
Specify to collect the files into theTAGNAMEdirectory within the repository.
Syntax: ahf analysis explore
ahf analysis explore [-h] [--with scope] [--from-file FILE]
Note:
Starting with Oracle AI Database 26ai, the ahf analysis explore --with scope command is desupported. For more information on GIMR, refer to Analyze Issue Root Cause.
Parameters
ahf analysis explore Command Parameters
-h,--help
Show this help and exit.--from-fileFILE
Specify to read from a file. If you do not specify the file extension, AHF Scope assumes.mdbas the file extension.
Syntax: AHF Alert History
ahf analysis create [-h] [--type {alert-history|patch-summary|capacity|insights|impact}] [--component COMPONENT] [--last n{m|h} | --from DATETIME --to DATETIME] [--instance INSTANCE] [--database DATABASE] [--from DATETIME --to DATETIME] [--diskgroup DISK_GROUP] [--disknumber DISK_NUMBER] [--diskname DISK_NAME] [--severity SEVERITY] [--scenario SCENARIO] [--metric METRIC --cluster CLUSTER] [--nodes NODES] [--from DATETIME --to DATETIME] [--last n{m|h} [--refresh] | --for DATETIME | --from DATETIME --to DATETIME] [--tag TAGNAME] [--scope SCOPE --name NAME --cluster CLUSTER --clusters CLUSTER_LIST] [--output-file PATH]
Parameters
ahf analysis create --type alert history Command Parameters
-h,--help
Show this help and exit.--to-json
Display the output in JSON format.--componentCOMPONENT
Specify the component to analyze. Currently, only theASMcomponent is supported for Alert History.--instanceINSTANCE
Filter results by instance name.--diskgroupDISK_GROUP
Specify the name of the ASM disk group.--disknumberDISK_NUMBER
Specify the disk number within the ASM disk group.--disknameDISK_NAME
Specify the disk name within the ASM disk group.--severitySEVERITY
Filter alerts by severity. Supported values areinfo,warning, anderror.--scenarioSCENARIO
Specify the scenario name.--fromDATETIME
Analyze data from the specified start time. Supported formats are:"YYYY-MM-DDTHH:MM:SS[Z]""YYYY-MM-DD HH:MM:SS""YYYY-MM-DD"
--toDATETIME
Analyze data up to the specified end time. Accepts the same formats as the--fromoption.--lastn{m|h|d}
Analyze data from the lastnminutes (m), hours (h), or days (d).
Command Usage Examples
Use these options to create an Alert History analysis for a specific component, time range, or resource:
[--component COMPONENT] [--instance INSTANCE]
[--from DATETIME --to DATETIME]
[--diskgroup DISK_GROUP] [--disknumber DISK_NUMBER] [--diskname DISK_NAME]
[--severity SEVERITY] [--scenario SCENARIO]
You can filter alert history by component, instance, disk group, disk number, disk name, severity, and scenario.
Note:
- Disks in different disk groups may share the same name. It is recommended to use
--disknametogether with--diskgroup. - Disk numbers may also overlap across disk groups. Use
--disknumberwith--diskgroupto ensure accurate filtering.
Create an alert history analysis for a specific time range:
ahf analysis create --type alert-history --from 2022-10-10T14:00:00Z --to 2022-10-10T15:30:00ZFilter by component and instance:
ahf analysis create --type alert-history --component ASM --instance +asm1Filter by disk group and severity:
ahf analysis create --type alert-history --diskgroup DG1 --severity info
Important:
- Alert History message generation is currently supported only for the ASM component.
- The following scenarios are supported in this release:
dismount,dismount_force,offline, andmount. - Alert History is available only for time ranges within the last 30 days.
Example AHF Insights Analysis Usage Examples
Specify [--last | --for | --from --to] to create an analysis for a given period of time. Maximum time interval allowed is 4 hrs.
Specify [--refresh] alone or together with [--last] to provide fresh data from AHF Insights sources.
Create analysis report from the data collected in the last 3 hours:
ahf analysis create --type insights --last 3hCreate analysis for a 2-hour period centered at the specified timestamp:
ahf analysis create --type insights --for 2022-10-10T14:00:00Create analysis for a given time range:
ahf analysis create --type insights --from 2022-10-10T14:00:00 --to 2022-10-10T15:30:00Create analysis specifying a timezone:
ahf analysis create --type insights --from 2022-10-10T14:00:00 --to 2022-10-11T13:30:00Create analysis with most recent data:
ahf analysis create --type insights --refreshCreate analysis with a tag:
ahf analysis create --type insights --tag my_tag
Example AHF Balance Usage Examples
Specify [--scope] and [--name] options to create an impact analysis.
The [--cluster] option is required for database impact analysis.
Create analysis for a fleet (all clusters):
ahf analysis create --type impact --scope fleet --name fleet1Create analysis for a fleet (cluster list):
ahf analysis create --type impact --scope fleet --name fleet1 --clusters clu1 clu2 clu3Create analysis for a cluster:
ahf analysis create --type impact --scope cluster --name cluster1Create analysis for a database:
ahf analysis create --type impact --scope database --cluster cluster1 --name database1Create analysis specifying the output directory:
ahf analysis create --type impact --scope fleet --name fleet1 --output-file /custom_path/custom_name.htmlCreate analysis specifying EM repository user name and password:
ahf analysis create --type impact --scope fleet --name fleet1 --user-name oracle --connect-string <cs>
Example AHF Alert History Usage Examples
Create an alert history analysis for a specific disk group mount event:
# ahf analysis create --type alert-history --scenario mount Alert Summary: Host : hostname1 ----------------------- [2025-10-22T05:00:48.128+00:00] [INFO] [+ASM1] Diskgroup 1 (DATAC2): Mounted with the following properties Redundancy Type: high compatible.asm: 11.2.0.4.0 compatible.rdbms: 11.2.0.3.0 Mount Incarnation: 0x0D57CFC0 Creation timestamp: 2024/11/06 22:57:08 Host : hostname2Create an alert history analysis for ASM disk offline events in a specific disk group:
# ahf analysis create --type alert-history --component ASM --scenario offline --severity info --diskname DATAFILE --diskgroup 2 Alert Summary: Host : hostname