news 2026/5/15 19:12:12

oracle 大表(1亿以上)迁移笔记一

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
oracle 大表(1亿以上)迁移笔记一

作者:蓝鸟 1974

CSDN:https://blog.csdn.net/weixin_42767242

关键字

大表迁移、存储过程批量归档、定时 JOB、索引维护、统计信息收集、NOLOGGING、BULK COLLECT、FORALL

一、场景概述

在医院 HIS/EMR 系统中,业务流水表、病历明细表数据增长极快,单表数据量轻松突破1 亿条。若不及时归档清理,会引发查询变慢、索引膨胀、数据库 IO 压力高、业务响应卡顿等问题。

本文记录 Oracle 超亿级大表在线归档迁移至历史表的落地实操方案:采用存储过程批量分批迁移 + 定时 JOB 调度,同时配套索引管理、统计信息收集、性能优化、日志管控全套落地规范,适合生产直接复用。

二、整体设计思路

  1. 数据留存策略:只保留近 90 天业务热数据,超期数据迁移至历史备份表,原表只留增量常用数据。
  1. 分批处理机制:采用BULK COLLECT + FORALL批量读取、批量插入、批量删除,避免单行循环性能瓶颈。
  1. 批次可控:设置单次最大处理条数、每批提交行数,防止一次性加载数据导致 undo、日志暴涨。
  1. 低峰调度:业务低峰凌晨 1-6 点定时 JOB 执行,避开白天业务高峰期锁竞争与资源争抢。
  1. 性能加速:迁移期间临时开启NOLOGGING减少重做日志生成,迁移完毕恢复LOGGING保障数据安全。
  1. 配套运维:迁移完成后维护索引、及时收集表统计信息,保证执行计划不走偏。

三、核心存储过程实现

3.1 过程设计要点

  1. 定义全局控制参数:单次最大处理量、每批批量提交大小;
  1. 通过关联业务主表筛选超期归档数据,住院 + 门诊数据合并筛选;
  1. 游标批量抓取主键 RID,避免全表扫描多次逻辑读;
  1. FORALL 批量插入历史表、批量删除原表数据,分批 COMMIT;
  1. 异常捕获自动回滚、关闭游标、抛出异常便于 JOB 监控告警;
  1. 迁移前后自动切换表日志模式,兼顾速度与数据安全。

3.2 完整存储过程代码

sql
CREATE OR REPLACE PROCEDURE PRO_EMR_BL_DLNR_TOLS AS
    V_DATE          DATE;
    -- 全局控制参数:单次任务最大处理条数
    V_ONCE_MAX     PLS_INTEGER := 1000000;
    -- 每批批量处理提交条数
    V_BATCH_SIZE   CONSTANT PLS_INTEGER := 1000;
BEGIN
    -- 设定保留近90天热数据
    

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/15 19:02:44

FPGA光通信入门:手把手教你配置Xilinx 7系列GTX的10G 64B66B收发器IP核

FPGA光通信实战:从零搭建10G 64B66B收发系统 在当今高速数据传输领域,FPGA凭借其并行处理能力和可重构特性,已成为光通信系统开发的核心平台。Xilinx 7系列FPGA内置的GTX收发器支持多种高速协议,其中10G 64B66B编码方案因其出色的…

作者头像 李华
网站建设 2026/5/15 19:01:11

在Taotoken平台观测不同模型的延迟与用量成本对比

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Taotoken平台观测不同模型的延迟与用量成本对比 作为大模型应用的开发者,在接入多个模型服务时,除了关注…

作者头像 李华
网站建设 2026/5/15 19:00:52

小米智能家居一键接入HomeAssistant:告别碎片化,拥抱统一控制

小米智能家居一键接入HomeAssistant:告别碎片化,拥抱统一控制 【免费下载链接】hass-xiaomi-miot Automatic integrate all Xiaomi devices to HomeAssistant via miot-spec, support Wi-Fi, BLE, ZigBee devices. 小米米家智能家居设备接入Hass集成 项…

作者头像 李华