【问题标题】:how to increase column size of a table which is partitoned in oracle如何增加在oracle中分区的表的列大小
【发布时间】:2013-08-13 18:35:52
【问题描述】:

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

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

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

【问题讨论】:

  • 不确定我是否理解将主键数字约束到一定精度的价值。如果您要更改它,只需将其更改为 NUMBER

标签: sql oracle oracle11g database-administration


【解决方案1】:

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

这意味着您需要重建表。

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

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

【讨论】:

    猜你喜欢
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    相关资源
    最近更新 更多