我怎样才能每月对一个数据库table进行分区?

How can I partition a database table every month?

每个月我们都要为所述月份的事务划分一个 table,我们想自动化这个过程,我正在考虑使用 crontab,但问题在于我需要一些参数,如日期和分区 table 才能这样做。

这是一个服务器 运行ning SunOS,除了默认的 sh,我不能使用 shell,这使得编写 shell 脚本到 运行 查询,但这就是我想要的。

这就是我们如何划分 table:

ALTER TABLE SCHEME.TABLE ADD PARTITION "NAME_201905"  VALUES LESS THAN
(TO_DATE('2019-05-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) SEGMENT CREATION IMMEDIATE
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
  COMPRESS FOR OLTP LOGGING
  STORAGE(INITIAL 8388608 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "TABLESPACE";

我们需要一种方法来每月执行该查询,并且每个参数都应与当前日期匹配。

创建或更改 table 以获得间隔分区。此要求将自动处理。

您可以设置小时、天、周、月或年的间隔。

每次新月份的数据到来时,Oracle 都会自动创建一个新分区。