Oracle equivalent of sp_rename in SQL Server
Community Wiki answer containing the solution given by Justin Cave in a question comment



execute immediate takes a string.  The snippet you posted has no strings in it.  You'd need to assemble the appropriate string and then pass that to execute immediate.  Something like:

execute immediate 'alter table ' || var_table_name || ' rename ' || 
    var_col || ' to ' || var_new_col`.


Of course, you probably want to put that in a local variable so that if/when it fails you can log the actual SQL statement.