类似explain analyze
1.alter session set statistics_level = all;
2.执行语句;
(如果上一步不做,则需要在语句中添加 /*+ gather_plan_statistics /。 例如:select /+ gather_plan_statistics */ * from dual; 但这样做比较麻烦 ,每条语句都要加上,不推荐)
3.查看set timing on
select * from table(dbms_xplan.display_cursor(null,null,'all last allstats'));
执行语句,
执行之后通过sql monitor收集,需要知道SQL_ID
col event for a30
col username for a10
set linesize 200 pagesize 50000 long 999999 longchunksize 999999
col module for a30
--查看语句sqlid
--select sid,sql_id,sql_exec_id,event from v$session where sid=1623;
select dbms_sqltune.report_sql_monitor(sql_id => '*9babjv8yq8ru3*') from dual;
或者加上执行id可选
select dbms_sqltune.report_sql_monitor(sql_id => '13prwvd1pqkm2',sql_exec_id=>16791062) from dual;
type => 'TEXT'
alter session set tracefile_identifier='10053_tcs_20240131';
alter session set max_dump_file_size = unlimited;
ALTER SESSION SET EVENTS '10053 trace name context forever, level 1';
EXPLAIN PLAN FOR --SQL STATEMENT--;
ALTER SESSION SET EVENTS '10053 trace name context off';
exit;
去Oracle的日志文件区域抓取对应的10053_tcs_20240131.trc文件