我正在尝试按年份对现有表格进行分区。(没有现有的分区)
alter table test_table PARTITION BY EXTRACT (year FROM date_c);
但似乎有一些错误
ROLLBACK 2628:不允许在PARTITION BY表达式中使用“date_c”列,因为它包含NULL值 **提示:如果列当前不包含空值,请在更改分区之前推进AHM并从删除向量中清除空值**
该列没有任何空值,因此遵循提示。我确实将AHM推进到现在。但是如何从删除向量中清除空值?
答案 0 :(得分:3)
将AHM(古代历史标记)设置为允许的最大值后,您可以使用PURGE_TABLE()
从物理存储中永久删除删除数据。
MAKE_AHM_NOW()
函数推进纪元并对所有投影执行时差操作。然后将AHM设置为LGE(Last Good Epoch)。此时,任何历史数据(包括删除向量)都将丢失,并且无法进行回滚。 不会自动清除旧数据。
答案 1 :(得分:0)
看起来我必须在将AHM设置为now()之后清除数据(我假设将AHM设置为now()会自动处理清除旧数据)。