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

时间:2013-08-13 18:35:52

标签: sql oracle oracle11g database-administration

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

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

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

1 个答案:

答案 0 :(得分:1)

所以你可能发现了: ORA-14060:不能更改表分区列的数据类型或长度

这意味着您需要重建表格。

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

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