Are you saying you have lots of INVALID objects in DBA_OBJECTS? Are they SYS/SYSTEM objects? Do you have any messages in your alert log?
I would try to recompile the PL/SQL packages by running @?/rdbms/admin/utlrp.sql and then re-check for INVALID objects. However, it appears that you may have to try and rebuild your data dictionary all together.
I Did the reserch on METALINK, but didn't open a TAR yet. I want to make sure I validate all objects first. Before I open one. You know what would they say..run the RDA tool and stuff. I will try to find a downtime rebuild data dictionary and validate all objects then see what happend.