0

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

  • FNAME VARCHAR2(20 BYTE)
  • SAL NUMBER(8,2)
  • DEPTNO NUMBER(4,0)

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.

2 Answers 2

0

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.

0

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

move_table_clause

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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