Oracle Database Performance Tuning - 5 Steps to Resolve Issues
Based on Oracle Database Product Management's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.
Treat performance tuning as iterative: fixing one bottleneck often shifts the bottleneck elsewhere, so repeat the workflow as needed.
Briefing
Database performance problems usually fall into two buckets: system-wide bottlenecks (CPU, memory, network, processes) and query-specific slowdowns driven by expensive SQL and poor optimization. The practical takeaway is to narrow the root cause by separating “general resource pressure” from “workload or SQL behavior,” then work through fixes in a repeatable sequence—because tuning often moves the bottleneck rather than eliminating it.
A five-step workflow centers on Oracle’s Autonomous Health Framework (AHF), a diagnostic toolset available at no extra cost under existing software support. First, AHF generates a database performance diagnostic collection on the affected host. Using the AHF diagnostic data collection capability, an Oracle user runs a command (tfactl di collect …) to collect problem-specific diagnostics. AHF then packages results into a zip file per machine, typically enough to use the zip from the host where the collection was initiated.
Second, AHF Insights turns that collection into a “bird’s-eye view” of configuration drift, anomalies, and resource bottlenecks. The best-practice checks highlight where the environment deviates from Oracle recommendations, including severity and repair steps tied to each drift item. Next, the anomalies advisor uses AI-driven detection to flag unusual events—such as signs that the database and host I/O are slow. From there, the workflow drills into operating system metrics to pinpoint bottlenecks. In the example, Oracle processors appear blocked in DSTATE, indicating they are waiting on I/O return, while disk wait times and problematic snapshots reveal where latency spikes occurred. A separate anomaly example shows elevated “Global cache messages,” with the follow-on finding that CPU is the bottleneck; CPU usage trends and process-level breakdowns then show background and foreground database activity consuming large shares of CPU.
Third, noisy neighbors are addressed when the same host runs multiple databases and CPU is frequently saturated. AHF can detect noisy database neighbors using historical CPU data sourced from the Oracle Enterprise Manager repository. After configuring AHF to connect to the EM repository, a cluster analysis report (via AHF balance) compares current noisy-neighbor exposure against what it would look like with recommended CPU counts. The report highlights time periods where databases were impacted, enabling targeted CPU-count adjustments per database or machine.
Fourth, the focus shifts from infrastructure to workload tuning. Using the same diagnostic collection, the workflow opens a Performance Hub report (ASH-based active session history by default) to identify what sessions are doing. Weight-class breakdowns can show whether the system is CPU-bound, and SQL IDs can be surfaced as tuning candidates. The ADDM tab (Automatic Database Diagnostic Monitor) then analyzes AWR data and provides findings with recommended changes and estimated benefit, helping prioritize long-running SQL statements for deeper tuning.
Finally, if issues persist, the workflow ends with escalation: log a technical service request with Oracle Support using the AHF diagnostic collection. Selecting an Express service request option streamlines FastTrack handling, with Oracle Support taking over after the collection is uploaded. The overall message is iterative: fix one bottleneck, re-check, and repeat until the system stabilizes.
Cornell Notes
Database performance tuning works best when problems are separated into system-wide resource bottlenecks and query/workload-specific slowdowns. A five-step AHF-driven workflow starts by collecting a problem-specific diagnostic bundle on the affected host, then uses AHF Insights to check best-practice drift, detect anomalies, and drill into OS-level bottlenecks like I/O waits or high CPU. When multiple databases share a host, AHF can quantify noisy-neighbor impact using Oracle Enterprise Manager repository history and recommend CPU-count adjustments. For workload-level fixes, the Performance Hub report uses ASH and ADDM/AWR findings to identify CPU-bound behavior and specific SQL tuning candidates. If tuning still stalls, the diagnostic zip supports an Express service request to Oracle Support.
How does the tuning workflow decide whether the problem is system-wide or query-specific?
What does AHF Insights use to find configuration drift and unusual events, and what do you do with those results?
When should noisy-neighbor analysis be used, and how does AHF quantify it?
How does the Performance Hub report connect system bottlenecks to specific SQL tuning targets?
What is the escalation path if tuning doesn’t resolve the issue?
Review Questions
- Describe the sequence of AHF steps from diagnostic collection to workload tuning, and explain what changes between step 2 and step 4.
- Give an example of how AHF Insights could lead to an OS-level bottleneck conclusion (e.g., I/O wait or CPU saturation) and what evidence would appear.
- Under what conditions does noisy-neighbor analysis become necessary, and what data source does AHF use to evaluate it?
Key Points
- 1
Treat performance tuning as iterative: fixing one bottleneck often shifts the bottleneck elsewhere, so repeat the workflow as needed.
- 2
Use AHF diagnostic data collection on the affected host to generate a problem-specific diagnostic zip that becomes the input for all later steps.
- 3
Rely on AHF Insights to check Oracle best-practice drift, then follow anomalies into OS-level bottleneck evidence such as I/O waits (DSTATE) or high CPU usage.
- 4
Apply noisy-neighbor analysis when multiple databases share a host and CPU is frequently saturated; use AHF balance with Oracle Enterprise Manager repository history to quantify impact and recommend CPU-count changes.
- 5
Use Performance Hub (ASH and ADDM/AWR) to connect bottlenecks to workload behavior and identify SQL IDs and findings that indicate what to tune.
- 6
If progress stalls, open an Express technical service request with Oracle Support using the latest AHF diagnostic collection to speed up troubleshooting.