OceanBase系列---【如何拆分PMAX分区?】

因为OceanBase的oracle模式不支持自动创建分区,所以为了节省时间,我们往往会手动预先创建很多分区,然而,随着时间的流逝,手动创建的总会有用完的时候。为了防止数据插入报错,我们会新增一个PMAX分区,来防止数据插入错误,把大于手动创建的最大分区的数据都存入了PMAX分区中。因此,本文就是为了解决这种场景而记录的。如果你使用定时任务,已经实现了自动创建分区,那么可以忽略本文。

1.备份PMAX分区数据

sql 复制代码
create table source_pmax_tmp as select * from source partition(PMAX);

2.验证PMAX备份表数据完整性

sql 复制代码
select count(1) from source partition(PMAX);
select count(1) from source_pmax_tmp;

3.删除原表中的pmax分区

sql 复制代码
-- 这里是因为直接加新分区加不上,必须删除pmax才能手动加。
ALTER TABLE SOURCE DROP PARTITION(PMAX);

4.新增新分区

sql 复制代码
-- 省略sql: 自己查一下pmax分区中的日期都有哪些,再决定新建多少分区
ALTER TABLE SOURCE ADD PARTITION P202112 VALUES LESS THAN (TO_DATE('2022-01-01','YYYY-MM-DD'));
ALTER TABLE SOURCE ADD PARTITION PMAX VALUES LESS THAN (MAXVALUE);

5.同步PMAX备份表的数据到原表

sql 复制代码
-- 迁移完就会自动按新分区新增了,这里实测:同步100多万数据需要20s左右。
insert into source select * from source_pmax_tmp ;
相关推荐
OceanBase数据库官方博客12 天前
OceanBase DataStudio:让 AI数据生产从拼装走向一体化(技术解析与
人工智能·oceanbase
Database_Cool_14 天前
阿里云 PolarDB-X vs OceanBase 国产分布式数据库深度对比
分布式·阿里云·oceanbase
AllData公司负责人17 天前
数据库同步平台|AIIData数据中台实现OceanBase、达梦数据库、OpenGauss、人大金仓、Hive、TDengine 一键接入Doris
大数据·数据库·hive·mysql·oceanbase·tdengine
OceanBase数据库官方博客19 天前
OceanBase AI 时代,数据库的变与不变(技术解析与实践)
数据库·人工智能·oceanbase
程序员cxuan19 天前
OceanBase 为什么要做 AI 数据库?
数据库·人工智能·大模型·llm·oceanbase
OceanBase数据库官方博客19 天前
基于 OceanBase 湖库一体架构,构建 AI 时代的数据基础设施
人工智能·架构·oceanbase
OceanBase数据库官方博客20 天前
OceanBase Lakebase 架构解析:独立部署与智能叠加层模式的技术实践
架构·oceanbase
OceanBase数据库官方博客1 个月前
OceanBase + Flink 数据集成(第二部分):通过 JDBC 协议实现实时数据同步
大数据·flink·oceanbase
OceanBase数据库官方博客1 个月前
OceanBase × Flink 数据集成系列——旁路导入连接器的批量写入能力
架构·kubernetes·oceanbase