当前位置: 首页 > news >正文

第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的数据生命周期管理。
老规矩,知道写了些啥。

相关文章:

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

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

电脑的GPU太强了,pytorch版本跟不上,将cuda驱动进行降级

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

1 认识微服务

1.认识微服务 随着互联网行业的发展&#xff0c;对服务的要求也越来越高&#xff0c;服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢&#xff1f; 1.0.学习目标 了解微服务架构的优缺点 1.1.单体架构 单体架构&#xff1a;将业务的所有…...

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切换环境&#xff08;默认是base&#xff0c;无需切换&#xff09;输入命令行安装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模块在信息安全场景中的应用引言应用场景&#xff1a;一点点密码学基础硬件&#xff1a;YTM32的信息安全子系统HCU外设模块硬件特性基本的应用操作流程&#xff0c;以计算AES-ECB为例硬件上对处理多块数据上的一些设计…...

时间序列大模型:TimeGPT

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

CloudPanel RCE漏洞复现(CVE-2023-35885)

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

WPF多值转换器

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

x-cmd pkg | perl - 具有强大的文本处理能力的通用脚本语言

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

Jedis(一)与Redis的关系

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

K8S--安装Nginx

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

[BUUCTF]-PWN:babyfengshui_33c3_2016解析

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

小程序系列--9.生命周期

1. 什么是生命周期&#xff1f; 2. 生命周期的分类 3. 什么是生命周期函数 4. 生命周期函数的分类 5. 应用的生命周期函数 6. 页面的生命周期函数...

SQL注入实战操作

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

Microsoft Remote Desktop for Mac(远程桌面连接)激活版

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

分布式日志

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

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模型是树状结构模型&#xff0c;二组成这棵树的就是一个个点&#xff0c;在网络术语中称之为节点。 节点是一个模型中最基本的组成单位。DOM模型是由一个个节点组成的&#xff0c;DOM节点也有其不同的类型。 二、节点类型 DOM节点分为5种类型&#xff1a;…...

【Linux】常见指令(一)

前言: Linux有许多的指令&#xff0c;通过学习这些指令&#xff0c;可以对目录及文件进行操作。 文章目录 一、基础指令1. ls—列出目录内容2. pwd—显示当前目录3. cd—切换目录重新认识指令4. touch—创建文件等5. mkdir—创建目录6. rmdir指令 && rm 指令7. man—显…...

C语言大师(8)异常处理

引言 异常处理是C编程中处理运行时错误的关键机制。它通过 try、catch 和 throw 关键字提供了一种强大的方法来处理程序执行中可能出现的异常情况。了解如何有效地使用这些机制对于编写健壮且可维护的程序至关重要。 1. 基本异常处理 在C中&#xff0c;try 块用于包围可能发生…...

网络防御保护——1.网络安全概述

一.网络安全概念 通信保密阶段 --- 计算机安全阶段 --- 信息系统安全 --- 网络空间安全 APT攻击 --- 高级持续性威胁 网络安全(网络空间安全--Cyberspace)从其本质上讲就是网络上的信息安全&#xff0c;指网络系统的硬件、软件及数据受到保护。不遭受破坏、更改、泄露&#xf…...

SpringBoot整合ElasticSearch实现分页查询

本文使用SpringBoot整合ElasticSearch实现分页查询 文章目录 环境准备 环境准备 还是继续使用spring-boot-starter-data-elasticsearch来实现分页查询操作...

[C++]使用yolov8的onnx模型仅用opencv和bytetrack实现目标追踪

【官方框架地址】 yolov8: https://github.com/ultralytics/ultralytics bytetrack: https://github.com/ifzhang/ByteTrack 【算法介绍】 随着人工智能技术的不断发展&#xff0c;目标追踪已成为计算机视觉领域的重要研究方向。Yolov8和ByTetrack作为当前先进的算法&…...

打造专业级ChatGPT风格聊天界面:SpringBoot与Vue实现动态打字机效果,附完整前后端源码

大家好&#xff0c;今天用SpringBoot、vue写了一个仿ChatGPT官网聊天的打字机效果。 所有代码地址:gitee代码地址 &#xff0c;包含前端和后端&#xff0c;可以直接运行 使用本技术实现的项目&#xff1a;aicnn.cn&#xff0c;欢迎大家体验 如果文章知识点有错误的地方&#xf…...

KMP-重复子字符串

Problem: 459. 重复的子字符串 文章目录 题目思路复杂度Code 题目 给定一个字符串str1, 判断其是否由重复的子串构成。 例子1&#xff1a;输入 str1‘ababab’ &#xff1b;输出 true 例子2&#xff1a;输入 str1‘ababac’ &#xff1b;输出 false 思路 重复子字符串组成的字…...

如何使用Markdown生成目录索引

一、Markdown生成目录索引怎么折叠 在Markdown中&#xff0c;可以使用[TOC]语法生成目录索引。 如果想要折叠目录&#xff0c;则需要使用一些插件&#xff0c;如Tocbot、jquery-tocify等。 例如&#xff0c;在使用Tocbot时&#xff0c;可以在Markdown文档中加入以下代码&…...

R语言【taxa】——as_taxon():转换为 taxon 对象

Package taxa version 0.4.2 Description 将其他对象转换为 taxon 向量。taxon 构造器可能将 基础向量转换为 taxon 向量。 Usage as_taxon(x, ...) Arguments 参数【x】&#xff1a;要转换为 taxon 向量的对象。 参数【...】&#xff1a;其余参数。 Examples x <- taxo…...

Android状态栏布局隐藏的方法

1.问题如下&#xff0c;安卓布局很不协调 2.先将ActionBar设置为NoActionBar 先打开styles.xml 3.使用工具类 package com.afison.newfault.utils;import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; import android.graph…...