Forecasting Oracle Performance

One of the most effective tools for forecasting Oracle performance is the time-series data in STATSPACK and the Automatic Workload Repository in Oracle 10g.  Using this time-series information, the Oracle DBA can identify hidden performance trends and forecast Oracle Performance problems before they cripple the database.

George Santanaya once said "Those who forget the past are condemned to repeat it".  In order to accurately tune any Oracle database, you need a historical data collection mechanism and the ability to translate the data into reports that forecast repeating Oracle performance bottlenecks.

The process of forecasting Oracle performance trends uses the well-known quantitative techniques of predictive modeling and predictive analytics, whereby multivariate correlation techniques are applied to Oracle performance data from STATSPACK and AWR.  Once the trends are identified, scheduled job are employed to reconfigure Oracle to relieve the bottleneck in anticipation of the cyclic performance issue.

I've spent decades using database metrics to forecast future performance, and it's amazing that almost all databases follow well-defined trends which can be extrapolated for forecasting Oracle performance.  Using proven forecasting techniques, you can create a self-tuning Oracle database that forecasts and anticipates performance changes and apply just-in-time tuning techniques to fix future performance problems before they occur.

The steps for forecasting Oracle performance trends are very straightforward but lengthy.  You can use my scripts for forecasting Oracle performance from the code depot from my book "Oracle Tuning: The Definitive Reference":

The problem with using native SQL script to extracting time-series data, it that it is not always easy to see the hidden trends.  The Ion tool is a 3rd party tool that is designed to illuminate hidden performance trends and aid in forecasting Oracle performance problems.  To get a copy of Ion, see here:

To learn more about forecasting Oracle performance, see my notes here: