在这个由两部分组成的系列文章中,我们将演示如何使用 Oracle 的内置功能(例如热图、自动数据优化 (ADO)和混合分区)优化 AWS 上 Oracle 数据库工作负载的存储。这些功能有助于根据数据的生命周期阶段对其进行分类并自动执行数据管理任务,从而显著降低存储成本,同时提高数据库性能,尤其是对于不断增长的数据集。
在本系列中,我们概述了三种有效管理数据生命周期的方法。您可以根据数据环境的特定需求单独或组合应用这些策略:
- 根据数据访问模式自动进行数据压缩– 使用 Oracle 热图、ADO 和Oracle 信息生命周期管理 (ILM)策略对不常访问的表或分区应用压缩,帮助降低存储成本并提高性能
- 基于数据访问模式的混合分区– 使用热图数据识别老化或很少访问的数据并将其移动到外部分区,从而释放高性能存储以用于更活跃的工作负载,同时仍保留对旧数据的访问
- 基于数据访问模式的存储分层– 随着数据老化和使用频率降低,使用热图、ADO 和数据移动 ILM 策略将数据移动到更冷、更便宜的存储层
前两个用例适用于 AWS 上 上运行的自管理数据库。第三个用例仅限于 Amazon EC2 上的自管理数据库,因为 RDS 实例目前不支持分层存储(截至本文撰写时)。
在本文中,我们将探讨如何使用ADO和Oracle ILM策略根据使用模式自动压缩数据。在第 2 部分中,我们将深入了解如何使用热图统计数据通过混合分区和 ADO管理活动数据和非活动数据,从而实现在数据访问频率降低时将其自动移动到不同的存储层。
解决方案概述
Oracle ILM 可帮助您根据数 全球数据中的海外华人 据随时间变化的使用模式来管理数据。它允许您定义数据类,并使用热图和 ADO 根据用户定义的策略和数据访问模式自动执行跨不同存储层的数据压缩和移动。
热图以细粒度的方式跟踪数据使用情况,提供对数据活动的洞察,并帮助 ADO 做出明智的决策,确定何时压缩或将数据移动到适当的存储层,从而在整个生命周期内提供高效的数据管理。
ADO 是 Oracle 数据库中的一项功能,可自动管理数据存储。它不断评估数据的价值和使用模式,并采取主动措施确保以最高效的方式存储所有内容。ADO 根据您定义的 ILM 策略运行。这些策略设置了何时以及如何压缩、移动或以其他方式优化数据的规则。
具体细节如下:
- 热图跟踪– 使用的热图功能来监控精细级别的数据使用情况。它跟踪每行和每段的访问和修改频率,从而提供一段时间内数据活动的详细情况。
- 基于策略的操作– 根据热图的洞察,ADO 实施您设置的策略。例如,您可以创建策略来压缩过去 天内未访问的数据,或将不常用的数据移动到更便宜的存储层。
- 自动执行– 这些策略实施后,ADO 将负责其余工作。它会自动压缩、移动和优化数据,无需人工干预,确保您的数据库保持高性能和成本效益。
下图说明了此架构。
实施该解决方案的高级步骤如下:
- 在数据库级别启用热图。此功能可跟踪段和行级别的数据访问和修改,提供数据使用情况的详细实时地图。
- 创建适合您的业务需求的 ADO 策略。您可以在不同级别定义这些策略,例如表空间、组、段或行。策略还可以基于不同类型的操作,例如创建、访问和修改。您可以指定这些策略生效的条件,例如基于时间段(例如 3 天、1 周或 1 年后)或表空间使用率阈值,当使用率超过特定阈值时,您将调用策略。这些策略中指定的操作可以包括压缩、移动到不同的存储层或两者。
- 默认情况下,段级 ADO 策略在自动任务维护窗口期间每天评估一次,但 DBA 可以创建自定义计划。行级策略由可管理性监视器 (MMON)每 15 分钟评估一次
- 使用USER_ILMEVALUATIONDETAILS和USER_ILMRESULTS视图检查 ADO 策略的执行细节,确认一切按预期工作。
- 启用混合分区并根据访问模式转换分区。
- 验证段是否按照策略进行压缩或移动。此确认步骤可确保您的数据得到最佳管理和存储。
许可
您必须获得 Oracle Advanced Compression 或 Oracle Database In-Memory 选项的许可才能使用 Oracle ADO,如Oracle 文档中所述。使用混合分区时,您还应获得使用 Oracle 分区的许可。请参阅 Oracle 许可文档以获取最新信息。
先决条件
在本节中,我们将讨论 您需要了解的有关电子邮件打开率以及如何让收件人阅读您的电子邮件的信息 默认图像幻影 开始之前需要完成的先决条件。您需要在 AWS 上运行 Oracle EE 以及用于连接到数据库的客户端。在本文中,我们使用 SQL*Plus 客户端和 Amazon RDS 进行 Oracle 部署。
启用热图追踪
在开始使用 ADO 之前,您需要启用活动跟踪。您可以通过设置初始化参数来启用此功能HEAT_MAP
。在 Amazon RDS for Oracle 中,您可以通过创建自定义参数组来设置此参数。在 RDS Custom for Oracle 和在 Amazon EC2 上运行的自管理数据库中,您可以通过以具有权限的用户身份连接到可插入数据库 (PDB) 来使用以下命令ALTER
上述参数使数据库能够跟踪数据库级别的读写活动。启用热图可在段级别跟踪 DML 和访问,并将这些详细信息存储在表空间中的相关表中。不会跟踪和SYSAUX
表空间中的对象的活动。SYSTEM
SYSAUX
段的跟踪详细信息可在V$HEAP_MAP_SEGMENT视图中实时获取。只要会话访问数据库中的某些对象,实时段访问信息将立即在此视图中可用。作业会定期将数据V$HEAP_MAP_SEGMENT
持久保存到表启用热图跟踪后,我们将跟踪开始时间往回设置 5 天,以确保在此时间之后记录的统计数据有效并被 ADO 考虑:
您还可以自定义控制 ILM 的参数。您可以从视图中检查参数的值
要使 ILM 处于活动状态,ENABLED
必须将参数设置为 1。该参数POLICY TIME
确定 ADO 策略是以秒还是天为单位指定的。值为 1 表示秒,值为 0 表示天(默认值)。我们将其设置POLICY TIME
为秒。这样,我们无需等待很长时间即可测试策略。
创建带有分区的示例表并将虚拟数据插入表中
使用以下代码创建一个名为的分区表DEMO.ORDERS
,并向其中加载虚拟数据。我们在本篇文章中使用此表来演示各种用例。
DEMO.ORDERS
您可以在表空间、组、段和行级别定义 ILM 策略。在本示例中,我们在段和行级别的表上创建并启用 ADO 行存储压缩策略。
段级压缩策略
在段级压缩策略中,整个段属性都会发生变化。这些策略对于分区表非常有用,因为分区表的分区已不再使用或很少使用。段级策略仅运行一次,之后将被禁用。
通过发出以下语句,我们添加 ILM 策略,根据数据的定义条件和年龄自动在段级别压缩分区:
为了测试该策略,我们将热图统计信息从内存刷新到磁盘,并添加超过 60 秒的暂停,以便我们知道该段在过去 60 秒内没有被修改。我们将参数设置为提前几秒,以便我们能够在 60 秒内模拟 60 天,以便进行快速测试。
我们不需要等待 MMON 后台进程调用策略作业,而是手动运行该策略:
对象已压缩后,ADO 段级压缩策略将被禁用。其状态将更改为NO
,如下例所示:
如果在已运行段级压缩 by 列表 策略的分区中插入新行,则新插入的行将不会被压缩。如果在不断添加数据的活动段中使用段级压缩,建议重新启用 ADO 段级压缩策略。
运行 ADO 段级策略后,我们来检查一下表的大小:
行级压缩策略
在行级策略中,块中所有行都符策合略的块都会被压缩。行级策略在第一次运行后会继续运行。行级压缩策略只能基于修改时间创建。不能基于创建时间或访问时间创建。此外,行级压缩策略唯一可用的压缩类型是。
让我们在分区上测试行级压缩 ADO 策略
第一次 ADO 评估后检查 ADO 策略的状态:由于 ADO 压缩策略是在行级设置的,因此 ADO 压缩策略仍然可用于验证块中进一步更新或新插入的行是否需要压缩。这将进一步减小表的大小。