Oracle信息生命周期管理(二):热图(Heat Map)

文章介绍了Oracle中的信息生命周期管理(ILM)策略,强调了热图和自动数据优化(ADO)在数据分级和移动中的作用。热图用于追踪数据访问和修改,协助ADO进行数据压缩和表空间管理。文章详细阐述了如何开启和查询热图信息,并通过视图和DBMS_HEAT_MAP包函数展示数据追踪的详细方法,以支持高效的数据管理决策。
摘要由CSDN通过智能技术生成

前文我们已经了解到,为了实施信息生命周期管理(Information Lifecycle Management ILM)需要对数据进行分级,并且将相应分级的数据移动到对应的存储层上。这里的ILM策略涉及到两项工作:鉴别热点数据及数据移动。

而利用热图(Heat Map)和自动数据优化(Automatic Data Optimization ADO)等功能则可以辅助我们完成这些工作。

目录

一、热图简介

二、开启和关闭热图

三、 热图追踪信息查询

3.1 v$heat_map_segment 显示实时追踪信息

3.2 dba_/all_/user_heat_map_segment 显示对象的最近一次访问时间

3.3 dba_/all_/user_heat_map_seg_histogram 显示最近访问信息

3.4 dba_heatmap_top_objects 显示最活跃的10000个对象信息

3.5 dba_heatmap_top_tablespaces 显示最活跃的100个表空间信息

四、 使用DBMS_HEAT_MAP包函数查询详细信息


一、热图简介

热图(Heat Map),顾名思义就是用来追踪热点数据的,在ILM策略的实现中,它可以追踪数据的访问和修改记录:

  • 数据访问可以在段(segment)级追踪
  • 数据修改可以在段(segment)级别和行(row)级别追踪

根据热图(Heat Map)追踪的数据访问和变更结果,可以辅助自动数据优化(ADO)自动进行数据压缩,表空间移动,完成信息生命周期(ILM)的管理。

二、开启和关闭热图

热图功能的开启和关闭由参数 heat_map 控制,这个参数可以在实例级和会话级开启。开启后,Oracle将开始追踪数据访问和修改信息,但是其不会追踪 system 和 sysaux 表空间的对象信息。

这个参数同时也会控制自动数据优化(ADO)功能的开启和关闭。为了使用ADO,热图必须在实例级开启。

show parameter heat_map;    -- 查看热图参数
alter system set heat_map=on;    -- 在实例级打开热图
alter system set heat_map=off;    -- 在实例级关闭热图

三、 热图追踪信息查询

热图功能打开后,其就开始收集追踪信息,而我们可以通过相关视图来查看这些信息:

  • v$heat_map_segment 显示实时的追踪信息
  • dba_/all_/user_heat_map_segment 显示最近访问时间
  • dba_/all_/user_heat_map_seg_histogram 显示最近访问信息
  • dba_heatmap_top_objects 显示最活跃的10000个对象信息
  • dba_heatmap_top_tablespaces 显示最活跃的100个表空间信息

部分视图分为三级 :

  • dba_ 开头的视图包含"所有"的对象信息。
  • all_ 开头的视图包含所有"用户可以查看"的对象信息。
  • user_ 开头的视图包含所有"属于用户"的对象信息。

3.1 v$heat_map_segment 显示实时追踪信息

select * from v$heat_map_segment;

主要字段含义解释

3.2 dba_/all_/user_heat_map_segment 显示对象的最近一次访问时间

select * from dba_heat_map_segment;

主要字段含义解释

3.3 dba_/all_/user_heat_map_seg_histogram 显示最近访问信息

select * from dba_heat_map_seg_histogram;

主要字段含义解释

3.4 dba_heatmap_top_objects 显示最活跃的10000对象信息

由于本地测试环境没有数据库活动,所以没有数据:

select * from dba_heatmap_top_objects;

主要字段含义解释

3.5 dba_heatmap_top_tablespaces 显示最活跃的100表空间信息

由于本地测试环境没有数据库活动,所以没有数据:

select * from dba_heatmap_top_tablespaces;

主要字段含义解释

四、 使用DBMS_HEAT_MAP函数查询详细信息

除了上面的视图外,还可以通过dbms_heat_map包来定制更灵活和深入的追踪和显示信息。通过包中的函数可以在块(block)、区(extent)、段(segment)、对象(object)和表空间(tablespace)级别实施追踪:

  • dbms_heat_map.block_heat_map 返回表中每个数据块级别的最新修改时间
  • dbms_heat_map.extent_heat_map 返回表中extent级别的热图统计信息
  • dbms_heat_map.object_heat_map 返回对象所有段的最小、最大及平均访问时间
  • dbms_heat_map.segment_heat_map 返回段的热图属性
  • dbms_heat_map.tablespace_heat_map 返回表空间中所有段的最小、最大、及平均访问时间

这些函数的使用方法类似,输入指定的参数,执行后返回相关信息,返回信息和视图类似,但是更为详细具体,以 dbms_heat_map.tablespace_heat_map 函数为例,可以查看指定表空间的追踪信息:

select * from table(dbms_heat_map.tablespace_heat_map('EXAMPLE'));  -- 传入表空间名称

更进一步,我们想查询 HR 表空间 EMPLOYEES 表的详细追踪信息:

select * from table(dbms_heat_map.object_heat_map('HR', 'EMPLOYEES'));    -- 传入表空间、表名

通过这些函数,可以查看到比视图更详尽的信息,并且可以深入到视图无法查看的粒度,比如数据块级别。通过热图的访问次数排名,时间等,我们可以很容易的追踪数据库中热点数据。为后续的管理策略提供辅助决策。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值