Origem do problema
Se o arquivo de rastreio (.trc) estiver ausente Valores da Variável de Ligação (ou Valores de parâmetro em um OracleCommand no ODP.NET, por exemplo), isso se deve à maneira como o rastreio foi iniciado. / p>
Se você usar um dos seguintes comandos como Usando ferramentas de rastreamento de aplicativo estados da página:
ALTER SESSION SET SQL_TRACE = TRUE;
EXEC DBMS_SESSION.set_sql_trace(sql_trace => TRUE);
.. você não está registrando valores de bind!
Solução
Para registrar valores de variáveis de ligação, existem outras maneiras alternativas de iniciar o rastreamento, dependendo da versão do banco de dados e dos pacotes carregados.
Se você estiver no Oracle 10g +, a maneira mais fácil é usar o seguinte comando para iniciar o rastreamento:
DBMS_MONITOR.session_trace_enable(waits=>FALSE, binds=>TRUE)
Aqui está a lista completa de comandos disponíveis para iniciar o rastreamento com a gravação de variáveis de ligação (fonte: rastreamento SQL, 10046, trcsess e tkprof no Oracle 10g ):
-- All versions.
ALTER SESSION SET EVENTS '10046 trace name context forever, level 8';
EXEC DBMS_SYSTEM.set_ev(si=>123, se=>1234, ev=>10046, le=>4, nm=>' ');
-- All versions, requires DBMS_SUPPORT package to be loaded.
EXEC DBMS_SUPPORT.start_trace(waits=>FALSE, binds=>TRUE);
EXEC DBMS_SUPPORT.start_trace_in_session(sid=>123, serial=>1234, waits=>FALSE, binds=>TRUE);
-- Oracle 10g
EXEC DBMS_MONITOR.session_trace_enable(waits=>FALSE, binds=>TRUE);
EXEC DBMS_MONITOR.session_trace_enable(session_id =>1234, serial_num=>1234, binds=>TRUE, binds=>TRUE);
EXEC DBMS_MONITOR.client_id_trace_enable(client_id=>'tim_hall', waits=>FALSE, binds=>TRUE);
EXEC DBMS_MONITOR.serv_mod_act_trace_enable(service_name=>'db10g', module_name=>'test_api', action_name=>'running', -
> waits=>FALSE, binds=>TRUE);