查看整个存储过程的执行计划


通过对session进行trace的方式查看。

 

1、获取当前sessionsidserial#

2、他通过sid获取操作系统的pid

select p.spid

from v$session s,v$process p

where s.paddr=p.addr

and s.sid=3214

;

3、对session进行trace

exec dbms_system.set_sql_trace_in_session(3214,48681,true);

4、在3214 session 下执行存储过程

var o_result_flag varchar2(200);

var o_error_msg varchar2(200);

declare

 

begin

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx('20200706','20070706',:o_result_flag ,:o_error_msg);

end;

/

5、关闭对sessiontrace

exec dbms_system.set_sql_trace_in_session(3214,48681,false);

 

6、找到对应的trc文件

cd $ORACLE_BASE/diag/rdbms/iltdb/iltdb/trace

ora_xxxx文件即是。其中xxxx即为步骤2中查询出来的pid

7、对trc文件进行格式转换

tkprof ora_xxxx.trc ora_xxxx.txt

 

 

最终的ora_xxxx.txt中包含了整个存储过程的执行计划。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM