1

如何增加分区 oracle 表的列大小。

create table tbl(id number(5) primary key,
  name varchar2(20)) 
  partition by range(id) ( partition part1 values less than (100));

现在我想将列 ID 的大小增加到 10。如何在不丢失数据的情况下这样做?

4

1 回答 1

1

所以你可能发现:ORA-14060: data type or length of a table partitioning column may not be changed

这意味着您需要重建表。

可能有一种方法可以使用 DBMS_REDEFINITION ( http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/d_redefi.htm ),或者您可以使用常规表交换分区(应用新的列定义) ,使用相同的新列定义重新创建分区表并将表交换回来。好处是在此过程中不需要移动任何数据。

信用在这里(见线程底部):https ://forums.oracle.com/thread/2445497

于 2013-08-13T19:10:33.087 回答