如何重新划分Oracle DB中的现有表?
例如,在MySQL中,您可以使用ALTER TABLE从头开始重新定义分区:
/* MySQL code, not Oracle DB */
ALTER TABLE t1
PARTITION BY HASH(id)
PARTITIONS 8;我已经在谷歌上搜索了一段时间,但在Oracle中找不到提供此功能的任何内容。
但是它必须是可能的,因为它是正在进行的分区管理的基本功能。
在我的例子中,我正在构建一个历史快照表,并根据快照日期范围进行分区。
每天,我都需要为新的一天添加一个分区,但也需要合并旧的快照分区,因为我们只保存前几个季度/年的每月快照。
从头开始重新定义整个分区配置将使这一过程变得非常直接,而且我认为这样的特性在任何顶级数据库产品中都是可用的。
发布于 2019-12-05 08:53:25
正如Kiril在他的回答中所说的,如果您只想添加分区,您可以手动进行,或者使用间隔分区模型。如果要对现有的非分区表进行分区,则取决于您的版本,在最新版本(19c)中,您可以执行一个alter .分区为“正常”表分区,或更改已分区表的分区方法。请看这里医生。您还可以使用merge分区选项来对旧分区进行每月分区,而不是每天进行分区(它位于文档的同一个页面上)。
https://stackoverflow.com/questions/59185279
复制相似问题