set head off
spool c:\inv.lst
SELECT 'ALTER '||decode(object_type,'PACKAGE
BODY','PACKAGE',object_type)||' '|| object_name||' '||'COMPILE '
||DECODE(object_type, 'PACKAGE
BODY','BODY','PACKAGE','PACKAGE','')||';'
FROM user_objects
WHERE status='INVALID'
/
spool off
@c:\inv.lst