sexta-feira, 3 de fevereiro de 2017

SQLTXPLAIN


O SQLTXPLAIN ou SQLT, é uma ferramenta fornecida pelo Centro de Especialização de Tecnologias de Servidor Oracle - ST CoE.

O SQLT insere uma instrução SQL e emite um conjunto de arquivos de diagnóstico.

Esses arquivos são comumente usados para diagnosticar instruções SQL com desempenho ruim.

O SQLT conecta-se ao banco de dados e coleta planos de execução, estatísticas CBO com otimizador de custos, metadados de objetos de esquema, estatísticas de desempenho, parâmetros de configuração e elementos similares que influenciam o desempenho do SQL que está sendo analisado.

Para utilizarmos essa ferramenta, podemos seguir os passos abaixo:


Obs.: Os passos 1,2 3 só serão necessários se ainda não tivermos o SQLT instalado ou a versão instalada ser muito antiga.


1- Download do SQLT

    Faça o download da última versão do SQLT seguindo o documento Oracle 215187.1;



2- Descompactar arquivo SQLT

    Após baixar o arquivo sqlt.zip, devemos descompactar esse arquivo no servidor.

    O ideal é que esse arquivo seja descompactado em um diretório com permissão de escrita/leitura para o usuário Oracle.

    Para descompactar, podemos usar o comando:
    $unzip sqlt.zip


3- Instalar o SQLT

    Após descompactado, teremos que fazer a instalação do SQLT no banco de dados e para isso, devemos:
        - ir para o diretório /install, localizado dentro do diretório gerado pela descompactação do sqlt.zip
        - Conectar no banco de dados com o usuário SYSDBA / SYS
        - Executar o script sqcreate.sql
        - Deveremos informar dois parâmetros:
            - O tipo de licença que possuímos para o produto;
            - Uma senha para o SQLTXPLAIN


4 - Executar o SQLT

    Existe mais de um tipo de execução do SQLT, cada um com uma finalidade diferente, conforme podemos verificar no documento (Doc ID 215187.1).

    Os principais métodos do SQLT são:

        XTRACT
        XECUTE
        XTRXEC
        XPLAIN
        XTRSBY
        XPREXT
        XPREXC


    Neste caso, vamos executar a opção XTRACT

    Para executarmos o SQLT, devemos:
        - Ir para o diretório ./run, localizado dentro do diretório gerado pela descompactação do sqlt.zip;
        - Acessar o banco de dados e obter o SQL_ID da sessão que queremos analisar;
        - Conectar no banco de dados com o usuário utilizado para executar o SQL que queremos analisar - Não executar com o usuário SYS,SYSTEM,SQLTXPLAIN;
        - Executar o comando:
            - SQL> start sqltxtract.sql <sql_id> <senha do SQLTXPLAIN>


5 - Arquivo final do SQL

    Após o SQLT finalizar a execução do script, será gerado um arquivo .zip no diretório (./run), o qual precisamos identificá-lo.
    Esse arquivo, pode ser descompactado e visualizado, onde encontraremos diversos pontos de analise que podemos utilizar para ajustar nosso ambiente / SQL analisado.
    Esse arquivo .zip poderá ser enviado para a Oracle, em caso de abertura de chamado no My Oracle Support.


6- Mais informações

    Outras informações sobre o SQLT podem ser encontradas nos arquivos sqlt_instructions.html e SQLTXPLAIN.pdf que são descompactados do arquivo sqlt.zip



Referências:


All About the SQLT Diagnostic Tool (Doc ID 215187.1)
SQLT Usage Instructions (Doc ID 1614107.1)
How to Determine the SQL_ID for a SQL Statement (Doc ID 1627387.1)