使用DBMS_REDEFINITION对现有表进行分区

问题描述

我有一个表,并且想对其进行分区,因此我开始使用DBMS_REDEFinitioN对其进行分区,并且我的工作类似于本文DBMS_REDEFINITION

我开始使用以下代码重新定义表时遇到的问题:

BEGIN
  DBMS_REDEFinitioN.start_redef_table(
    uname      => USER,orig_table => 'salary',int_table  => 'salary_2');
END;

我有这个问题:

enter image description here

我使用 DBMS_REDEFinitioN.abort_redef_table 中止该重新定义,然后使用 DBMS_REDEFinitioN.start_redef_table ,然后出现此错误

enter image description here

但是,我删除了该表的快照,并且每次运行start_redef_table时仍然会出现此错误

注意: 我的表格列是645。

解决方法

我已经解决了问题,现在有一个分区表。

我创建另一个具有与基本表相同结构的表。

然后我将数据从旧表插入到新表中。

此后,我删除旧表并将新表重命名为旧表名称。

但仍然,重新定义无效。