暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 自动数据分层

原创 张超 2026-03-30
24

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_SEGMENTDBA_HEAT_MAP_TABLEDBA_HEAT_MAP_ROW


2.2 ADO(自动数据优化)—— 策略执行引擎


  • 功能:基于 Heat Map 数据,按用户定义策略自动执行数据压缩存储分层迁移Oracle。
  • 策略类型
    1. 压缩策略:自动升级压缩等级(Basic→Advanced→HCC Query→HCC Archive)。
    2. 存储分层策略:自动将数据从高性能表空间迁移至低成本表空间 / 外部存储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)手动判断,易出错
迁移执行自动在线执行,无停机手动执行,业务中断手动迁移,复杂
应用改造需改造
运维成本极低(自动执行)极高(手动操作)
性能最优(分区修剪 + 分层)一般较差
成本优化最优(冷热精准分层)一般一般




六、适用场景


  1. 时间序列数据:订单、交易、日志、IoT 数据,按时间自动分层Oracle。
  2. 数据仓库 / BI:明细数据冷存储,汇总数据热存储,兼顾查询与成本Oracle。
  3. 核心业务系统:金融、电信、电商,保障热数据性能,冷数据降本Oracle。
  4. 合规归档:医疗、金融需长期留存的数据,自动归档至低成本存储Oracle。
  5. 混合云架构:本地热数据 + 云端冷数据,统一管理与访问。




七、最佳实践


  1. 分层规划:按业务定义三层存储(Hot/Warm/Archive),明确各层数据生命周期Oracle。
  2. 分区优先:对大表按时间 / 范围分区,ADO 策略作用于分区,提升效率。
  3. 策略设计
    • 热→温:180天无修改 迁移
    • 温→归档:365天无访问 迁移并设为只读
    • 结合空间阈值,自动释放高性能存储空间
  4. 压缩协同:分层时同步启用高级压缩 / HCC,进一步降本。
  5. 监控优化:定期查看 Heat Map 与 ADO 执行日志,调整策略阈值。
  6. 混合分区扩展:21c+ 结合 Hybrid Partitioning,将归档数据迁至对象存储Oracle。




八、总结


Oracle 自动数据分层是 ILM 的核心自动化能力,通过 Heat Map 精准感知数据热度、ADO 自动执行分层与压缩,实现数据全生命周期的智能管理、性能最优、成本最低。它是企业应对数据爆炸、平衡性能与成本的必备方案,尤其适配时间序列、数据仓库与混合云场景。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论