-- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com -- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions. -- Author: Tanel Poder (http://tanelpoder.com | @tanelpoder ) -- Purpose: A temporary script/hack to display exadata-specific metrics along normal SQL stuff from V$SQL col sql_sql_text head SQL_TEXT format a150 word_wrap col sql_child_number head "CH#" for 999 col offl_attempted_mb HEAD OFFLOAD_MB FOR A14 JUST RIGHT prompt Show SQL text, child cursors and execution stats for SQLID &1 child &2 select hash_value, plan_hash_value, child_number sql_child_number, sql_text sql_sql_text from v$sql where sql_id = ('&1') and child_number like '&2' order by sql_id, hash_value, child_number / select child_number sql_child_number, address parent_handle, child_address object_handle, plan_hash_value plan_hash, parse_calls parses, loads h_parses, executions, fetches, rows_processed, rows_processed/nullif(fetches,0) rows_per_fetch, cpu_time/1000000 cpu_sec, cpu_time/NULLIF(executions,0)/1000000 cpu_sec_exec, elapsed_time/1000000 ela_sec, buffer_gets LIOS, disk_reads PIOS, sorts -- address, -- sharable_mem, -- persistent_mem, -- runtime_mem, -- , PHYSICAL_READ_REQUESTS -- , PHYSICAL_READ_BYTES -- , PHYSICAL_WRITE_REQUESTS -- , PHYSICAL_WRITE_BYTES -- , OPTIMIZED_PHY_READ_REQUESTS -- , IO_CELL_OFFLOAD_ELIGIBLE_BYTES -- , IO_INTERCONNECT_BYTES -- , IO_CELL_UNCOMPRESSED_BYTES -- , IO_CELL_OFFLOAD_RETURNED_BYTES , users_executing from v$sql where sql_id = ('&1') and child_number like '&2' order by sql_id, hash_value, child_number / select child_number sql_child_number , plan_hash_value plan_hash , LPAD(CASE WHEN io_cell_offload_eligible_bytes > 0 THEN TO_CHAR(ROUND(io_cell_offload_eligible_bytes / 1048576)) ELSE 'NOT ATTEMPTED' END, 14) offl_attempted_mb -- , ROUND(io_cell_offload_eligible_bytes / 1048576) offl_attempted_mb , ROUND((1-(io_cell_offload_returned_bytes/NULLIF(io_cell_offload_eligible_bytes,0)))*100) scan_offl_saving , ROUND(io_interconnect_bytes / 1048576) tot_ic_xfer_mb , ROUND((1-(io_interconnect_bytes/NULLIF(physical_read_bytes,0)))*100) tot_ic_xfer_saving , ROUND(physical_read_bytes / NULLIF(executions,0) / 1048576) avg_mb_rd_exec , ROUND(physical_read_bytes / NULLIF(physical_read_requests,0) / 1024 ) avg_kb_rd_io , ROUND(physical_write_bytes / NULLIF(executions,0) / 1048576) avg_mb_wr_exec , ROUND(physical_write_bytes / NULLIF(physical_write_requests,0) / 1024 ) avg_kb_wr_io , ROUND(optimized_phy_read_requests / NULLIF(physical_read_requests,0) * 100) pct_optim -- , io_cell_uncompressed_bytes from v$sql where sql_id = ('&1') and child_number like '&2' order by sql_id, hash_value, child_number / --@pr