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数据库官方博客1 小时前
OceanBase + Flink 数据集成(第二部分):通过 JDBC 协议实现实时数据同步
大数据·flink·oceanbase
OceanBase数据库官方博客1 天前
OceanBase × Flink 数据集成系列——旁路导入连接器的批量写入能力
架构·kubernetes·oceanbase
OceanBase数据库官方博客4 天前
使用 OceanBase 进行向量 POC 的规划思路(混合搜索)
oceanbase
OceanBase数据库官方博客5 天前
如何用PaddleOCR和OceanBase打通企业资产智能化的第一公里
oceanbase
OceanBase数据库官方博客5 天前
借助OceanBase与LangChain,实现Agent快速投入生产的系统方案
langchain·oceanbase
弗锐土豆7 天前
使用eclipse、java、maven、j60870、oceanbase按照IEC104协议采集、存储电力数据
java·oceanbase·电表·iec104·抄表
OceanBase数据库官方博客8 天前
从OceanBase看AI Agent Harness的构成与设计
人工智能·oceanbase
OceanBase数据库官方博客8 天前
从 HBase 到 OceanBase 的迁移路径:Flink 驱动的实时数据写入
人工智能·oceanbase
OceanBase数据库官方博客11 天前
OceanBase 赋能央国企:从发电到用电的全链路业务承载
数据库·oceanbase
GottdesKrieges11 天前
OceanBase迁移用户及其权限配置
数据库·oceanbase