暂无图片
最近5小时每小时redo log 日志切换次数
我来答
分享
暂无图片 匿名用户
最近5小时每小时redo log 日志切换次数

求脚本,最近5小时每小时redo log 日志切换次数

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
农夫三拳

SELECT TRUNC(first_time) "Date",
TO_CHAR(first_time, 'Dy') "Day",
COUNT(1) "Total",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '00', 1, 0)) "h0",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '01', 1, 0)) "h1",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '02', 1, 0)) "h2",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '03', 1, 0)) "h3",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '04', 1, 0)) "h4",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '05', 1, 0)) "h5",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '06', 1, 0)) "h6",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '07', 1, 0)) "h7",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '08', 1, 0)) "h8",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '09', 1, 0)) "h9",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '10', 1, 0)) "h10",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '11', 1, 0)) "h11",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '12', 1, 0)) "h12",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '13', 1, 0)) "h13",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '14', 1, 0)) "h14",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '15', 1, 0)) "h15",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '16', 1, 0)) "h16",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '17', 1, 0)) "h17",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '18', 1, 0)) "h18",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '19', 1, 0)) "h19",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '20', 1, 0)) "h20",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '21', 1, 0)) "h21",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '22', 1, 0)) "h22",
SUM(DECODE(TO_CHAR(first_time, 'hh24'), '23', 1, 0)) "h23",
ROUND(COUNT(1) / 24, 2) "Avg"
FROM v$log_history
-- FROM gv$log_history
--WHERE thread# = inst_id
GROUP BY TRUNC(first_time), TO_CHAR(first_time, 'Dy')
ORDER BY 1 desc;



自己改改

暂无图片 评论
暂无图片 有用 2
virvle
2024-06-11
好用 加个 where first_time >= sysdate-6/24 ,就可以预估近5小时的
lianR

你可以使用以下脚本来获取最近5小时每小时redo  log日志切换次数。这个脚本是基于Oracle数据库的。

```sql
SELECT  TO_CHAR(first_time,  'YYYY-MM-DD  HH24')  AS  hour,  COUNT(*)  AS  switches
FROM  v$log_history
WHERE  first_time  >  SYSDATE  -  INTERVAL  '5'  HOUR
GROUP  BY  TO_CHAR(first_time,  'YYYY-MM-DD  HH24')
ORDER  BY  hour;
```

这个脚本首先从v$log_history视图中选择出最近5小时的日志切换记录,然后按小时进行分组并计数,最后按小时排序。

注意:这个脚本需要在Oracle数据库中运行,并且需要有查看v$log_history视图的权限。

暂无图片 评论
暂无图片 有用 0
N
nick_liu

RAC 环境下

SELECT "THREAD#" ,to_char(FIRST_TIME,'yyyy-mm-dd hh24') t_hour,count(to_char(FIRST_TIME,'yyyy-mm-dd hh24')) total FROM "V$LOG_HISTORY" WHERE FIRST_TIME >=sysdate -5/24 GROUP BY to_char(FIRST_TIME,'yyyy-mm-dd hh24') ,"THREAD#" ;

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏