Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

What I would like to do is capture all the selects executing against a production Oracle database with all the parameters used for a period of time.
I would then rerun all the captured statements against a test system to verify changes made there will improve performance.

  1. Capture SQL executing in production, primarily interested in selects rather then inserts and updates.

  2. Restore a copy of production to a test server

  3. Run the captured SQL recording the time taken.

  4. Do performance tuning, indexes partitioning of tables etc.

  5. Run the captured SQL to verify that the performance tuning was successful.

Is step 1 possible with Oracle and if so how is it done? The capture needs to be done against all sessions and needs to capture the parameters used in the queries i.e. for the query select myfield from mytable where someotherfield = :value I need to replay with the actual value used for :value each time the select is called.

share|improve this question
up vote 4 down vote accepted

Look into "Real Application Testing" It's an extra cost option for Oracle, but basically does exactly as you've described

share|improve this answer
1 is a good resource too. – REW Aug 7 '10 at 5:05
This is an 11g only feature. I am looking for something that works with 10g. – Darryl Braaten Aug 8 '10 at 15:01
It only does the playback in 11G. But you can capture a 10G workload. – Todd Pierce Aug 11 '10 at 16:44

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.