110-Oracle中核心业务的年度分区表建立

编程范式的本质:阴阳二分,相融相异 本文源于一次真实的设计讨论,上片博客沿着四种语言实现的路子走下去,本篇博客则沿着设计模式的路线归结到计算机哲学的根。需求本身小得不能再小:给一个存放数据库读取结果的 `Dict` 列表按字段名排序。但当我们把约束加码到"字段演进时排序器永不改动"时,这个需求就不再是工程问题,而成了三种编程范式的正面交锋。沿着这条线走下去,我们最终抵达了一个更根本的结论——**编程范式不是一张并列的表格,而是一棵树,而树的根只有两个。** 阅读详情

各位小伙伴,好久不见。前阵子忙于 XC 改造,期间陆续遇到了不少问题,如服务突然宕机、数据丢失等,后续会陆续整理发出。

今天是 2025 年最后一个工作日,照例需要对核心业务表进行年度分区调整,这些表读写频繁,且包含大量 LOB 字段。实际上,在医疗、制造等行业中,按月、按季度分区的情况也十分常见。

本次操作将针对同一 schema 下的所有核心业务主表,统一实施按年分区。

由于涉及业务主表,操作必须避开业务高峰,务必提前与业务方充分确认。在保障系统稳定与业务连续性的前提下,本次操作已纳入周密变更计划,并将由专业 DBA 执行,以确保安全、可控。

步骤1.查看表空间数据文件的存放地址

select tablespace_name, file_id, file_name, 
round(bytes/(1024*1024),0) total_space 
from dba_data_files 
wheretablespace_name like 'MDC%'
order by tablespace_name; 

1.1查看表空间使用量--如果不够,需要新增datafile表dbf文件
SELECT
dt.tablespace_name AS "表空间名",
dt.status AS "状态",
dt.contents AS "类型",
ROUND(tsu.tablespace_size * 8 / 1024 / 1024, 2) AS "总空间(GB)",
ROUND(tsu.used_space * 8 / 1024 / 1024, 2) AS "已用空间(GB)",
ROUND((tsu.tablespace_size - tsu.used_space) * 8 / 1024 / 1024, 2) AS "剩余空间(GB)",
ROUND(tsu.used_percent, 2) AS "使用率(%)",
(SELECT LISTAGG(file_name, ', ') WITHIN GROUP (ORDER BY file_id)
FROM dba_data_files df
WHERE df.tablespace_name = dt.tablespace_name) AS "数据文件位置"
FROM
dba_tablespace_usage_metrics tsu
JOIN
dba_tablespaces dt ON tsu.tablespace_name = dt.tablespace_name
WHERE
dt.tablespace_name NOT IN ('SYSTEM', 'SYSAUX') -- 按需条件过滤条件
ORDER BY
tsu.used_percent DESC;

步骤2.创建表空间MDC2026,作为2026年分区的表空间,截止日期为2027-01-01

注意:创建表空间,要注意服务器的存储路径和存储空间,是否单独创建的dbf等情况,

数据文件保存路径,尽量复制查询数据文件保存的路径,不要手工手抖修改。

不建议自动扩展,同样是为了提高磁盘IO;

PS:也可以增加表空间数据文件(如果发现空间不足),这个下一个话题讨论。

CREATE TABLESPACE mdc2026
DATAFILE '+DATA/PRODCDB/22682AEAEE3444ABE0630B00060A7456/DATAFILE/mdc202601.dbf' SIZE 4G
AUTOEXTEND OFF
LOGGING ONLINE
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8 K SEGMENT SPACE MANAGEMENT AUTO FLASHBACK ON;

--新建后新增dbf
alter tablespace MDC2026 add datafile '+DATA/PRODCDB/22682AEAEE3444ABE0630B00060A7456/DATAFILE/mdc202602.dbf' size 4G ;
alter tablespace MDC2026 add datafile '+DATA/PRODCDB/22682AEAEE3444ABE0630B00060A7456/DATAFILE/mdc202603.dbf' size 4G ;
alter tablespace MDC2026 add datafile '+DATA/PRODCDB/22682AEAEE3444ABE0630B00060A7456/DATAFILE/mdc202604.dbf' size 4G ;

步骤3.生成分区脚本

按照OWNER查询出对应schema下的所有主要业务表,拼接自动分区的脚本

select 'ALTER TABLE ' || (tab_par.table_name)||
       'ADD PARTITION DATE2026' || ' VALUES LESS THAN (TO_DATE(' || '''' ||
      '2027-1-1' || '''' || ',' || '''' || 'YYYY-MM-DD' || '''' || ')) ' ||
      'TABLESPACE MDC2026 ;'
  from(select distinct table_name
         from dba_tab_partitions
        where table_owner = 'HIT_MDC') tab_par;

步骤4.执行分区脚本并校验

直接复制查询出来的语句,执行

ALTER TABLE MDC_HIGH_GRADE_TASKADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_RCD_OUT_RECORD_ITEMADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_RCD_OUT_RESULT_ITEMADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_RCD_IN_RECORD_DATAADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_RCD_OUT_RECORD_ITEM2ADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_SR_DATAADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_MEDI_PATIENT_SIGN_RECORDADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_RCD_IN_RECORD_ITEMADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_RCD_IN_SERIES_HEADERADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_RCD_IN_RECORDADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_RCD_OUT_RECORD_LOGADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_RCD_PATIENT_SIGNADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_RCD_IN_RESULT_ITEMADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_RECORD_FILEADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_RCD_OUT_RECORD_DATAADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;
ALTER TABLE MDC_RCD_CA_SIGNADD PARTITION DATE2026 VALUES LESS THAN (TO_DATE('2027-1-1','YYYY-MM-DD')) TABLESPACE MDC2026 ;

步骤5.查询从前是否存在分区并校验新建分区是否存在

关于分区表的使用和优化,留下疑问,下次填坑:

1、分区表空间的规划,按照时间间隔进行分区, 是在原有的schema的原有表空间新增 DBF 文件,还是新建表空间且同时创建 DBF 文件,将间隔分区存入新的表空间的新dbf中,最佳实践是什么呢

2、如果分区表已经创建,统计信息未正常更新,对实际使用的影响。

【信息科学与工程学】【数据中心】【智算中心】 第二十六篇 计费系统篇01 ​精准性​:MFU系数实现“算力即服务”,避免粗粒度计费不公平​灵活性​:规则引擎支持动态策略(如突发流量溢价)​可信性​:区块链存证 + 国密加密保障计费不可篡改​国产化​:全栈适配国产芯片/数据库/加密算法​创新计费模式​MFU阶梯激励​:MFU>60%时单价降低,鼓励高效编程​碳积分抵扣​:绿色计算(PUE<1.2)奖励免费算力。 阅读详情

相关推荐

点云处理工具——pclpy安装

pclpy介绍及详细安装过程 文章目录pclpy简介下载:安装测试 pclpy简介 pclpy是点云库(PCL)的Python绑定。使用CppHeaderParser和pybind11从头文件生成。 这个库正在积极开发中,api可能会发生变化。所包含的模块确实可以工作,但测试还不完整。目前只支持Windows和python 3.6 x64。 许多其他python库尝试绑定PCL。最流行的是python-pcl,它使用Cython。虽然Cython非常强大,但绑定c++模板并不是它的强项(PCL大量使用模.

图像处理、SLAM、PCL、OpenCV爱好者 1万+

oracle分区表按时间自动创建

表分区是一种思想,分区表示一种技术实现。当表的大小过G的时候可以考虑进行表分区,提高查询效率,均衡IO。oracle分区表是oracle数据库提供的一种表分区的实现形式。表进行分区后,逻辑上仍然是一张表,原来的查询SQL同样生效,同时可以采用使用分区查询来优化SQL查询效率,不至于每次都扫描整个表。 根据年: INTERVAL(NUMTOYMINTERVAL(1,'YEAR')) 根据月: INTERVAL(NUMTOYMINTERVAL(1,'MONTH')) 根据天: INTERVAL(NUMTODS

xqhys的博客 1346

ThingsBoard 仪表板状态

请先通过阅读仪表板概述和仪表板入门案例来熟悉ThingsBoard的仪表板。文章希望通过浅显的文字描述什么是仪表板状态及如何使用。 概念 状态功能使得仪表板可以分层,配合小部件的动作,实现多层仪表板之间的跳转.每个状态对应一个仪表板的图层 每个仪表板有一个默认的根状态, 根状态可以理解为默认状态, 也就是打开仪表板默认展示的仪表板图层.编辑模式下, 点击右上角的图标来管理状态.添加多个状态后左上角出现状态切换(图层切换)下拉列表可以通过选中根状态复选框切换新的默认展示的状态/图层配合小部件的动作,实现状

物联网三分钟 2308

ORACLE 创建表分区

原文:https://www.cnblogs.com/yuxiaole/p/9809294.html  oracle 11g 支持自动分区,不过得在创建表时就设置好分区。   如果已经存在的表需要改分区表,就需要将当前表 rename后,再创建新表,然后复制数据到新表,然后删除旧表就可以了。 一、为什么要分区(Partition)   1、一般一张表超过2G的大小,ORACLE是推荐使用分区表的。   2、这张表主要是查询,而且可以按分区查询,只会修改当前最新分区的数据,对以前的不怎么做删除和修改

Dzq_Boyka的博客 9670

智能座舱测试工程师必看:从零搭建自动化测试框架的5个实战技巧

本文为智能座舱测试工程师提供从零搭建自动化测试框架的5个实战技巧,涵盖环境搭建、ADB高级应用、Python脚本工程化、Monkey测试优化及性能调优。通过ADB深度操作和Python脚本封装,帮助测试人员构建高可复用的智能座舱测试解决方案,显著提升测试效率与问题发现率。

python9snake的博客 634

锂电池主动均衡理解

锂电池主动均衡方案总结: 来自:http://wenku.baidu.com/link?url=EWiyACZ3aLPhcOjI4FZL3uQ9d0FD6dBhADQSVQiaSmRHHATTdSig1Wy39JY7-ijCzbAEYG1ymz6Lv5zhGdZaStQSHzFt6v3h3_tMrJudz9O 目前车厂采用被动均衡方案的公司:(来自网页) 目前采用主动均衡的...

weixin_34365417的博客 2910

数据库表数据量过大,如何按照年份对表数据进行拆分

在 数据库中,如果表数据量过大且存在按时间字段(如createtime)查询的场景,可以按照createtime的年份对表进行拆分,以优化性能和管理效率。

yhj198927的博客 592

医学图像标注工具教程——从零开始使用3D Slicer进行医学图像手动分割

3D Slicer手动分割软件下载及安装数据导入导入CT序列文件夹导入单张超声基本交互操作窗位和窗宽的调整改变切片及寻找特定点对应的三维切片图像分割功能介绍PaintDrawEraseLevel tracingGrow from seedsFill between slicesThreshold & Margin & HollowSmoothingScissors & IslandsLogical operator分割结果的保存 软件下载及安装 下载地址:官网的4.11.0版本 数据

神仙院B栋4楼保安的博客 1万+

中科院分区表发布在即!人工智能领域7本期刊升1区TOP,2025中科院分区升降对比!

分区表预计2026年2月底至3月初发布,由中科院文献情报中心计量与评价部主导

WangUnionpub的博客 3397

电源完整性仿真流程梳理

可根据仿真流程导图,一步一步的去设置完成仿真。仿真的关键,在于对电路回路的理解以及所放置的电压源与电流的合理性,对于去耦电容的选择,则需要根据谐振频率计算,从而选取有效滤波的容值。

csy17729158342的博客 3442

point transformer v3结构

分割结构: embedding->enc->dec embedding->enc0->enc1->enc2->enc3->enc4->dec3->dec2->dec1->dec0 embedding ->block0->block1 ->dow->block0->block1 ->dow->block0->block1 ->dow->block0->block1-&gt

weixin_45625419的博客 581

Oracle 数据表进行分区

Oracle 表分区

m0_71867302的博客 983

小白的MatSWMM使用心路(二)——用matlab修改INP文件参数/使用matlab查找txt内容并修改多行内容

说是修改inp,但是里面的内容大部分还是讲怎么修改txt的……(?)。包含如何找到需要的参数(关键字)位置,以及修改那个位置的txt这样的内容。希望能帮助大家吧……Matlab你要多出好用的功能啊!

weixin_44276743的博客 4530

Oracle创建分区表(按年、季、月、日自动分区)

这种分区方式会根据插入的数据自动增加分区,不需要手工维护 分区字段必须是日期类型 按年分区 create table test.test_r1 ( id NUMBER(20) not null primary key, name VARCHAR2(20) not null, joindate DATE not null ) tablespace test partition by range(joindate) interval (numtoyminterval(1,'year')) (partition

guang.yan的博客 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

oracle11g分区表按时间自动创建

oracle11g分区表按时间自动创建

rznice的专栏 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Oracle静默安装,含仅软件安装和数据库安装及常见报错处理方法DBT-10317 DBT-05509 [FATAL] ORA-03114

本文详解Oracle 19c单机版静默安装与数据库创建全流程,涵盖目录配置、响应文件编写、安装及建库命令,附常见报错(如DBT-10317、ORA-03114)解析与解决方案,包含删库指令与日志分析,适合内网环境自学实战,免费干货,实用性强。

qq_41474349的博客 177

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Spring 事务详解:@Transactional 如何生效、何时回滚、传播行为怎么选

从订单与库存写入出发,拆解 @Transactional 的代理调用链、默认回滚规则与自调用问题;通过 Spring Boot + H2 的五个验证用例比较 REQUIRED、REQUIRES_NEW、NESTED,并说明数据库事务与 Redis、消息和远程接口的边界。

qq_74421990的博客 305

Oracle多租户集群PDB异机恢复至单机部署数据库

本文详细演示了将Oracle RAC集群中的PDB(RMAN_PDB)通过RMAN备份恢复至单机CDB的全过程。首先在源库创建测试PDB并插入数据,随后配置RMAN备份路径,备份该PDB及其元数据文件。接着将备份文件传输至单机环境,启动实例并恢复控制文件与数据文件,最后利用DBMS_PDB.EXPOSE_PDB_FROM_RMAN生成PDB描述文件,将其插入新单机CDB中,实现PDB的独立使用。整个流程涵盖数据准备、备份、恢复及插入,完整验证了跨环境PDB迁移的可行性。

qq_57492774的博客 183

Mysql数据库基础篇(三):全面掌握数据库与数据表操作:深度剖析底层文件差异与核心管理机制

如果你想彻底改掉某个字段的名字,应该使用 change。实例:将 employee表中的 name列修改为xingming注意:使用 change时,即便不改变数据类型,在指定了新列名后依然需要完整地写一遍它的数据类型与约束定义。

2501_93641778的博客 238

oracle直方图测试

预期:没有直方图时,优化器假设 status 分布均匀(选择性 = 1/NDV ≈ 1/100),两个查询的预估行数(E-Rows)会非常接近(约 1000 行),很可能对两个查询都选择索引扫描,或者都选择全表扫描,无法区分数据量的巨大差异。

ZHANG123HUO的博客 51

Oracle 19c RAC ASM 在线扩容实战

最近有一套 Oracle 19c RAC 数据库,DATA 磁盘组空间使用率已经接近 90%,需要扩容。环境是两节点 RAC,底层使用 Dell EMC SAN 存储,通过 Multipath 管理共享磁盘,存储侧已经分配好一块 2TB 的新 LUN,只需要在操作系统上识别,然后加入 ASM 磁盘组。整个过程不需要停库,本文记录一下实际操作步骤。这次 Oracle 19c RAC ASM 扩容整体比较顺利。

LuciferLiu_DBA 292

带着小白学习-微服务-5 实战:配置中心-数据库连接

如前所述,服务治理主要包含注册中心,前面所有的微服务子工程均已注册到nacos,然后由相应的应用到nacos进行拉取。接下来,我们将使用nacos的配置中心,用于保存和分发应用运行所需的动态配置。比如数据库的各类信息等。

wdyan297的博客 213

任务8-1 数据库用户权限管理

本实战训练MySQL权限管理的完整流程。通过CREATE USER建用户,GRANT按需授权,SHOW GRANTS核查权限。岗位变动时,使用REVOKE回收多余权限,并用FLUSH PRIVILEGES刷新缓存。全流程旨在落实最小权限原则,规范数据库安全运维。

howard2005的专栏 153

用校园小助手生成ER图:从建表语句到可调布局

从建表语句或自然语言生成,到关系识别、主外键颜色区分,再到布局切换和折叠,校园小助手的ER图功能把画图过程中最耗时的部分交给了工具。它适合大学生论文、研究人员科研、教师教学及企业数据分析等场景,所有功能都在校园小助手平台内实现。下次作业要用ER图时,不妨先从手里的SQL开始。

weixin_74789176的博客 186

SQLServer常用指令手册

覆盖数据库创建、表与约束、增删改查、查询进阶、索引、视图/存储过程/函数/触发器、事务、权限、运维排查。适用版本:SQL Server 2012 及以上(标注的条目为对应版本起可用)。

lzcbaba的博客 239

MySQL数据库和表的操作

本文系统介绍了MySQL数据库与表的基本操作。包括创建、查看、修改和删除数据库,重点讲解字符集与校验规则对大小写敏感性的影响;通过SHOW、ALTER、DROP等命令实现数据库管理;介绍数据备份(mysqldump)与恢复(SOURCE)方法;并详细阐述表的创建、结构查看(DESC)、字段增删改(ALTER TABLE)及表删除操作,涵盖字段类型、注释、索引等关键要素,为数据库开发与维护提供完整指导。

2201_75570391的博客 367
上一篇: 107-Oracle Linux OLVM-KVM集群部署2-Veeam备份
下一篇: 112-Oracle database 26ai下载和安装环境准备
远方1609
博客等级 码龄22年 577粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值