Olhe para "Real Application Testing" É uma opção de custo extra para o Oracle, mas basicamente faz exatamente como você descreveu
O que eu gostaria de fazer é capturar todos os selects em execução em um banco de dados Oracle de produção com todos os parâmetros usados por um período de tempo. Eu então executaria novamente todas as instruções capturadas em um sistema de teste para verificar se as alterações feitas ali melhorariam o desempenho.
Capture o SQL em execução na produção principalmente interessado em seleciona em vez disso, insere e atualiza.
Restaure uma cópia da produção para um servidor de teste
Execute a gravação capturada do SQL o tempo gasto.
Faça o ajuste de desempenho, índices particionamento de tabelas etc.
Execute o SQL capturado para verificar que o ajuste de desempenho foi bem sucedido.
O passo 1 é possível com o Oracle e, em caso afirmativo, como é feito? A captura precisa ser feita contra todas as sessões e precisa capturar os parâmetros usados nas consultas ie para a consulta selecionar myfield da mytable onde someotherfield =: value eu preciso repetir com o valor real usado para: value cada vez que o select é chamado .