暂无图片
暂无图片
8
暂无图片
暂无图片
暂无图片

Oracle查询某时间段内归档日志生成量

原创 甚至熊熊 2022-02-13
4426

今天碰到一个ASM归档磁盘空间异常的情况,需要查询过去几小时、几天内的归档日志生成量,涉及到v$archived_log视图,借此机会学习总结一下。

一、v$archived_log与gv$archived_log

单实例情况下毋庸置疑查询v$archived_log

那么rac环境下varchived_log与gvarchived_log是个什么关系呢

我对比了两个视图,gv$archived_log仅多了一列INST_ID

执行查询看到gv$archived_log中,同一个归档日志记录了两行,区别仅是inst_id不同

image.png

所以集群环境也查询v$archived_log即可

二、归档数量及大小查询

下面列出四种查询的情况

1.查询当天每小时的归档日志生成量

alter session set nls_date_format='yyyy.mm.dd hh24:mi:ss'; select logtime, count(*), round(sum(blocks * block_size) / 1024 / 1024) mbsize from (select trunc(first_time, 'hh') as logtime, a.BLOCKS, a.BLOCK_SIZE from v$archived_log a where a.DEST_ID = 1 and a.FIRST_TIME > trunc(sysdate)) group by logtime order by logtime desc; 说明: 1、first_time 是归档日志的开头时间 2、DEST_ID指向本地归档,1代表log_archive_dest_1 3、trunc()函数中的hh代表小时,下面sql取dd代表天

image.png

上图可见每小时产生19G左右的归档,count(*)列代表每小时两节点一共产生了多少个归档日志。

2.查最近一周每天的归档日志生成量

select logtime, count(*), round(sum(blocks * block_size) / 1024 / 1024) mbsize from (select trunc(first_time, 'dd') as logtime, a.BLOCKS, a.BLOCK_SIZE from v$archived_log a where a.DEST_ID = 1 and a.FIRST_TIME > trunc(sysdate - 7)) group by logtime order by logtime desc;

image.png

3.查询当天每小时的各个实例的归档日志生成量

select THREAD#, logtime, count(*), round(sum(blocks * block_size) / 1024 / 1024) mbsize from (select a.THREAD#, trunc(first_time, 'hh') as logtime, a.BLOCKS, a.BLOCK_SIZE from v$archived_log a where a.DEST_ID = 1 and a.FIRST_TIME > trunc(sysdate)) group by THREAD#, logtime order by THREAD#, logtime desc;

image.png

4. 查询最近一周每天的各个实例的归档日志生成量

select THREAD#, logtime, count(*), round(sum(blocks * block_size) / 1024 / 1024) mbsize from (select THREAD#, trunc(first_time, 'dd') as logtime, a.BLOCKS, a.BLOCK_SIZE from v$archived_log a where a.DEST_ID = 1 and a.FIRST_TIME > trunc(sysdate - 7)) group by THREAD#, logtime order by THREAD#, logtime desc;

image.png

三、v$archived_log视图的部分常用列说明

详细说明见官方文档:
https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/V-ARCHIVED_LOG.html#GUID-51618DF3-0C20-40E1-B94F-212FDF7CD729

列名 说明
THREAD# 产生归档的实例节点编号
NAME 归档日志的路径和名称
SEQUENCE# 归档的的序列号
DEST_ID 归档的目标,对应log_archive_dest_n参数,比如本地归档路径使用log_archive_dest_1,那么这里的值就是1
FIRST_CHANGE# 归档开始记录的SCN号
NEXT_CHANGE# 归档结束记录的SCN号
FIRST_TIME 归档日志的开头时间
COMPLETION_TIME 归档完成的时间
BLOCKS 归档日志有多少个块
BLOCK_SIZE 归档日志每个块有多大,结合上面BLOCKS能计算出每个归档日志的大小
APPLIED 归档是否被应用,DG相关
STATUS 状态 A - Available D - Deleted U - Unavailable X - Expired,标记为删除的归档日志NAME为空

透明2.png

透明背景.png

最后修改时间:2022-03-07 19:09:08
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论