select to_char(sysdate,‘yyyymmdd hh24:mi:ss’) from dual;
spool oracle_compile.txt;
declare
objowner varchar2(50) := ‘oracleowner’;
begin
for obj in (select * from all_objects where status = ‘INVALID’ and object_type in (‘PROCEDURE’, ‘FUNCTION’, ‘VIEW’, ‘TRIGGER’) and owner=upper(objowner))
loop
begin
execute immediate ‘alter ’ ||obj.object_type|| ’ ’ ||obj.object_name || ’ compile’;
exception
when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
end;
/
spool off;
select to_char(sysdate,‘yyyymmdd hh24:mi:ss’) from dual;