Is it possible that you have mixed case in your tablespace name? By default, Oracle uses upper case for object names, including tablespaces. However, some third party applications create objects and tablespaces with mixed case. When you issue "drop tablespace xxx," it looks for a tablespace with that same upper case name. The trick is to enclose the tablespace name in double quotes. So verify the exact spelling of the tablespace name in DBA_TABLESPACES and issue something similar to the following:
DROP TABLESPACE "MyTableSpace";
If you do not use the double quotes here, it expects to find a tablespace with the name "MYTABLESPACE." Since the name contains lower case characters, they do not match, and the ORA-00959 error is raised.
This was first published in October 2004