【发布时间】:2015-05-25 08:42:28
【问题描述】:
我正在使用 Oracle-11G 数据库。
我正在尝试创建 day 明智的分区,并再次创建 每小时 级别的子分区。
下面是我正在使用的脚本
CREATE TABLE test_shipments
( order_date DATE NOT NULL
, delivery_date DATE NOT NULL
)
PARTITION BY RANGE (order_date)
INTERVAL (NUMTODSINTERVAL(1, 'day'))
SUBPARTITION BY RANGE (order_date)
( PARTITION p_2006_jul VALUES LESS THAN (TO_DATE('2006-08-01','YYYY-MM-DD'))
( SUBPARTITION p06_jul_e1 VALUES LESS THAN (TO_DATE('2006-08-01 12:00:00','YYYY-MM-DD hh24:mi:ss'))
,SUBPARTITION p06_jul_e2 VALUES LESS THAN (TO_DATE('2006-08-01 13:00:00','YYYY-MM-DD hh24:mi:ss'))
,SUBPARTITION p06_jul_e3 VALUES LESS THAN (TO_DATE('2006-08-01 14:00:00','YYYY-MM-DD hh24:mi:ss'))
)
);
我希望每天都有分区,并且在那一天的每个小时都有子分区。 上面的脚本每天只创建分区。未创建每小时子分区。谁能指导一下?
【问题讨论】:
-
你can't do interval subpartitoning;你打算每天手动创建新的子分区吗?分区和子分区是否应该位于不同的列上?
-
不,它在同一列 (order_date)。我将在我的示例中更改它。它不应该是手动操作。我希望它是动态创建的。有可能吗?
-
是否有理由不按小时间隔进行分区?