Oracle查询dbtime,以及各个指标的查询脚本
admin
2023-02-07 03:20:04
0

set linesize 1000
set pagesize 1000
col snap_date for a10
col "TIME" for a6
col "elapse(min)" for a6
col redo for 9999999999
col "DB time(min)" for 99999.99
select s.snap_date,
decode(s.redosize, null, '--shutdown or end--', s.currtime) "TIME",
to_char(round(s.seconds/60,2)) "elapse(min)",
round(t.db_time / 1000000 / 60, 2) "DB time(min)",
s.redosize redo,
round(s.redosize / s.seconds, 2) "redo/s",
s.logicalreads logical,
round(s.logicalreads / s.seconds, 2) "logical/s",
physicalreads physical,
round(s.physicalreads / s.seconds, 2) "phy/s",
s.executes execs,
round(s.executes / s.seconds, 2) "execs/s",
s.parse,
round(s.parse / s.seconds, 2) "parse/s",
s.hardparse,
round(s.hardparse / s.seconds, 2) "hardparse/s",
s.transactions trans,
round(s.transactions / s.seconds, 2) "trans/s"
from (select curr_redo - last_redo redosize,
curr_logicalreads - last_logicalreads logicalreads,
curr_physicalreads - last_physicalreads physicalreads,
curr_executes - last_executes executes,
curr_parse - last_parse parse,
curr_hardparse - last_hardparse hardparse,
curr_transactions - last_transactions transactions,
round(((currtime + 0) - (lasttime + 0)) 3600 24, 0) seconds,
to_char(currtime, 'yy/mm/dd') snap_date,
to_char(currtime, 'hh34:mi') currtime,
currsnap_id endsnap_id,
to_char(startup_time, 'yyyy-mm-dd hh34:mi:ss') startup_time
from (select a.redo last_redo,
a.logicalreads last_logicalreads,
a.physicalreads last_physicalreads,
a.executes last_executes,
a.parse last_parse,
a.hardparse last_hardparse,
a.transactions last_transactions,
lead(a.redo, 1, null) over(partition by b.startup_time order by b.end_interval_time) curr_redo,
lead(a.logicalreads, 1, null) over(partition by b.startup_time order by b.end_interval_time) curr_logicalreads,
lead(a.physicalreads, 1, null) over(partition by b.startup_time order by b.end_interval_time) curr_physicalreads,
lead(a.executes, 1, null) over(partition by b.startup_time order by b.end_interval_time) curr_executes,
lead(a.parse, 1, null) over(partition by b.startup_time order by b.end_interval_time) curr_parse,
lead(a.hardparse, 1, null) over(partition by b.startup_time order by b.end_interval_time) curr_hardparse,
lead(a.transactions, 1, null) over(partition by b.startup_time order by b.end_interval_time) curr_transactions,
b.end_interval_time lasttime,
lead(b.end_interval_time, 1, null) over(partition by b.startup_time order by b.end_interval_time) currtime,
lead(b.snap_id, 1, null) over(partition by b.startup_time order by b.end_interval_time) currsnap_id,
b.startup_time
from (select snap_id,
dbid,
instance_number,
sum(decode(stat_name, 'redo size', value, 0)) redo,
sum(decode(stat_name,
'session logical reads',
value,
0)) logicalreads,
sum(decode(stat_name,
'physical reads',
value,
0)) physicalreads,
sum(decode(stat_name, 'execute count', value, 0)) executes,
sum(decode(stat_name,
'parse count (total)',
value,
0)) parse,
sum(decode(stat_name,
'parse count (hard)',
value,
0)) hardparse,
sum(decode(stat_name,
'user rollbacks',
value,
'user commits',
value,
0)) transactions
from dba_hist_sysstat
where stat_name in
('redo size',
'session logical reads',
'physical reads',
'execute count',
'user rollbacks',
'user commits',
'parse count (hard)',
'parse count (total)')
group by snap_id, dbid, instance_number) a,
dba_hist_snapshot b
where a.snap_id = b.snap_id
and trunc(b.begin_interval_time)>=sysdate-7
and a.instance_number=(select instance_number from v$instance)
and a.dbid = b.dbid
and a.instance_number = b.instance_number
and a.dbid=(select dbid from v$database)
order by end_interval_time)) s,
(select lead(a.value, 1, null) over(partition by b.startup_time order by b.end_interval_time) - a.value db_time,
lead(b.snap_id, 1, null) over(partition by b.startup_time order by b.end_interval_time) endsnap_id
from dba_hist_sys_time_model a, dba_hist_snapshot b
where a.snap_id = b.snap_id
and trunc(b.begin_interval_time)>=sysdate-7
and a.dbid = b.dbid
and a.instance_number = b.instance_number
and a.instance_number=(select instance_number from v$instance)
and a.stat_name = 'DB time'
and a.dbid=(select dbid from v$database)) t
where s.endsnap_id = t.endsnap_id
order by s.snap_date,time ;

相关内容

热门资讯

玩家最新攻略“白金岛三打哈开挂... 玩家最新攻略“白金岛三打哈开挂器?”(原来真的有挂)您好,白金岛三打哈这个游戏其实有挂的,确实是有挂...
【今日要闻】“开心十三张究竟有... 【今日要闻】“开心十三张究竟有挂吗?”(太坑了原来有挂)您好,开心十三张这个游戏其实有挂的,确实是有...
我来教教您“微乐四川麻将辅助器... 您好:微乐四川麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款...
终于明白“凉山跑得快有挂吗?”... 家人们!今天小编来为大家解答凉山跑得快透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买...
重磅消息“山西大唐麻将到底是不... 有 亲,根据资深记者爆料山西大唐麻将是可以开挂的,确实有挂(咨询软件无需...
今日重大通报“道游联盟炸/金/... 有 亲,根据资深记者爆料道游联盟炸/金/花是可以开挂的,确实有挂(咨询软...
最新引进“威信茶楼怎么开挂?”... 有 亲,根据资深记者爆料威信茶楼是可以开挂的,确实有挂(咨询软件无需打开...
重磅消息“乐乐四川麻将辅助器?... 有 亲,根据资深记者爆料乐乐四川麻将是可以开挂的,确实有挂(咨询软件无需...
【第一财经】“乐享牛牛有没有挂... 家人们!今天小编来为大家解答乐享牛牛透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很...
最新引进“天天贰柒拾是不是有挂... 最新引进“天天贰柒拾是不是有挂?”(确实真的有挂)您好,天天贰柒拾这个游戏其实有挂的,确实是有挂的,...