Get AI summaries of any video or article — Sign up free
Oracle Database Performance Tuning - 5 Steps to Resolve Issues thumbnail

Oracle Database Performance Tuning - 5 Steps to Resolve Issues

5 min read

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.

TL;DR

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?

It starts with a mental model: general database-wide issues typically trace to resource bottlenecks (CPU, memory, network, processes), misconfiguration, hangs, or bugs. Query-specific issues often come from expensive SQL and poor optimization—commonly linked to incorrect indexes, stale statistics, or unexpected execution plan changes. The AHF Insights phase then operationalizes this by surfacing configuration drift and anomalies, followed by OS bottleneck drill-down (e.g., I/O waits or CPU saturation) and, later, workload analysis via Performance Hub and ADDM findings.

What does AHF Insights use to find configuration drift and unusual events, and what do you do with those results?

AHF Insights provides best-practice checks that flag where the system has drifted from Oracle recommendations, showing relative severity and repair steps. It also includes an anomalies advisor that detects unusual events and recommends solutions. After anomalies appear (for example, indications that database/host I/O is slow), the workflow moves to OS issues to confirm the bottleneck—such as processors blocked in DSTATE waiting for I/O return, or disks showing long wait times and problematic latency snapshots.

When should noisy-neighbor analysis be used, and how does AHF quantify it?

Noisy-neighbor analysis is relevant when the host runs multiple databases and shows repeated performance problems with sustained high CPU usage (the workflow calls out periods above 70% CPU). AHF detects noisy neighbors based on CPU consumption history stored in the Oracle Enterprise Manager repository. After configuring AHF to connect to that repository, it generates a cluster analysis report that compares current exposure versus exposure under recommended CPU counts, using a graph where black lines indicate databases impacted during noisy-neighbor periods.

How does the Performance Hub report connect system bottlenecks to specific SQL tuning targets?

Performance Hub opens on ASH (Active Session History), which samples active database sessions. Weight-class breakdowns can show whether the database is CPU-bound (e.g., CPU has the highest weight class). From there, the workflow uses SQL ID by weight class to identify SQL candidates for tuning. The ADDM tab then analyzes AWR data and produces findings with recommended changes and estimated benefit, helping prioritize long-running SQL statements for targeted tuning.

What is the escalation path if tuning doesn’t resolve the issue?

If the bottleneck persists after iterating through the earlier steps, the workflow recommends logging a new service request with Oracle Support using the latest AHF diagnostic collection. In Oracle Support, the process includes creating a technical service request and selecting an Express service request option (FastTrack route) so Oracle Support can act quickly after the diagnostic collection is uploaded.

Review Questions

  1. Describe the sequence of AHF steps from diagnostic collection to workload tuning, and explain what changes between step 2 and step 4.
  2. 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.
  3. Under what conditions does noisy-neighbor analysis become necessary, and what data source does AHF use to evaluate it?

Key Points

  1. 1

    Treat performance tuning as iterative: fixing one bottleneck often shifts the bottleneck elsewhere, so repeat the workflow as needed.

  2. 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. 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. 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. 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. 6

    If progress stalls, open an Express technical service request with Oracle Support using the latest AHF diagnostic collection to speed up troubleshooting.

Highlights

AHF Insights can pivot from anomalies to concrete bottleneck evidence—such as processors blocked in DSTATE waiting for I/O return and disk wait-time snapshots showing where latency spikes occurred.
Noisy-neighbor impact is quantified against recommended CPU counts using AHF balance, with black lines marking time periods when databases were impacted.
Performance Hub ties system symptoms to tuning targets by using ASH weight classes to identify whether the database is CPU-bound and then surfacing SQL IDs and ADDM findings for prioritized fixes.

Topics

  • Database Performance Tuning
  • Autonomous Health Framework
  • Noisy Neighbors
  • ADDm
  • Performance Hub

Mentioned

  • Oracle Enterprise Manager
  • Oracle
  • AHF
  • IHF
  • DSTATE
  • EM
  • ASH
  • ADDM
  • AWR