There is a procedure in a package I don't remeber exactly the spelling, but it was like : validate_schema

or you will have to run the following script, it will generate for you a script to compile the uncompiled objects, then you will have to run the output script, after finishing it the number of invalid object will decrease, but you may need, to regenerate the scripts, 2-3 times :

spool c:\validate.sql

select 'alter '||object_type ||' '||object_name ||' compile;'
from dba_objects
where status='INVALID'
and object_Type in('VIEW','PROCEDURE', 'FUNCTION','PACKAGE','TRIGGER');

select 'alter package '||OWNER||'.'||object_name ||' compile body;'
from dba_objects
where status='INVALID'
and object_Type in('PACKAGE BODY');


spool off