Entre algunas alertas que podemos ver por el Enterprise Manager, podemos ver la de objetos descompilados.

13  object(s) are invalid in the PUBLIC schema.

Me logueo a la instancia y voy a ver cuales son los schemas que tienen objetos descompilados.

Para ello voy a compartirles un script que utilizo para el chequeo y para el armado de la compilacion por schema.

SELECT 'EXECUTE DBMS_UTILITY.COMPILE_SCHEMA(''' || owner || ''',FALSE) ;'
FROM dba_objects
WHERE status = 'INVALID';

En el ejemplo que expongo no solo hay objetos en el schema PUBLIC, si no tambien en el schema QUEST;

$ sqlplus /

SQL*Plus: Release 10.2.0.4.0 - Production on Thu Feb 11 12:04:42 2010

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

ERROR:
ORA-28002: the password will expire within 18446744073709551614 days

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> SELECT 'EXECUTE DBMS_UTILITY.COMPILE_SCHEMA(''' || owner || ''',FALSE) ;'
FROM dba_objects
WHERE status = 'INVALID'; 2 3

'EXECUTEDBMS_UTILITY.COMPILE_SCHEMA('''||OWNER||''',FALSE);'
-----------------------------------------------------------------------------
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('PUBLIC',FALSE) ;
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('PUBLIC',FALSE) ;
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('PUBLIC',FALSE) ;
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('PUBLIC',FALSE) ;
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('PUBLIC',FALSE) ;
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('PUBLIC',FALSE) ;
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('PUBLIC',FALSE) ;
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('PUBLIC',FALSE) ;
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('PUBLIC',FALSE) ;
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('PUBLIC',FALSE) ;
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('PUBLIC',FALSE) ;
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('PUBLIC',FALSE) ;
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('PUBLIC',FALSE) ;
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('QUEST',FALSE) ;

14 rows selected.

Con la misma salida compilo ambos schemas.

Lo voy hacer de a uno asi pueden ver con más detalle.

SQL> EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('PUBLIC',FALSE) ;

PL/SQL procedure successfully completed.

SQL> commit;

Commit complete.

SQL> SELECT 'EXECUTE DBMS_UTILITY.COMPILE_SCHEMA(''' || owner || ''',FALSE) ;'
FROM dba_objects
WHERE status = 'INVALID'; 2 3

'EXECUTEDBMS_UTILITY.COMPILE_SCHEMA('''||OWNER||''',FALSE);'
-----------------------------------------------------------------------------
EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('QUEST',FALSE) ;

SQL>
SQL> EXECUTE DBMS_UTILITY.COMPILE_SCHEMA('QUEST',FALSE) ;

PL/SQL procedure successfully completed.

SQL> commit;

Commit complete.

SQL> SELECT 'EXECUTE DBMS_UTILITY.COMPILE_SCHEMA(''' || owner || ''',FALSE) ;'
FROM dba_objects
WHERE status = 'INVALID'; 2 3

no rows selected

SQL>

Resultado. La base con objetos compilados !