我已经搜索了很多,但我没有找到有关如何将范围分区添加到现有表的信息
alter table myuser.mytable
add PARTITION BY RANGE (mynumber) INTERVAL (1)
( PARTITION p1 VALUES LESS THAN (108))
Run Code Online (Sandbox Code Playgroud)
这给了我 ORA:14150 错误,缺少 SUBPARTITON 关键字,但我不想给出子分区
编辑:MODIFY在 19c 和 12cR2 上,这可以使用以下子句来完成ALTER TABLE
ALTER TABLE myuser.mytable MODIFY
PARTITION BY RANGE (mynumber) INTERVAL (1)
( PARTITION p1 VALUES LESS THAN (108)
PARTITION p2 VALUES LESS THAN (109))
ONLINE
UPDATE INDEXES
Run Code Online (Sandbox Code Playgroud)
19c 或 12cR2 之前:
如果您现有的表是未分区的,您将必须:
CREATE一个TABLE带有partition定义的新的。我们称这张表为MYTABLE_NEWINSERT到MYTABLE_NEW所有数据中MYTABLERENAME MYTABLE到MYTABLE_OLDRENAME MYTABLE_NEW到MYTABLEDROP MYTABLE_OLD或者
dbms_redefinition也可以用
| 归档时间: |
|
| 查看次数: |
10128 次 |
| 最近记录: |