第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开发者大会》下午的“开源生态”分会场上,看到一个有趣的语句:
即自动分区模式下,在超过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的数据生命周期管理。
老规矩,知道写了些啥。
相关文章:

第137期 Oracle的数据生命周期管理(20240123)
数据库管理137期 2024-01-23 第137期 Oracle的数据生命周期管理(20240123)1 ILM2 Heat Map3 ADO4 优点5 对比总结 第137期 Oracle的数据生命周期管理(20240123) 作者:胖头鱼的鱼缸(尹海文) Orac…...

电脑的GPU太强了,pytorch版本跟不上,将cuda驱动进行降级
我的情况: 我买的电脑的GPU版本为rtx4060,但是装上相应的驱动后,cuda的版本为12.3,而现在pytorch中cuda安装命令的最新版本为12.1,所以我将电脑的驱动进行降级为cuda版本为10.1的。 最后成功安装cuda10.1版本的驱动 …...

1 认识微服务
1.认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? 1.0.学习目标 了解微服务架构的优缺点 1.1.单体架构 单体架构:将业务的所有…...
PHP+SOCKET 服务端多进程处理多客户端请求 demo
服务端 $socket socket_create(AF_INET,SOCK_STREAM,SOL_TCP); socket_bind($socket,0,95012) or die( server bind fail: . socket_strerror(socket_last_error())); socket_listen($socket,5);$child 0; //初始化子进程数 while(true){$client socket_accept($socket);$pi…...

Matplotlib笔记:安装Matplotlib+常用绘图
Matplotlib Python的2D绘图库 安装Matplotlib 打开Anaconda Prompt切换环境(默认是base,无需切换)输入命令行安装pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib3.5.2 绘图 导入import matplotlib.pyplot as plt …...

Confluence6+mysql5.7安装避坑详细记录
目录 一、前言 二、下载与安装 1、版本和安装环境 2、安装数据库 3、配置数据库 4、安装confluence 三、Pj confluence 1、选择语言和产品安装 2、Pj 3、上传mysql驱动 4、重启Confluence服务继续安装 四、Confluence重启卸载方法 重启方法 方法一 方法二 卸载…...

YTM32的HSM模块在信息安全场景中的应用
YTM32的HSM模块在信息安全场景中的应用 文章目录 YTM32的HSM模块在信息安全场景中的应用引言应用场景:一点点密码学基础硬件:YTM32的信息安全子系统HCU外设模块硬件特性基本的应用操作流程,以计算AES-ECB为例硬件上对处理多块数据上的一些设计…...

时间序列大模型:TimeGPT
论文:https://arxiv.org/pdf/2310.03589.pdf TimeGPT,这是第一个用于时间序列的基础模型,能够为训练期间未见过的多样化数据集生成准确的预测。 大规模时间序列模型通过利用当代深度学习进步的能力,使精确预测和减少不确定性成为…...

CloudPanel RCE漏洞复现(CVE-2023-35885)
0x01 产品简介 CloudPanel 是一个基于 Web 的控制面板或管理界面,旨在简化云托管环境的管理。它提供了一个集中式平台,用于管理云基础架构的各个方面,包括虚拟机 (VM)、存储、网络和应用程序。 0x02 漏洞概述 由于2.3.1 之前的 CloudPanel 具有不安全的文件管理器 cook…...

WPF多值转换器
背景:实现Slider拖动可以调整rgb 单转换器:WPF中数据绑定转换器Converter-CSDN博客 在View中: <StackPanel Orientation"Vertical"><Slider x:Name"slider_R" Minimum"0" Maximum"255" Wi…...

x-cmd pkg | perl - 具有强大的文本处理能力的通用脚本语言
目录 介绍首次用户技术特点竞品进一步阅读 介绍 Perl 是一种动态弱类型编程语言。Perl 内部集成了正则表达式的功能,以及巨大的第三方代码库 CPAN;在处理文本领域,是最有竞争力的一门编程语言之一 生态系统:综合 Perl 档案网络 (CPAN) 提供了超过 25,0…...

Jedis(一)与Redis的关系
一、Jedis介绍: 1、背景: Jedis是基于Java语言的Redis的客户端,Jedis Java Redis。Redis不仅可以使用命令来操作,现在基本上主流的语言都有API支持,比如Java、C#、C、PHP、Node.js、Go等。在官方网站里有一些Java的…...

K8S--安装Nginx
原文网址:K8S--安装Nginx-CSDN博客 简介 本文介绍K8S安装Nginx的方法。 1.创建Nginx目录及配置文件 mkdir -p /work/devops/k8s/app/nginx/{config,html} 在config目录下创建nginx.conf配置文件,内容如下: # events必须要有 events {wo…...

[BUUCTF]-PWN:babyfengshui_33c3_2016解析
又是一道堆题,先看保护 关键信息是32位,没开pie 直接看ida 大致是alloc创建堆块,free释放堆块,show查看堆块内容,fill填充堆块内容 其他的都没啥关键的要讲,但alloc那里非常需要解析一下 解释如上图 再具…...

小程序系列--9.生命周期
1. 什么是生命周期? 2. 生命周期的分类 3. 什么是生命周期函数 4. 生命周期函数的分类 5. 应用的生命周期函数 6. 页面的生命周期函数...

SQL注入实战操作
一:SQl注入分类 按照注入的网页功能类型分类: 1、登入注入:表单,如登入表单,注册表单 2、cms注入:CMS逻辑:index.php首页展示内容,具有文章列表(链接具有文章id)、articles.php文 章详细页&a…...

Microsoft Remote Desktop for Mac(远程桌面连接)激活版
Microsoft Remote Desktop是一款由微软开发的远程桌面连接工具,它允许用户从另一台计算机或移动设备远程连接到Windows桌面或服务器。 以下是该软件的一些主要特点和功能: 跨平台支持:Microsoft Remote Desktop支持Windows、macOS、iOS和Andr…...

分布式日志
1 日志管理 1.1 日志管理方案 服务器数量较少时 直接登录到目标服务器捞日志查看 → 通过 rsyslog 或shell/python 等脚本实现日志搜集并集中保存到统一的日志服务器 服务器数量较多时 ELK 大型的日志系统,实现日志收集、日志存储、日志检索和分析 容器环境 …...

21.云原生之ArgoCD CICD实战(部分待补充)
云原生专栏大纲 文章目录 部署项目介绍项目结构介绍GitLab CI/CDGitLab CI/CD主要特点和功能 部署测试argocd的cd过程CICD工作流准备工作github中工作流文件创建gitlab中工作流文件创建【实操待补充】GitLab CI示例 数据加密之seale sealedBitnami Sealed Secrets介绍Bitnami …...

一文读懂JavaScript DOM节点操作(JavaScript DOM节点操作详解)
一、什么是节点 DOM模型是树状结构模型,二组成这棵树的就是一个个点,在网络术语中称之为节点。 节点是一个模型中最基本的组成单位。DOM模型是由一个个节点组成的,DOM节点也有其不同的类型。 二、节点类型 DOM节点分为5种类型:…...

RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...

学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...