Oracle表分区的创建、新增、拆分
-- 创建范围分区表
CREATE TABLE sales (
sales_id NUMBER(4),
product_id VARCHAR2(5),
sale_date DATE
)
PARTITION BY RANGE (sale_date) (
PARTITION sales_q1 VALUES LESS THAN (TO_DATE('01-APR-2023', 'DD-MON-YYYY')),
PARTITION sales_q2 VALUES LESS THAN (TO_DATE('01-JUL-2023', 'DD-MON-YYYY')),
PARTITION sales_q3 VALUES LESS THAN (TO_DATE('01-OCT-2023', 'DD-MON-YYYY')),
PARTITION sales_q4 VALUES LESS THAN (TO_DATE('01-JAN-2024', 'DD-MON-YYYY'))
);
-- 向表中添加新的分区
ALTER TABLE sales ADD PARTITION sales_q4 VALUES LESS THAN (TO_DATE('01-JAN-2024', 'DD-MON-YYYY'));
-- 拆分分区,将一个大分区拆分为两个小分区
ALTER TABLE sales SPLIT PARTITION sales_q4 AT (TO_DATE('01-JUL-2023', 'DD-MON-YYYY')) INTO (
PARTITION sales_q4_1 VALUES LESS THAN (TO_DATE('01-JUL-2023', 'DD-MON-YYYY')),
PARTITION sales_q4_2 VALUES LESS THAN (TO_DATE('01-JAN-2024', 'DD-MON-YYYY'))
);
这个例子展示了如何在Oracle数据库中创建一个范围分区表,如何向该表添加新的分区,以及如何将一个现有的分区拆分为两个较小的分区。这些操作对于管理大型表的分区是非常有用的。
评论已关闭