1、AWR执行计划 select * from table(dbms_xplan.display_awr(‘8qfs8857jc8fw‘,null,null,‘ADVANCED‘)); SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_AWR(‘8qfs8857jc8fw‘)) select tf.* from dba_hist_sqltext ht, table(dbms_xplan.display_awr(ht.sql_id, null, null, ‘all‘)) tf where ht.sql_text like ‘%mac%‘; 2、获取库缓存中的执行计划
select t.* from v$sql s,table(dbms_xplan.display_cursor(s.sql_id,s.child_number,‘ADVANCED ALLSTATS LAST PEEKED_BINDS‘)) t where s.sql_id = ‘6g0tcbdcr08b9‘; 为了获取缓存库中的执行计划,可以直接查询动态性能视图v$sql_plan和v$sql_plan_statistics_all等,但更方便的方法是: select t.* from v$sql s,table(dbms_xplan.display_cursor(s.sql_id,s.child_number,‘allstats last‘)) t where s.sql_id = ‘8qfs8857jc8fw‘; 获取a-rows(实际行数) 信息需要执行 alter session set statistics_level=all 或 /*+ gather_plan_statistics */ E-Rows 为预估行数 A-Rows 为实际行数
select * from table(dbms_xplan.display_cursor(null,null,‘ADVANCED ALLSTATS LAST PEEKED_BINDS‘)); statistics_level设置为all或在sql语句中指定gather_plan_statistics提示),那么也支持修饰符.它的缺省值为typical sql_id 识别父游标.这个信息只有当使用display_cursor和display_awr时才有,使用默认值(NULL)当前会话的最后一条SQL的执行计划被返回 cursor_child_no 与sql_id一起用来识别子游标,这种信息只有当使用display_cursor时才有,默认值0,若设为null, sql_id所指父游标下所有子游标的执行计划被返回 format设置为allstats即包含iostats(控制I/O统计的显示)和memstats(控制PGA相关统计显示)。 默认是所有执行的累积统计被显示,如果last被指定只有最后的执行统计被显示
时间: 2024-11-08 22:36:19