| 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


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