Analisar SQL com o SQL Tuning Advisor
Você pode usar o SQL Tuning Advisor para analisar e ajustar instruções SQL.
O ajuste SQL é um aspecto importante do ajuste de desempenho do sistema de banco de dados. O SQL Tuning Advisor é um mecanismo para resolver problemas relacionados a instruções SQL com desempenho abaixo do ideal. Ele utiliza uma ou mais instruções SQL ou um STS (SQL Tuning Set) como entrada e chama o Otimizador de Ajuste Automático para analisar as instruções. A saída é feita na forma de descobertas e recomendações, juntamente com uma justificativa para cada recomendação e seu benefício esperado. As recomendações de ajuste incluem o seguinte e você pode optar por aceitar as recomendações para concluir o ajuste das instruções SQL.
- Coleta de estatísticas de objetos
- Criação de índices
- Reescrita de instruções SQL
- Criação de perfis SQL
- Criação de linhas de base do plano SQL
Para obter mais informações sobre:
- SQL Tuning Advisor, consulte About SQL Tuning Advisor no Oracle Database SQL Tuning Guide.
-
STS e como criar um, consulte Capturing Workloads in SQL Tuning Sets no Oracle Database SQL Tuning Guide.
Em Database Management Diagnostics & Management, você pode usar SQL Tuning Advisor para analisar as instruções SQL em um Banco de Dados Gerenciado.
O SQL Tuning Advisor só está disponível para o Oracle Database Enterprise Edition versão 12.2 e posterior e, se o parâmetro de inicialização
COMPATIBLE
estiver definido para o banco de dados, ele deverá corresponder à versão 12.2.0 e posterior. Para obter informações sobre compatibilidade do banco de dados, consulte O que É Compatibilidade com o Oracle Database? no Oracle Database Upgrade Guide.
Estas são as principais etapas envolvidas na utilização do SQL Tuning Advisor em Diagnósticos e Gerenciamento:
- Selecionar a entrada e executar o SQL Tuning Advisor: A entrada (instruções SQL ou um STS) do SQL Tuning Advisor pode ser selecionada usando uma das seguintes opções e submetida como uma tarefa de ajuste de SQL:
-
Vá para Hub de Desempenho, selecione um ou mais IDs de SQL na guia ASH Analytics e clique em Ajustar SQL.
-
Clique em Ajustar SQL na seção Tarefas do SQL Tuning Advisor e selecione instruções SQL ou um STS. Para poder selecionar instruções SQL individuais como entrada, primeiro as instruções SQL devem ser selecionadas na guia ASH Analytics no Hub de Desempenho.
-
Ative o ajuste automático de SQL no banco de dados. Observe que o Diagnostics & Management não suporta a configuração automática do SQL Tuning Advisor. No entanto, se SQL Tuning Advisor for configurado para ser executado automaticamente no banco, a tarefa de ajuste automático do SQL e as descobertas e recomendações também serão exibidas no Diagnostics & Management. Para obter informações sobre como configurar SQL Tuning Advisor como uma tarefa automatizada, consulte Gerenciando a Tarefa de Ajuste Automático de SQL no Oracle Database SQL Tuning Guide.
-
- Exibir as descobertas: As descobertas do SQL Tuning Advisor são exibidas na seção tarefas do SQL Tuning Advisor na página Detalhes do banco de dados gerenciado.
- Implementar as recomendações: As descobertas e recomendações do SQL Tuning Advisor estão disponíveis na página Detalhes da tarefa do SQL Tuning Advisor e você pode revisar essas informações e optar por implementar as recomendações.
Atribuição e Privilégios Necessários para Usar o SQL Tuning Advisor
Você precisa de privilégios administrativos do Oracle Database para executar as tarefas no workflow do SQL Tuning Advisor. Além disso, a seguinte atribuição e privilégios devem ser designados:
GRANT SELECT_CATALOG_ROLE <following privileges> TO <admin user>
ADVISOR
CREATE JOB
CREATE SESSION
SELECT ANY DICTIONARY
INHERIT ANY PRIVILEGES
ADMINISTER SQL TUNING SET TO <SQLTUNEUSER>
Para obter mais informações sobre privilégios e atribuições do Oracle Database, consulte Configuring Privilege and Role Authorization no Oracle Database Security Guide.
Executar SQL Tuning Advisor
Como primeira etapa, você deve executar o SQL Tuning Advisor em instruções SQL selecionadas ou um STS.
Você pode usar uma das seguintes opções para acessar o painel Executar SQL Tuning Advisor na página Detalhes do banco de dados gerenciado do Banco de Dados Gerenciado:
-
Clique em Hub de Desempenho e, na guia ASH Analytics, role para baixo até os IDs de SQL listados na seção ID de SQL por Classe de Espera (view padrão), selecione uma ou mais instruções SQL e clique em Ajustar SQL.
Observação
O Hub de Desempenho para Bancos de Dados Gerenciados só é compatível com o Oracle Database Enterprise Edition, e a disponibilidade dos recursos do Hub de Desempenho depende do tipo e da versão do Oracle Database e requer determinados privilégios adicionais. Para obter informações sobre todas as condições que afetam o Hub de Desempenho para Bancos de Dados Gerenciados, consulte OCI: Prerequisite Conditions for Performance Hub (KB59684) no My Oracle Support. -
Clique em SQL Tuning Advisor no painel esquerdo em Recursos e clique em Ajustar SQL na seção Tarefas do SQL Tuning Advisor.
No painel Executar SQL Tuning Advisor:
Exibir Descobertas do SQL Tuning Advisor
Ao executar o Supervisor de Ajuste SQL, você pode exibir suas descobertas e recomendações em Diagnóstico e Gerenciamento.
Depois que você executar o SQL Tuning Advisor em instruções SQL selecionadas ou em um STS, a tarefa de ajuste de SQL será exibida na seção Tarefas do SQL Tuning Advisor. Observe que se o SQL Tuning Advisor estiver configurado para execução automática no banco de dados, as tarefas de ajuste automático de SQL também serão exibidas. Para cada uma das tarefas de ajuste de SQL, clique no ícone Ações () e clique na opção Reexecutar tarefa de ajuste de SQL para executar novamente a tarefa de ajuste de SQL, se necessário.
Clique no nome da tarefa de ajuste de SQL para ir até a página Detalhes da tarefa do SQL Tuning Advisor. As descobertas e recomendações do SQL Tuning Advisor são exibidas nas seguintes guias na página Detalhes da tarefa do SQL Tuning Advisor:
- Guia Resumo: Exibe um resumo gráfico da tarefa e as descobertas fornecidas pelo SQL Tuning Advisor:
- Instruções SQL distintas examinadas: As instruções SQL examinadas pelo SQL Tuning Advisor são agrupadas nas categorias SQL examinada com descobertas, SQL ignorada por causa de erros e SQL examinada sem descobertas e exibidas em um gráfico de rosca. Observe que, se a instrução SQL tiver sido executada várias vezes, só uma execução (distinta) durante o período de análise será considerada.
- Benefício para recomendações de perfil SQL: O benefício das recomendações de perfil SQL no tempo do BD (em segundos) é exibido em gráficos de barras. Os gráficos de barras têm barras de antes e depois, que denotam o tempo real do BD e melhoram o tempo do BD, respectivamente. Se as recomendações de perfil SQL forem fornecidas, mas não implementadas, um único gráfico de benefícios Potencial será exibido, se as recomendações de perfil SQL forem implementadas parcialmente, os gráficos de benefícios Potencial e Implementado serão exibidos e se as recomendações de perfil SQL forem implementadas completamente, apenas o gráfico de benefícios Implementado será exibido.
- Descobertas com recomendações por tipo: As descobertas do SQL Tuning Advisor com recomendações são categorizadas por tipo e exibidas em um gráfico de barras.
- Guia Descobertas SQL: Exibe as descobertas e implementa as recomendações do SQL Tuning Advisor. Você pode visualizar a lista de instruções SQL e as informações correspondentes com base na análise feita pelo SQL Tuning Advisor. Isso inclui benefícios de desempenho estimados e descobertas com recomendações. Você pode selecionar uma única instrução SQL para exibir as recomendações específicas de cada descoberta, a lógica e o benefício esperado se uma recomendação for implementada. Nesta guia, você pode usar as opções disponíveis para implementar todas as recomendações de perfil SQL, implementar uma única recomendação e comparar planos de explicação.
- Guia SQL sem descobertas: Exiba as instruções SQL que foram ignoradas por não terem descobertas ou recomendações, erros ou por não terem sofrido timeout da tarefa.
Implementar Recomendações do SQL Tuning Advisor
Você pode criar jobs para implementar recomendações do SQL Tuning Advisor.
Para fazer isso, vá para a página Detalhes da tarefa do SQL Tuning Advisor e exiba as descobertas e recomendações da análise do SQL Tuning Advisor na guia Descobertas de SQL. Nesta guia, você pode criar um cargo para implementar todas as recomendações de perfil SQL ou implementar um único perfil SQL, índice ou recomendação relacionada a estatísticas e comparar planos de explicação. Você também pode exibir a reestruturação de SQL, um plano alternativo e descobertas diversas, no entanto, a opção de implementar a reestruturação de SQL e recomendações de plano alternativo não está disponível. Para obter informações sobre a reestruturação de SQL e planos alternativos, consulte SQL Estrutural Analysis e Alternative Plan Analysis no Oracle Database SQL Tuning Guide.

Implementar todas as Recomendações de Perfil SQL
Para implementar uma única recomendação de perfil SQL, selecione uma única instrução SQL, role para baixo até a seção Implementar uma recomendação para o ID da SQL: <ID da SQL> e clique no ícone Ações () na linha Perfil SQL e clique em Implementar recomendação.
Para obter informações sobre perfis SQL, consulte About SQL Profiles no Oracle Database SQL Tuning Guide.
Implementar Recomendação de Índice
Implementar Recomendação de Estatísticas
Comparar Planos de Explicação
SELECT
, UPDATE
, INSERT
e DELETE
. O plano de execução de uma instrução é a sequência de operações que a Oracle realiza para executar a instrução.
Para exibir e comparar planos de explicação: