-- +----------------------------------------------------------------------------+ -- | Jeffrey M. Hunter | -- | jhunter@idevelopment.info | -- | www.idevelopment.info | -- |----------------------------------------------------------------------------| -- | Copyright (c) 1998-2011 Jeffrey M. Hunter. All rights reserved. | -- |----------------------------------------------------------------------------| -- | DATABASE : Oracle | -- | FILE : perf_file_io_7.sql | -- | CLASS : Tuning | -- | PURPOSE : Reports on Read/Write datafile activity. This script was | -- | designed to work with Oracle7 and Oracle8. This script can be | -- | run against higher database versions (i.e. Oracle8i) but will | -- | not return information about true TEMPORARY tablespaces. | -- | (i.e. use of "tempfiles") | -- | NOTE : As with any code, ensure to test this script in a development | -- | environment before attempting to run it in production. | -- +----------------------------------------------------------------------------+ SET LINESIZE 145 SET PAGESIZE 9999 SET VERIFY off COLUMN phys_reads NEW_VALUE xphys_reads NOPRINT FORMAT a1 COLUMN phys_writes NEW_VALUE xphys_writes NOPRINT FORMAT a1 SELECT SUM(phyrds) phys_reads , SUM(phywrts) phys_writes FROM v$filestat / COLUMN name FORMAT a45 HEAD 'File Name' COLUMN phyrds FORMAT 999,999,999 HEAD 'Physical Reads' COLUMN phywrts FORMAT 999,999,999 HEAD 'Physical Writes' COLUMN read_pct FORMAT 999.99 HEAD 'Read Pct.' COLUMN write_pct FORMAT 999.99 HEAD 'Write Pct.' BREAK ON report COMPUTE SUM OF phyrds ON report COMPUTE SUM OF phywrts ON report COMPUTE AVG OF read_pct ON report COMPUTE AVG OF write_pct ON report SELECT name name , phyrds phyrds , phyrds * 100 / &xphys_reads read_pct , phywrts phywrts , phywrts * 100 / &xphys_writes write_pct FROM v$datafile df , v$filestat fs WHERE df.file# = fs.file# ORDER BY phyrds DESC /