Try using this query to identify the approach to attack invalid objects in the schema
select referenced_name, count(referenced_name) cnt
from user_dependencies
where referenced_name in (select distinct object_name
from user_objects
where status = ‘INVALID’)
group by referenced_name
order by cnt desc
This will list down the objects in descending order on which maximum no. of invalid objects are dependent.