- 最近要保存历史数据,只保存月末的数据,为了查询方便便设置分区。
分区样式类似于 P_202411,P_202412按月分区,但是只取月末数据。而且只保留12个月,多于12个月,则需要从头开始删除数据。加载一次,就要把12个月前的数据删了。
看起来挺简单,实际上也简单。其他不说了,就说说用到的逻辑把。
1.分区的创建,这个需要开发一个存储过程专门去做,不在混在一起(分区的表不止一张,大概有20张),先跑分区创建存过,再跑数据。
2.创建存储过程,先要判断需要清理数据的分区存在不,如果存在,就删除,不存在就跳过。
再次判断是不是月末这一天,如果是就要先做一次删除操作,把月末的数据清理,在插入(防止重跑)
3.等以上操作做完之后,开始插入数据。
完事
dba_tab_partitions ,其实就是围绕着这个表在做一系列判断。