Basic statement IO analysis
Oracle IO Analysis basic
TCNT SQL_ID CNT AAS OBJN OBJ P1 TABLESPAC ---- ------------- --- --- ----- --------------- -- ---------- 30 0yas01u2p9ch4 1 .01 53113 ITEM_PRODUCT_IX 7 SOEINDEX 1 .01 53079 ORDER_ITEMS_UK 7 SOEINDEX 28 .16 53112 ITEM_ORDER_IX 7 SOEINDEX 58 6v6gm0fd1rgrz 4 .02 54533 WAIT_OBJECTS 1 SYSTEM 54 .30 0 0 2 UNDOTBS1
DEF v_minutes=60 col block_type for a18 col obj for a20 col objn for 999999 col otype for a15 col event for a15 col blockn for 999999 col p1 for 9999 col tablespace_name for a15 col f_minutes new_value v_minutes select &minutes f_minutes from dual; break on sql_id on tcnt select sum(cnt) over ( partition by io.sql_id order by sql_id ) tcnt, io.sql_id, io.cnt cnt, io.aas aas, --io.event event, io.objn objn, io.obj obj, io.p1 p1, f.tablespace_name tablespace_name from ( select sql_id, count(*) cnt, round(count(*)/(&v_minutes*60),2) aas, CURRENT_OBJ# objn, nvl(o.object_name,decode(CURRENT_OBJ#,-1,0,CURRENT_OBJ#)) obj, o.object_type otype, ash.p1 from v$active_session_history ash ,all_objects o where ( event like 'db file s%' or event like 'direct%' ) and o.object_id (+)= ash.CURRENT_OBJ# and sample_time > sysdate - &v_minutes/(60*24) group by CURRENT_OBJ#, o.object_name , o.object_type , ash.p1, sql_id ) io, dba_data_files f where f.file_id = io.p1 Order by tcnt, io.sql_id, io.cnt /