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.
Capture SQL executing in production, primarily interested in selects rather then inserts and updates.
Restore a copy of production to a test server
Run the captured SQL recording the time taken.
Do performance tuning, indexes partitioning of tables etc.
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.