第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种类型:…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
