The objective of performance tuning in Oracle Database is to meet specific performance goals. These goals may vary based on the requirements of the system and business objectives. Let's evaluate each option in detail to understand why E is correct and others are not.
Option Analysis:
A. When the allocated budget for performance tuning has been exhausted
Why it's incorrect:
Tuning should not stop simply because the budget is exhausted. If performance goals are not met, the database might still experience performance issues, impacting the end-users or business-critical processes. Budget is a constraint, but it shouldn't define when tuning stops.
B. When all the concurrency waits are eliminated from the Top 10
Why it's incorrect:
Concurrency waits (such as locks or latches) are just one aspect of database performance tuning. Eliminating these waits does not necessarily mean the system meets its performance goals. Other factors like query optimization, I/O performance, and CPU usage might still need attention.
C. When the buffer cache and library cache hit ratio is above 95%
Why it's incorrect:
Cache hit ratios are often overemphasized as a performance metric. While a high hit ratio indicates efficient memory usage, it doesn’t guarantee optimal performance. A high ratio could still mask inefficient SQL queries, suboptimal execution plans, or other bottlenecks.
D. When the I/O is less than 10% of the DB time
Why it's incorrect:
While reducing I/O is beneficial, it is not always a sufficient indicator that tuning can stop. Certain workloads may inherently have high or low I/O percentages. The real question is whether the database is meeting its required service levels, not just reducing I/O.
E. When the tuning goal has been met
Why it's correct:
The purpose of performance tuning is to meet the specific performance goals set by the business or the database administrators. Once the database meets these goals (e.g., query response times, throughput requirements, or SLA commitments), tuning can stop. This ensures effort is focused on achieving measurable outcomes, rather than chasing arbitrary metrics.
The Importance of Defining a Tuning Goal
Performance tuning should be driven by clear goals such as:
Reducing response time for specific critical queries.
Meeting SLAs for application performance.
Supporting a target number of concurrent users.
Reducing resource contention for improved scalability.
Tuning should stop once these goals are achieved because continuous tuning without purpose can lead to unnecessary complexity and resource usage.
Reference to Oracle Documentation:
Oracle Database 19c Performance Tuning Guide:
Section: Establishing Performance Goals and Metrics.
Discussion on focusing tuning efforts on business requirements and goals.
Oracle Database Concepts Guide: