Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-54013 online redef partitioned table with virtual column

oraLaroSep 27 2016 — edited Oct 12 2016

version 12.1.0.2

> begin  dbms_redefinition.redef_table (uname=>'SCOTT', tname=>'T1',  table_part_tablespace=> 'NEW_TS'); end;

  2  /

begin  dbms_redefinition.redef_table (uname=>'SCOTT', tname=>'T1',  table_part_tablespace=> 'NEW_TS'); end;

*

ERROR at line 1:

ORA-42008: error occurred while instantiating the redefinition

ORA-12018: following error encountered during code generation for "SCOTT"."REDEF$_T900740"

ORA-54013: INSERT operation disallowed on virtual columns

ORA-06512: at "SYS.DBMS_REDEFINITION", line 3385

ORA-06512: at line 1

So trying to online redef a large partitioned table, we have a virtual column on it.  Ora-54013 occurs.  I know the background process involved creates a temporary table and with materialized view snapshots moves the data over and with this in mind,  then it makes sense that the 54013 occurred if the new table was created with DDL from the old table  and then there was an insert select * , but if its clever enough to work out the virtual column is there, I would have thought the process should have been graceful enough at this stage to be able to handle virtual column,  thing is I cant find a support note or online reference anywhere to actually say virtual columns arent supported so just posting this to see if anyone has seen this and its real or is it a bug 

We could drop the virtual before doing the online redef and recreate after, but that then's not really an online job. 

Its probably an "is what it is" thing. 

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 9 2016
Added on Sep 27 2016
11 comments
1,984 views