Usar o Supervisor de Ajuste SQL (SQL Tuning Advisor)
- O SQL Tuning Advisor faz análise de estatísticas, análise de SQL Profile, análise do caminho de acesso e análise estrutural.
- O SQL Tuning Advisor pode implementar automaticamente SQL Profiles.
- O SQL Tuning Advisor ajusta cada instruçao SQL individualmente.
- É possível especificar um SQL Tuning Set, um workload, a atividade recente de SQL ou uma única instrução SQL como entrada para o SQL Tuning Advisor.
- Use a package PL/SQL DBMS_SQLTUNE para executar o SQL Tuning Advisor como uma alternativa ao uso do Enterprise Manager.
- Use as views
DBA_ADVISOR_LOG
,DBA_ADVISOR_TASKS
eV$ADVISOR_PROGRESS
para monitorar o andamento e revisar os resultados de uma sessão do SQL Tuning Advisor.
Usar o SQL Tuning Advisor para ajustar a carga de trabalho
- O SQL Tuning Advisor analisa uma carga de trabalho inteira.
- Uma carga de trabalho do SQL Tuning Advisor pode consistir em uma única instrução SQL, um SQL tuning set, o conteúdo atual do SQL cache, estatísticas existentes ou um nome de schema.
- As recomendações do SQL Tuning Advisor incluem novos índices, views materializadas e particionamento.
- As quatro etapas que compreendem uma sessão do SQL Tuning Advisor são: criação da tarefa; definição da carga de trabalho; geração de recomendações; revisão e implementação das recomendações.
- Você pode revisar o uso de estruturas existentes ou recomendar novas estruturas em uma sessão do SQL Tuning Advisor.
- A procedure
DBMS_ADVISOR.QUICK_TUNE
cria automaticamente uma tarefa e analisa uma única instrução SQL. - Os resultados de uma sessão de ajuste do SQL Tuning Advisor são registrados em
DBA/USER_ADVISOR_ACTIO
N. Entretanto, você pode utilizar oDBMS_ADVISOR.CREATE_FILE
para criar um relatório mais legível.
Noções básicas sobre o Database Replay
- O Database Replay pode ajudar a avaliar a mudança ocorrida no desempenho em sistema de teste, capturando a carga de trabalho de um servidor de produção e repetindo essa carga em um sistema de teste.
- O Database Replay consiste em quatro etapas:
- 1 – Captura da carga de trabalho
- 2 – pré-processamento da carga de trabalho
- 3 – repetição da carga de trabalho
- 4 – análise e relatório
- Cada solicitação de client registrada contém o texto SQL, valores de bind e informações das transações, inclusive o timestamp.
- Solicitações de clientes como operações do SQL*Loader, Oracle Streams, consultas de flashback, transações distribuídas e comandos remotos DESCRIBE ou COMMIT não são incluídas na operação de captura.
- O sistema de produção deve ser desligado e reinicializado antes de se iniciar a operação de captura.
- Use a procedure
DBMS_WORKLOAD_CAPTURE.START_CAPTURE
para iniciar a operação de captura. - As informações de repetição capturadas devem ser processadas somente uma vez para qualquer número de ambientes de destino e para qualquer número de repetições no sistema destino.
- Use a procedure
DBMS_WORKLOAD_REPLAY.PROCESS_CAPTURE
para processar uma carga de trabalho capturada antes de repeti-la. - Para repetir uma carga de trabalho, é necessário remapear as referências ao sistema de produção.
- Por padrão, a sequência de todas as instruções
COMMIT
é preservada em uma repetição. - Para iniciar a repetição de uma carga de trabalho, utilize
DBMS_WORKLOAD_REPLAY.START_REPLAY
. - Você pode gerar um relatório de uma repetição recuperando a repetição necessária dentro de um diretório de repetições e executando a procedure
DBMS_WORKLOAD_REPLAY.REPORT
.
Referência Bibliográfica Este post, assim como todos os posts sobre Certificação OCP deste blog, são trechos do livro “OCP Oracle Database 11g – Administração II (Guia do Exame 1Z0-053)”, da editora Bookman – www.bookman.com.br Recomendo este livro a todos que pretendem estudar para o exame. Meus posts são apenas algumas dicas para quem já está estudando por outros materiais, e por isso exige uma base de conhecimento anterior em cada um dos capitulos. Para uma referência completa de estudos é recomendado a compra do livro correspondente, bem como a documentação oficial da Oracle.
ajeitar a frase “Use a procedure DBMS_WORKLOAD_CAPTURE.START_CAPTURE para iniciar para iniciar a operação de captura”.
pois esta repetido o “para iniciar”
É verdade, muito obrigado! Já corrigi!
Abraço