I have a table named e_emp3 in Oracle with these fields among others:

  • SAL NUMBER(8,2)

I need to alter e_emp3 and set unused column(sal) with online keyword to stay dml operations for users on this table. I wrote this code:

alter table e_emp3 set unused(sal) online;

but I got the following error message

enter image description here

Please help me what is problem? When I run this code without online keyword it succeeds. When I add online keyword it fails.


Once you mark a column unusued, there is no way back, just restore from backup.

Dropping Table Columns

Removing Unused Columns

The ALTER TABLE...DROP UNUSED COLUMNS statement is the only action allowed on unused columns. It physically removes unused columns from the table and reclaims disk space.

| improve this answer | |

As documented in the manual

the set unused clause does not support the online keyword:

set unused

As you can see in the syntax diagram, you can only use cascade constraints or invalidate

The online option is only valid for the move_table_clause


| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.