注册
表空间组动态管理与数据分布测试
技术分享/ 文章详情 /

表空间组动态管理与数据分布测试

Captain J 2026/08/14 72 0 0

阶段一:基线确认

– 查看 TSG_12 当前成员
CALL SP_GET_ALL_TS_BY_TSGROUP(‘TSG_12’);

– 查看当前数据分布(基准)
CALL SP_GET_EP_COUNT(‘USER_12’, ‘T_NORMAL_12’); – 预期全部在 BP1
CALL SP_GET_EP_COUNT(‘USER_12’, ‘T_PART_12’); – 预期 BP1:50, BP2:50

image.png
image.png

阶段二:向表空间组添加表空间

– 向 TSG_12 添加 TS_BP3(RAFT_3)
CALL SP_TS_GROUP_ADD_TS(‘TSG_12’, ‘TS_BP3’);

– 验证添加结果
CALL SP_GET_ALL_TS_BY_TSGROUP(‘TSG_12’);
– 预期:TS_BP1, TS_BP2, TS_BP3
image.png

阶段三:验证已有数据不受影响

– 已有数据分布不变
CALL SP_GET_EP_COUNT(‘USER_12’, ‘T_NORMAL_12’); – 仍全部在 BP1
CALL SP_GET_EP_COUNT(‘USER_12’, ‘T_PART_12’); – 仍 BP1:50, BP2:50

image.png

阶段四:验证普通表新数据不跨 BP

– 向普通表插入 100 条新数据
BEGIN
FOR i IN 101…200 LOOP
INSERT INTO T_NORMAL_12 VALUES (i, ‘new_normal_’ || i, SYSDATE);
END LOOP;
COMMIT;
END;
/
– 查看分布:整表仍在一个 BP(可能是 BP1 或 BP2,但不会跨 BP3)
CALL SP_GET_EP_COUNT(‘USER_12’, ‘T_NORMAL_12’);

image.png

阶段五:验证分区表新数据表空间默认分布情况

– 向分区表插入 100 条新数据
BEGIN
FOR i IN 101…200 LOOP
INSERT INTO T_PART_12 VALUES (i, ‘new_part_’ || i, SYSDATE);
END LOOP;
COMMIT;
END;
/
– 查看分布
CALL SP_GET_EP_COUNT(‘USER_12’, ‘T_PART_12’);

image.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服