注册
DPC下测试分区合并
技术分享/ 文章详情 /

DPC下测试分区合并

Captain J 2026/08/14 75 0 0

1、建立测试表
– 创建RANGE分区表
CREATE TABLE T_RANGE_12 (
ID INT,
NAME VARCHAR(50),
CREATE_TIME DATE
) PARTITION BY RANGE(ID) (
PARTITION p1 VALUES LESS THAN (10),
PARTITION p2 VALUES LESS THAN (30),
PARTITION p3 VALUES LESS THAN (50),
PARTITION p4 VALUES LESS THAN (MAXVALUE)
) STORAGE(ON TSG_12);

– 插入测试数据
BEGIN
FOR i IN 1…60 LOOP
INSERT INTO T_RANGE_12 VALUES (i, ‘range_’ || i, SYSDATE);
END LOOP;
COMMIT;
END;
/
2、测试步骤
2.1 合并前检查
– 查看分区定义
SELECT TABLE_NAME, PARTITION_NAME, HIGH_VALUE FROM DBA_TAB_PARTITIONS WHERE TABLE_NAME = ‘T_RANGE_12’;

image.png

– 查看各分区数据量(可逐个查询)
SELECT COUNT() FROM T_RANGE_12 PARTITION (p1);
SELECT COUNT(
) FROM T_RANGE_12 PARTITION (p2);
SELECT COUNT() FROM T_RANGE_12 PARTITION (p3);
SELECT COUNT(
) FROM T_RANGE_12 PARTITION (p4);
image.png

– 查看各BP数据分布
CALL SP_GET_EP_COUNT(‘USER_12’, ‘T_RANGE_12’);
image.png
2.2 执行分区合并
ALTER TABLE T_RANGE_12 MERGE PARTITIONS p1, p2 INTO PARTITION p1_2;
2.3 合并后验证
SELECT COUNT(*) FROM T_RANGE_12 PARTITION (p1_2); – 应包含ID 1-29的数据

image.png

– 查看分区定义
SELECT TABLE_NAME, PARTITION_NAME, HIGH_VALUE FROM DBA_TAB_PARTITIONS WHERE TABLE_NAME = ‘T_RANGE_12’;

image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服