Oracle 11g - PL/SQL block - Unable to use a newly added column in subsequent DML
The column does not exist at compile time. Try this:

begin
   execute immediate 'alter table my_table add new_column varchar2(30)';
   execute immediate 'update my_table set new_column=old_column';
end;