2026-03-12 20:23:15
This commit is contained in:
56
vdh/filestat.sql
Normal file
56
vdh/filestat.sql
Normal file
@@ -0,0 +1,56 @@
|
||||
/**********************************************************************
|
||||
* File: filestat.sql
|
||||
* Type: SQL*Plus script
|
||||
* Author: Tim Gorman (Evergreen Database Technologies, Inc.)
|
||||
* Date: 20-Sep-99
|
||||
*
|
||||
* Description:
|
||||
* Report against the V$FILESTAT table to detect the tablespace
|
||||
* with the greatest I/O load, according the volume of reads and
|
||||
* writes, weighted against the average I/O time...
|
||||
*
|
||||
* Because this script depends on the timing information in the
|
||||
* V$FILESTAT view, please be sure to have the configuration
|
||||
* TIMED_STATISTICS set to TRUE to get the full value of this
|
||||
* report...
|
||||
*
|
||||
* Modifications:
|
||||
*********************************************************************/
|
||||
col ts_name format a25 truncate
|
||||
col sort0 noprint
|
||||
col io format a43 heading "Reads Writes|Rqsts,Blks,#Bks/Rqst"
|
||||
col rds format a25 heading "Reads|Rds/Bks(#bks/Rd)"
|
||||
col wrts format a25 heading "Writes|Wrts/Bks(#bks/Wrt)"
|
||||
col avgiotim format 999990.0
|
||||
|
||||
set echo on feedback off timing off trimspool on pages 1000 lines 500
|
||||
|
||||
col instance new_value V_INSTANCE noprint
|
||||
select lower(replace(t.instance,chr(0),'')) instance
|
||||
from v$thread t,
|
||||
v$parameter p
|
||||
where p.name = 'thread'
|
||||
and t.thread# = to_number(decode(p.value,'0','1',p.value));
|
||||
spool filestat_&&V_INSTANCE
|
||||
|
||||
select avg(nvl(s.avgiotim,0)) * sum(nvl(s.phyrds,0) + nvl(s.phywrts,0)) sort0,
|
||||
f.tablespace_name ts_name,
|
||||
ltrim(to_char(sum(s.phyrds))) || ',' ||
|
||||
ltrim(to_char(sum(s.phyblkrd))) || ',' ||
|
||||
ltrim(to_char(sum(s.phyblkrd)/
|
||||
decode(sum(s.phyrds),0,1,sum(s.phyrds)),'990.0'))
|
||||
|| ' | ' ||
|
||||
ltrim(to_char(sum(s.phywrts))) || ',' ||
|
||||
ltrim(to_char(sum(s.phyblkwrt))) || ',' ||
|
||||
ltrim(to_char(sum(s.phyblkwrt)/
|
||||
decode(sum(s.phywrts),0,1,sum(s.phywrts)),'990.0')) io,
|
||||
avg(s.avgiotim) avgiotim
|
||||
from v$filestat s,
|
||||
dba_data_files f
|
||||
where f.file_id = s.file#
|
||||
group by
|
||||
f.tablespace_name
|
||||
order by sort0 desc, ts_name
|
||||
/
|
||||
|
||||
spool off
|
||||
Reference in New Issue
Block a user