Что я хотел бы сделать, так это зафиксировать все выборы, выполняемые в производственной базе данных Oracle, со всеми параметрами, используемыми в течение определенного периода времени.
Затем я бы повторно запустил все захваченные операторы в тестовой системе, чтобы убедиться, что внесенные в нее изменения улучшат производительность.
Захват SQL, выполняющийся в производственной среде, в первую очередь интересен выборкой, а не вставкой и обновлением.
Восстановить копию продукции на тестовом сервере
Запустите захваченный SQL, записав затраченное время.
Выполните настройку производительности, разделите таблицы на разделы и т. Д.
Запустите записанный SQL, чтобы убедиться, что настройка производительности прошла успешно.
Возможен ли шаг 1 с Oracle, и если да, то как это делается? Захват должен выполняться для всех сеансов и должен захватывать параметры, используемые в запросах, т.е. для запроса select myfield from mytable, где someotherfield =: value мне нужно воспроизводить с фактическим значением, используемым для: value каждый раз, когда вызывается выбор .
Загляните в «Тестирование реальных приложений». Это дополнительный вариант для Oracle, но в основном он работает именно так, как вы описали.