第137期 Oracle的数据生命周期管理(20240123)

数据库管理137期 2024-01-23

  • 第137期 Oracle的数据生命周期管理(20240123)
    • 1 ILM
    • 2 Heat Map
    • 3 ADO
    • 4 优点
    • 5 对比
    • 总结

第137期 Oracle的数据生命周期管理(20240123)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Associate: Database(Oracle与MySQL)
网思科技 DBA总监
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、认证技术专家,ITPUB认证专家,OCM讲师
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭。

上周在《2024阿里云PolarDB开发者大会》下午的“开源生态”分会场上,看到一个有趣的语句:
076d3d59751d6a8fc8f3ff7192901a9.jpg
即自动分区模式下,在超过12个月后,对应分区会被干掉(这里对PolarDB不是很熟悉,不确定是干掉还是归档还是其他操作)。周四在去Oracle北京办公室交流的时候提到了这件事情,O记诗人屈继成老师就提出,Oracle也有类似的功能,本周反蓉后也对相关的技术进行了学习。
本期大部分内容来自于MOS文档《Information Lifecycle Management (ILM), Heat Map, Automatic Data Optimization (ADO)(Doc ID 1612385.1)》及其引申的相关内容。

1 ILM

几乎所有行业的数据量都在快速增长。数据的快速增长给IT带来了巨大的成本和性能挑战。
尽管存储成本不断下降,但快速增长的数据量依然使存储成为大多数IT预算快速增长的主要原因。此外,数据的快速增长使其难以满足性能要求,同时在预算范围内。
ILM,Information Lifecycle Management,信息生命周期管理,旨在根据企业当前的业务和性能需求,通过将数据存储在不同的存储和压缩层来解决这些难题。这种方法提供了优化存储以实现成本节约和最大性能的可能性。
ILM是应用策略以在信息的整个使用寿命内对其进行有效管理的做法。ILM包括“一行”从开始到结束的每一个阶段,它包括用于使信息的业务价值与最适当、最经济高效的IT基础架构保持一致的策略、流程、操作和工具,从数据设计到最终处置。从Oracle 12c开始,可以使用自动数据优化(Automatic Data Optimization,ADO)创建策略,并根据这些策略自动执行操作,以实施ILM策略。ADO利用Heat Map收集的使用情况统计信息,通过分区、高级行压缩和混合列压缩等方式满足ILM策略要求。

2 Heat Map

Heat Map是Oracle Database 12c新增的一项功能,可在行和段级别存储系统生成的数据使用情况统计信息,这些信息可用于自动压缩和移动数据,以降低存储成本、提高性能并优化Oracle数据库存储。Heat Map和ADO结合使用,可以根据数据的使用情况自动执行压缩和存储策略。段级别的Heat Map跟踪表和分区的上次修改和访问时间;行级别Heat Map则跟踪行的修改时间。heat Map一旦启用,就会自动收集段和行级别的统计信息,这些统计信息可用于定义压缩和存储策略,这些策略将在数据的整个生命周期中自动维护。Heat Map跳过为系统任务完成的内部访问所要产生的记录即自动排除Stats Gathering、DDL或Table Redefinitions。
通过以下SQL开启Heat Map:

ALTER SYSTEM SET HEAT_MAP = ON;
该参数默认为OFF

V$HEAT_MAP_SEGMENT视图显示段的实时访问信息;而ALL_, DBA_和USER_HEAT_MAP_SEGMENT视图则显示用户所有可见段的最近段访问时间;而ALL_, DBA_, and USER_HEAT_MAP_SEG_HISTOGRAM则显示用户所有可见段的访问信息;DBA_HEATMAP_TOP_OBJECTS视图则显示Top 1000对象(object)的Heat Map信息;DBA_HEATMAP_TOP_TABLESPACES视图显示Top 1000表空间的Heat Map信息。

3 ADO

ADO,Automatic Data Optimization,自动数据优化,允许您创建数据压缩(智能压缩)和数据移动策略,以实现数据存储调整和压缩分层。智能压缩是指利用热图信息将压缩策略和压缩级别与实际数据使用情况相关联的能力。Oracle在维护窗口期间评估ADO策略,并使用Heat Map收集的信息来确定要执行的操作。所有ADO操作都是在后台自动执行的,不需要用户干预。ADO策略可以在段或行级别为表和表分区指定——当满足策略标准时,策略将在后台自动执行,也可以按需执行。ADO策略上的条件允许组织指定哪些条件将启动ADO操作,例如不访问数据或不修改数据,以及策略何时生效,例如,在“n”天或数月或数年不修改后,或在行或分区创建后“n”天后或数月,或包含对象的表空间满足预定义的表空间填充阈值时。您不局限于热图数据:您还可以使用PL/SQL函数创建自定义条件,扩展ADO的灵活性,使用您自己的数据来确定何时移动或压缩数据。Heat Map和ADO需要Advanced Compression Option。
下面是MOS文档提供的一个栗子:

/* Create an example table with an ILM ADO policy */
CREATE TABLE <table name>
(PROD_ID NUMBER NOT NULL,
CUST_ID NUMBER NOT NULL,
TIME_ID DATE NOT NULL,
CHANNEL_ID NUMBER NOT NULL,
PROMO_ID NUMBER NOT NULL,
QUANTITY_SOLD NUMBER(10,2) NOT NULL,
AMOUNT_SOLD NUMBER(10,2) NOT NULL )
PARTITION BY RANGE (time_id)
( PARTITION sales_q1_2012 VALUES LESS THAN (TO_DATE('01-APR-2012','dd-MON-yyyy')),
PARTITION sales_q2_2012 VALUES LESS THAN (TO_DATE('01-JUL-2012','dd-MON-yyyy')),
PARTITION sales_q3_2012 VALUES LESS THAN (TO_DATE('01-OCT-2012','dd-MON-yyyy')),
PARTITION sales_q4_2012 VALUES LESS THAN (TO_DATE('01-JAN-2013','dd-MON-yyyy')) )
ILM ADD POLICY COMPRESS FOR ARCHIVE HIGH SEGMENT
AFTER 12 MONTHS OF NO ACCESS;

/* View the existing ILM ADO polices */
SELECT SUBSTR(policy_name,1,24) POLICY_NAME, policy_type, enabled
FROM USER_ILMPOLICIES;

POLICY_NAME POLICY_TYPE ENABLE
------------------------ ------------- ------
P1 DATA MOVEMENT YES

关于这个栗子就不做过多解释了。根据Heat Map收集的数据,再加上ADO提供的自动化策略,可以轻松地为智能压缩分层和存储分层实施ILM策略。Oracle高级压缩和Oracle分区选项结合在一起,通过更好地优化存储基础架构,提供了IT部门经济高效的信息管理,同时还保持了业务所需的性能和可扩展性。

4 优点

在数据库级别工作,不需要更改应用程序
减少所有类型数据的磁盘空间需求
允许您根据活动模式自动将数据移动到成本较低的存储中
通过在高性能存储上只保留活动数据来减少查询时间
提高最可靠存储上关键信息的可用性

更多关于ILM、Heat Map和ADO的内容可以查看官方文档Managing and Maintaining Time-Based Information (https://docs.oracle.com/en/database/oracle/oracle-database/19/vldbg/time-based-info.html#GUID-0193CE0F-4D9A-4D6F-8B19-E471DE94107C)

5 对比

相较于PolarDB提供的分区生命周期解决方案方案,Oracle的ILM提供了更加精细的数据处置方案,同时可操作对象更多、方式也更多(但也可能是我对PolarDB了解不够),可以实现对行或分区按照时间、访问、表空间用量等方式实现压缩、数据移动等操作。
但PolarDB有一点完胜ILM,那就是SQL真心简单,易读易用易维护。

总结

通过PolarDB的分区生命周期解决,进而了解Oracle的数据生命周期管理。
老规矩,知道写了些啥。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/344442.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(学习日记)2024.01.22:各类型占用字节 与 指针

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

SSM:Spring + Spring MVC + MyBatis 的整合

SSM 前言整合 前言 在完成 Spring 、Spring MVC 与 MyBatis 基础知识的学习后&#xff0c;下面简单介绍 SSM 框架的整合使用。 整合 SSM&#xff0c;是 Java 开发中常用的一个 Web 框架组合&#xff0c;用于构建基于 Spring 和 MyBatis 的 Web 应用&#xff08; Spring MVC …

Zabbix分布式监控系统

实验过程 ps&#xff1a; 阿里云盘Xnode1获取 xnode1 https://www.alipan.com/s/HgLXfoeBWG2 提取码: eb70 1、xnode1克隆两台虚拟机并修改ip zabbix-server192.168.224.3 zabbix-agent192.168.224.4 2、修改主机名 [rootlocalhost ~]# hostnamectl set-hostname zabbix-se…

旧衣服回收小程序开发

随着人们的消费理念逐渐提升&#xff0c;每个家庭的闲置衣物每年就能够达到30公斤左右&#xff0c;这也促进了我国旧衣回收行业的发展。近几年我国的旧衣回收市场规模在300-400亿元&#xff0c;发展潜力较大。 旧衣回收行业是当下的环保型商业模式&#xff0c;商业价值较为可观…

JavaScript递归函数如何匹配上下级id和pid的数据(for...of,foreach.reduce)

目录 一、for...of 二、forEach 三、reduce 递归函数是一种在编程中常用的方法&#xff0c;用于解决一些需要重复操作的问题。在JavaScript中&#xff0c;递归函数可以用来匹配上下级id和pid的数据结构&#xff0c;例如树形结构或者父子关系的数据。 一、for...of 首先…

ARM安装与项目结构

1. 安装环境 参考E:\peixunQianrushi\arm\ziliao\FS4412新版&#xff08;学生资料&#xff09;\环境相关资料 这边建议全部默认路径 安装注意事项&#xff1a; 1、在接下来的安装过程中&#xff0c;对于使用win10、win8的操作系统的用户&#xff0c;所有的安装请均以管理员身份…

【渗透测试】nmap基本使用方法整理

nmap作用介绍 nmap是一款工具&#xff0c;用于收集信息时使用。通过nmap可以快速的扫描目标的端口操作系统使用的服务等。以便于后续的渗透测试。 但是值得注意的是&#xff0c;nmap误报是个超正常的事情&#xff0c;还是要人为的去判断一下。 单机快速端口扫描 我们默认扫…

P9568 [SDCPC2023] Computational Geometry 题解

P9568 [SDCPC2023] Computational Geometry 题解 感谢战学长的帮助。 解法 本题的关键是将多边形 Q Q Q 分割为两部分&#xff0c;一部分是由点 a , b , c a,b,c a,b,c 组成的三角形&#xff0c;另一部分是由从 b b b 到 c c c 这 k 1 k 1 k1 个点组成的凸多边形。注…

回归问题波士顿房价预测

线性回归API sklearn.linear_model.LinearRegression(fit_interceptTrue) 正规方程优化参数&#xff1a;fit_intercept&#xff0c;是否计算偏置属性&#xff1a;LinearRegression.coef_ &#xff08;回归系数&#xff09; LinearRegression.intercept_&#xff08;偏置&…

2024.1.23 GNSS 零散知识 学习笔记

1.天线种类 2.接收机 2.四大导航系统的介绍 3.卫星高度与轨道卫星种类 4.GNSS有哪些应用 5.在空间保持静⽌或匀速直线运动(⽆加速度)的坐标系称为惯性坐标系。 6.地⼼惯性坐标系实际上并没有满⾜能成为惯性坐标系的条件&#xff1a; ⾸先&#xff0c;地球及其质⼼都在围绕太阳…

《WebKit 技术内幕》学习之九(2): JavaScript引擎

2 V8引擎 2.1 基础 V8是一个开源项目&#xff0c;也是一个JavaScript引擎的实现。它最开始是由一些语言方面的专家设计出来的&#xff0c;后被Google收购&#xff0c;成为了JavaScript引擎和众多相关技术的引领者。其目的很简单&#xff0c;就是为了提高性能。因为在当时之前…

C++比较两个proto是否一样

参考:https://stackoverflow.com/questions/3228107/google-protocol-buffers-compare/32351914#32351914 #include <google/protobuf/util/message_differencer.h>MessageDifferencer::Equals(msg1, msg2);

dhcp服务器的ip池的待分配ip地址是否冲突的检测机制

看到有的资料说&#xff0c;dhcp服务器在分配ip地址时&#xff0c;要检测是否待分配的ip地址是否存在冲突&#xff0c;会向广播域发出&#xff0c;对应ip发出icmp的ping消息来验证是否冲突。特地用自己的公司的交换机验证一下&#xff0c;在交换机上镜像抓包观察一下。 wiresha…

【C++】位图+布隆过滤器

位图布隆过滤器 1.位图2.布隆过滤器 喜欢的点赞&#xff0c;收藏&#xff0c;关注一下把&#xff01; 1.位图 问: 给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无符号整数&#xff0c;如何快速判断一个数是否在这40亿个数中。 可能你会想到下面这几种方式&#…

【Python进阶编程】python编程高手常用的设计模式(持续更新中)

Python编程高手通常熟练运用各种设计模式&#xff0c;这些设计模式有助于提高代码的可维护性、可扩展性和重用性。 以下是一些Python编程高手常用的设计模式&#xff1a; 1.单例模式&#xff08;Singleton Pattern&#xff09; 确保一个类只有一个实例&#xff0c;并提供全局…

softmax回归实战-分类

1.数据集 MNIST数据集 (LeCun et al., 1998) 是图像分类中广泛使用的数据集之一&#xff0c;但作为基准数据集过于简单。 我们将使用类似但更复杂的Fashion-MNIST数据集 (Xiao et al., 2017)。 import torch import torchvision from torch.utils import data from torchvisi…

javaspringbootmysql开放实验室管理系统03361-计算机毕业设计项目选题推荐(附源码)

摘 要 随着社会的发展&#xff0c;社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是使用动态网页开发技术java作为系统的开发语言&#xff0c;M…

如何把openwrt的ipk软件包安装到ubuntu上

前提&#xff1a;都是arm64的架构的软件包。 下载openwrt的ipk软件包 1. 从https://pkgs.org/ 查找下载软件包&#xff1a; 本文以swconfig软件包为例&#xff0c;下载swconfig和相关的依赖软件包&#xff1a; swconfig_12_aarch64_cortex-a72.ipk libuci20130104_2021-10-2…

eNSP学习——交换机基础

目录 原理概述 实验目的 实验步骤 实验内容 实验拓扑 实验步骤 基础配置 配置交换机双工模式 配置接口速率 思考题 原理概述 交换机之间通过以太网电接口对接时需要协商一些接口参数&#xff0c;比如速率、双工模式等。   接口速率&#xff1a;指的是交换机接口每秒钟传…

【操作系统】实验五 添加内核模块

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的很重要&…