Oracle 自动数据分层(Automatic Data Tiering) 是 Oracle ILM(信息生命周期管理)的核心引擎,依托 Heat Map(热图) 与 ADO(Automatic Data Optimization,自动数据优化),基于数据访问热度自动将数据在高性能存储、低成本存储、归档存储间迁移,实现热数据高性能、冷数据低成本、全生命周期透明管理,无需应用改造Oracle。
一、核心定位与价值
1.1 核心定位
- ILM 自动化底座:替代手动分区迁移、归档,实现数据从 “热→温→冷→归档” 的全生命周期自动流转。
- 存储分层核心:打通数据库内 / 外存储(表空间、对象存储、归档),统一管理冷热数据Oracle。
- 性能与成本平衡器:让高频访问数据驻留高性能层,低频数据下沉低成本层,兼顾业务 SLA 与 TCOOracle。
1.2 核心价值
表格
| 价值维度 | 具体收益 |
|---|---|
| 性能最优 | 热数据保留在高性能存储(SSD/Flash),事务 / 查询延迟最低Oracle |
| 成本最优 | 冷数据迁移至低成本存储(SATA / 对象存储),存储成本降低 70%–90%Oracle |
| 运维极简 | 自动执行迁移 / 压缩,DBA 无需手动操作,工作量减少 60%+ |
| 透明访问 | 应用无改造,统一 SQL 访问,优化器自动分区修剪Oracle |
| 合规留存 | 归档数据长期留存,满足金融 / 医疗等行业合规要求Oracle |
| 云原生兼容 | 无缝对接 OCI 对象存储,适配混合云 / 多云架构 |
二、技术底座:Heat Map + ADO
自动数据分层依赖两大核心技术,构成完整闭环:
2.1 Heat Map(热图)—— 数据热度感知
- 功能:细粒度跟踪数据访问 / 修改行为,记录行 / 块 / 段 / 表的访问时间、频率、类型(读 / 写)。
- 粒度:支持行级、块级、段级、表级热度统计,精准识别冷热数据。
- 启用:
sql
-- 系统级启用(需重启) ALTER SYSTEM SET HEAT_MAP = ON SCOPE=SPFILE; -- 会话级启用 ALTER SESSION SET HEAT_MAP = ON; - 监控视图:
DBA_HEAT_MAP_SEGMENT、DBA_HEAT_MAP_TABLE、DBA_HEAT_MAP_ROW。
2.2 ADO(自动数据优化)—— 策略执行引擎
- 功能:基于 Heat Map 数据,按用户定义策略自动执行数据压缩与存储分层迁移Oracle。
- 策略类型:
- 压缩策略:自动升级压缩等级(Basic→Advanced→HCC Query→HCC Archive)。
- 存储分层策略:自动将数据从高性能表空间迁移至低成本表空间 / 外部存储Oracle。
- 执行时机:默认在维护窗口(Maintenance Window)执行,可手动触发。
- 策略作用域:表空间级、段级(表 / 分区)、组级(表 + 索引 + LOB)、行级。
三、存储分层架构(标准三层模型)
Oracle 推荐标准三层存储架构,适配绝大多数业务场景:
3.1 高性能层(Tier 1:Hot)
- 存储介质:SSD、Flash、Exadata 智能闪存
- 数据类型:近 1–3 个月热数据、核心业务数据、高频访问数据
- 特性:支持完整 DML、事务、索引、高并发,性能最优
- 表空间示例:
TBS_HOT(SSD 存储)
3.2 低成本层(Tier 2:Warm/Cold)
- 存储介质:SATA 磁盘、高密度存储
- 数据类型:3 个月–3 年温 / 冷数据、历史明细、低频访问数据
- 特性:只读 / 读写均可,压缩率高,成本低
- 表空间示例:
TBS_COLD(SATA 存储)
3.3 归档层(Tier 3:Archive)
- 存储介质:对象存储(OCI Object Storage、S3)、磁带库
- 数据类型:3 年以上归档数据、合规留存数据、极少访问数据
- 特性:只读,极致压缩(HCC Archive),成本极低
- 实现方式:混合分区(Hybrid Partitioning)外部分区、ZDLRA 归档Oracle
四、核心特性与能力
4.1 支持的分层操作
- 自动迁移:
TIER TO子句,自动将段 / 分区迁移至目标表空间Oracle。 - 自动压缩:按热度自动升级压缩等级,支持 Basic/Advanced/HCC Query/HCC Archive。
- 在线操作:迁移 / 压缩全程在线,无业务中断Oracle。
- 只读设置:迁移后自动将目标表空间设为只读,减少备份开销Oracle。
- 混合分区集成:21c+ 支持将内部分区自动转为外部分区(对象存储)Oracle。
4.2 策略触发条件(核心)
ADO 策略基于以下条件触发:
- 时间条件:
AFTER N DAYS OF NO MODIFICATION(无修改 N 天)、AFTER N DAYS OF NO ACCESS(无访问 N 天)、AFTER N DAYS OF CREATION(创建 N 天)。 - 空间条件:表空间使用率达到阈值(默认 85% 使用率、25% 空闲),自动迁移冷数据释放空间。
- 热度条件:Heat Map 判定数据为冷数据,自动执行分层Oracle。
4.3 关键操作语法
4.3.1 创建表时添加分层策略
sql
-- 创建订单表,热数据存TBS_HOT,6个月无修改自动迁移至TBS_COLD
CREATE TABLE orders (
order_id NUMBER,
order_date DATE,
amount NUMBER(10,2),
status VARCHAR2(20)
)
PARTITION BY RANGE (order_date)
(
PARTITION p_2026 VALUES LESS THAN (TO_DATE('01-JAN-2027', 'DD-MON-YYYY')) TABLESPACE TBS_HOT
)
-- ADO 分层策略:6个月无修改,迁移至TBS_COLD
ILM ADD POLICY TIER TO TBS_COLD
SEGMENT AFTER 180 DAYS OF NO MODIFICATION;
4.3.2 为现有表添加分层策略
sql
-- 为表添加策略:1年无访问,迁移至归档表空间TBS_ARCHIVE,并设为只读
ALTER TABLE orders
ILM ADD POLICY TIER TO TBS_ARCHIVE READ ONLY
SEGMENT AFTER 365 DAYS OF NO ACCESS;
4.3.3 自定义表空间阈值
sql
-- 设置表空间使用率85%、空闲25%时触发自动迁移
BEGIN
DBMS_ILM_ADMIN.CUSTOMIZE_ILM(DBMS_ILM_ADMIN.TBS_PERCENT_USED, 85);
DBMS_ILM_ADMIN.CUSTOMIZE_ILM(DBMS_ILM_ADMIN.TBS_PERCENT_FREE, 25);
END;
/
4.3.4 手动触发 ADO 策略执行
sql
-- 立即执行所有ADO策略
BEGIN
DBMS_ILM.EXECUTE_ILM_POLICIES;
END;
/
4.4 监控与管理视图
sql
-- 查看所有ADO策略
SELECT policy_name, action_type, scope, tier_tablespace, condition_days
FROM dba_ilmdatamovementpolicies;
-- 查看数据热度
SELECT segment_name, partition_name, segment_type, last_access_time, access_count
FROM dba_heat_map_segment
WHERE segment_name = 'ORDERS';
-- 查看ILM对象状态
SELECT * FROM dba_ilmobjects;
五、与传统方案对比
表格
| 方案 | 自动数据分层(Heat Map + ADO) | 手动分区迁移 | 外部表 + 视图 |
|---|---|---|---|
| 热度感知 | 自动细粒度跟踪(Heat Map) | 手动判断,易出错 | 无 |
| 迁移执行 | 自动在线执行,无停机 | 手动执行,业务中断 | 手动迁移,复杂 |
| 应用改造 | 无 | 无 | 需改造 |
| 运维成本 | 极低(自动执行) | 极高(手动操作) | 高 |
| 性能 | 最优(分区修剪 + 分层) | 一般 | 较差 |
| 成本优化 | 最优(冷热精准分层) | 一般 | 一般 |
六、适用场景
- 时间序列数据:订单、交易、日志、IoT 数据,按时间自动分层Oracle。
- 数据仓库 / BI:明细数据冷存储,汇总数据热存储,兼顾查询与成本Oracle。
- 核心业务系统:金融、电信、电商,保障热数据性能,冷数据降本Oracle。
- 合规归档:医疗、金融需长期留存的数据,自动归档至低成本存储Oracle。
- 混合云架构:本地热数据 + 云端冷数据,统一管理与访问。
七、最佳实践
- 分层规划:按业务定义三层存储(Hot/Warm/Archive),明确各层数据生命周期Oracle。
- 分区优先:对大表按时间 / 范围分区,ADO 策略作用于分区,提升效率。
- 策略设计:
- 热→温:
180天无修改迁移 - 温→归档:
365天无访问迁移并设为只读 - 结合空间阈值,自动释放高性能存储空间
- 热→温:
- 压缩协同:分层时同步启用高级压缩 / HCC,进一步降本。
- 监控优化:定期查看 Heat Map 与 ADO 执行日志,调整策略阈值。
- 混合分区扩展:21c+ 结合 Hybrid Partitioning,将归档数据迁至对象存储Oracle。
八、总结
Oracle 自动数据分层是 ILM 的核心自动化能力,通过 Heat Map 精准感知数据热度、ADO 自动执行分层与压缩,实现数据全生命周期的智能管理、性能最优、成本最低。它是企业应对数据爆炸、平衡性能与成本的必备方案,尤其适配时间序列、数据仓库与混合云场景。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




