Estou tentando capturar o execution plan
da minha consulta PL/SQL developer
como você pode ver abaixo:
select *
from vmi_dimcustomer t1
inner join vmi_factcustomer t2
on t1.customer_num = t2.customer_num ;
Select plan_table_output from table(dbms_xplan.display_cursor(null,null,'basic'));
mas recebo esta nota:
SQL_ID 9m7787camwh4m, child number 0
begin :id := sys.dbms_transaction.local_transaction_id; end;
NOTE: cannot fetch plan for SQL_ID: 9m7787camwh4m, CHILD_NUMBER: 0
Please verify value of SQL_ID and CHILD_NUMBER;
It could also be that the plan is no longer in cursor cache (check v$sql_plan)
O que eu estou fazendo errado aqui? Pesquisei aqui e a resposta que obtive foi "set serveroutput off"
. Coloque não consigo fazer isso no desenvolvedor PL/SQL.
Desde já, obrigado.
O PL/SQL Developer executa implicitamente instruções adicionais em segundo plano.
dbms_xplan.display_cursor(null,null,'basic')
retorna informações da instrução executada anteriormente. Foibegin :id := sys.dbms_transaction.local_transaction_id; end;
.Após executar seu SQL, encontre-o em
V$SQL
, exemplo:Depois de encontrar seu SQL, usando as informações acima: