FAQ Procura Membros Registre-se Perfil MP's Login/Out
[Dica] Ver Plano de execução de um SQL rodando

 
Novo Tópico   Responder Mensagem    glufke.net - Índice do Fórum -> DBA
Mensagem Autor
Enviada: Ter, 09 Ago 2005 4:31 pm     Assunto: [Dica] Ver Plano de execução de um SQL rodando

Essa dica veio de Roger Schrag.

Imagine que você rodou um SQL que está demorando muito. O Trace está desligado e você quer saber o que pode estar errado com o SQL. Com essa dica, você enxerga o plano de execução deste SQL.

1. Escolha o SQL que está rodando

Código:
select address, hash_value, child_number, sql_text
from v$sql
where users_executing <> 0
/


2. Rode o sql abaixo, informando o address, hash_value, child_number retornado do Primeiro SQL.

Código:
SET VERIFY OFF
COL id          FORMAT 999
COL parent_id   FORMAT 999 HEADING "PARENT"
COL operation   FORMAT a35 TRUNCATE
COL object_name FORMAT a30
SELECT  id, parent_id, LPAD (' ', LEVEL - 1) ||
        operation || ' ' || options operation, object_name
FROM    (
        SELECT id, parent_id, operation, options, object_name
        FROM   v$sql_plan
        WHERE  address = '&address'
        AND    hash_value = &hash_value
        AND    child_number = &child_number
        )
START WITH id = 0
CONNECT BY PRIOR id = parent_id;



_________________
Thomas F. G.
Campanha: Faça uma pesquisa antes de perguntar!!!
dr_gori
Moderador
Moderador


Registrado em: Seg, 3 de Mai de 2004
Mensagens: 3220
Cidade - UF: Porto Alegre - RS


Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    glufke.net - Índice do Fórum -> DBA Todos os horários são GMT - 3 Hours
Página 1 de 1

 
 
. .