After an upgrade from 10.2.0.2 to 10.2.0.3 for a client, I encountered with the following error :
SQL> startup nomount
ORA-00940: invalid ALTER command
Interestingly, after removing spfile and creating a pfile with simple option, the issue was resolved.
It turned out to be because of a hidden parameter which disable/enable a bug in 10.2.0.2 database which does not exist in 10.2.0.3. Parameter was _fix_control=5385629:on which turns on the fix for bug 5385629 in 10.2.0.2 but since this bug does not exist in 10.2.0.3, having this parameter in spfile caused a problem as Oracle can not enable this bug in 10.2.0.3.
Please be advised to make sure spfile is good and healthy and it has not this parameter if you get this error.