2026-03-12 20:23:15
This commit is contained in:
85
vdh/awr_io_load_history.sql
Normal file
85
vdh/awr_io_load_history.sql
Normal file
@@ -0,0 +1,85 @@
|
||||
set linesize 500
|
||||
set pagesize 9999
|
||||
alter session set nls_numeric_characters=',.';
|
||||
set trimspool on
|
||||
set tab off
|
||||
set verify off
|
||||
set feedback off
|
||||
|
||||
column instance_number format 99
|
||||
column bsnap_id format 9999999
|
||||
column bsnap_time format a16
|
||||
column esnap_id format 9999999
|
||||
column esnap_time format a16
|
||||
|
||||
column phy_read_total_bytes format 9G999G999G999
|
||||
column phy_read_bytes format 9G999G999G999
|
||||
column phy_write_total_bytes format 9G999G999G999
|
||||
column phy_write_bytes format 9G999G999G999
|
||||
|
||||
column phy_read_total_mb format 999G999D99
|
||||
column phy_read_mb format 999G999D99
|
||||
column phy_write_total_mb format 999G999D99
|
||||
column phy_write_mb format 999G999D99
|
||||
column phy_io_total_mb format 999G999D99
|
||||
column phy_io_mb format 999G999D99
|
||||
|
||||
WITH p as
|
||||
( select dbid, instance_number, snap_id,
|
||||
lag(snap_id, 1, snap_id) over
|
||||
( partition by dbid, instance_number
|
||||
order by snap_id
|
||||
) prev_snap_id,
|
||||
begin_interval_time, end_interval_time
|
||||
from dba_hist_snapshot
|
||||
where begin_interval_time between
|
||||
to_timestamp ('01/10/2019 00:00', 'DD/MM/YYYY HH24:MI')
|
||||
and to_timestamp ('15/10/2019 00:00', 'DD/MM/YYYY HH24:MI')
|
||||
),
|
||||
s as
|
||||
( select d.name database, p.dbid, p.instance_number, p.prev_snap_id bsnap_id, p.snap_id esnap_id,
|
||||
p.begin_interval_time bsnap_time, p.end_interval_time esnap_time, bs.stat_name,
|
||||
round((es.value-bs.value)/( extract(second from (p.end_interval_time - p.begin_interval_time))
|
||||
+ extract(minute from (p.end_interval_time - p.begin_interval_time)) * 60
|
||||
+ extract(hour from (p.end_interval_time - p.begin_interval_time)) * 60 * 60
|
||||
+ extract(day from (p.end_interval_time - p.begin_interval_time)) * 24 * 60 * 60
|
||||
)
|
||||
,6
|
||||
) valuepersecond
|
||||
from v$database d, p,
|
||||
dba_hist_sysstat bs, dba_hist_sysstat es
|
||||
where d.dbid = p.dbid
|
||||
and ( p.dbid = bs.dbid
|
||||
and p.instance_number = bs.instance_number
|
||||
and p.prev_snap_id = bs.snap_id
|
||||
)
|
||||
and ( p.dbid = es.dbid
|
||||
and p.instance_number = es.instance_number
|
||||
and p.snap_id = es.snap_id
|
||||
)
|
||||
and ( bs.stat_id = es.stat_id
|
||||
and bs.instance_number = es.instance_number
|
||||
and bs.stat_name=es.stat_name
|
||||
)
|
||||
and bs.stat_name in
|
||||
( 'physical read total bytes','physical read bytes','physical write total bytes','physical write bytes')
|
||||
),
|
||||
g as
|
||||
( select /*+ FIRST_ROWS */
|
||||
database, instance_number, bsnap_id, esnap_id, bsnap_time, esnap_time,
|
||||
sum(decode( stat_name, 'physical read total bytes' , valuepersecond, 0 )) phy_read_total_bytes,
|
||||
sum(decode( stat_name, 'physical read bytes' , valuepersecond, 0 )) phy_read_bytes,
|
||||
sum(decode( stat_name, 'physical write total bytes' , valuepersecond, 0 )) phy_write_total_bytes,
|
||||
sum(decode( stat_name, 'physical write bytes' , valuepersecond, 0 )) phy_write_bytes
|
||||
from s
|
||||
group by database,instance_number, bsnap_id, esnap_id, bsnap_time, esnap_time
|
||||
)
|
||||
select instance_number, bsnap_id, to_char(bsnap_time,'DD-MON-YY HH24:MI') bsnap_time_str, esnap_id, to_char(esnap_time,'DD-MON-YY HH24:MI') esnap_time_str,
|
||||
phy_read_total_bytes/1024/1024 phy_read_total_mb,
|
||||
phy_read_bytes/1024/1024 phy_read_mb,
|
||||
phy_write_total_bytes/1024/1024 phy_write_total_mb,
|
||||
phy_write_bytes/1024/1024 phy_write_mb,
|
||||
(phy_read_total_bytes + phy_write_total_bytes) /1024/1024 phy_io_total_mb,
|
||||
(phy_read_bytes + phy_write_bytes) /1024/1024 phy_io_mb
|
||||
from g
|
||||
order by instance_number, bsnap_time;
|
||||
Reference in New Issue
Block a user