我需要自动按月对表进行分区,并且每个分区都在与该月对应的表空间中。我不需要循环赛的方式。我希望每个分区都在其表空间中。谢谢
发布于 2021-03-27 04:43:14
正如我已经说过的,您必须使用循环调度,因为表空间必须在设计时存在。否则,Oracle无法自动创建分区。是这样的:
CREATE TABLE MY_TABLE
(
START_TIME TIMESTAMP(0) NOT NULL,
more columns
)
PARTITION BY RANGE (START_TIME) INTERVAL (INTERVAL '1' MONTH)
STORE IN (
TS_JAN, TS_FEB, TS_MAR,
TS_APR, TS_MAY, TS_JUN,
TS_JUL, TS_AUG, TS_SEP,
TS_OKT, TS_NOV, TS_DEC
)
(
PARTITION P_INITIAL VALUES LESS THAN (TIMESTAMP '2021-01-01 00:00:00') TABLESPACE TS_JAN
);只需确保初始分区的时间戳(例如,1月1日)与正确的表空间匹配即可。
否则,您必须提前手动创建所有分区和表空间。
https://stackoverflow.com/questions/66823814
复制相似问题