Tenho o Oracle 11g anexado a um ambiente de Teste de Desempenho. Um teste de desempenho dura duas horas. Após a execução, desejo extrair programaticamente uma variedade de indicadores-chave do banco de dados para armazenar os resultados.
Quais comandos eu executaria antes e depois do teste para coletar indicadores-chave, idealmente agrupados em totais de 5 minutos.
- CPU
- Memória
- Solicitações SQL totais
- E/S Lógica
- E/S física
E indicadores de gargalo, (várias esperas de travas e trincos).
Aceito um link útil para um artigo ou uma coleção de comandos SQL úteis para explorar.
Essa consulta é executada no 11.1.0.7 Enterprise e fornece resultados semelhantes à página de desempenho do OEM Grid, que requer o pacote de diagnóstico. Há uma certa ironia na execução desse script por meio dos serviços de relatórios do SQL Server, que está além do escopo desta questão.
Esta consulta não é tão boa quanto a que o Grid exibe, mas está próxima.
Sua melhor chance sem nenhuma licença sofisticada ou ferramentas de terceiros seria STATSPACK/PERFSTAT.
Ele vem com a instalação do Oracle, a documentação pode ser encontrada em $ORACLE_HOME/rdbms/admin/spdoc.txt (Verificado com 12.1.0.2 e 11.2.0.4). Ele não gera gráficos sofisticados, é apenas texto.
Você pode querer tentar oraSASH com simula ASH (daí o nome), então os scripts para ASH podem funcionar. Eu mesmo não funcionou com o oraSASH, então verifique você mesmo com cuidado.