How to Compile Objects - Scripts

---*****************************
---*  Compile objets           *
---*  By Pablo Vivas.   Vzla   *
---*  By Eini Trujillo. Vzla   *
---*  July 2014                *
---*****************************

set lin 80
set pages 101
  SELECT CASE object_type
    WHEN 'PACKAGE BODY'
    THEN
          'ALTER PACKAGE '
       || owner
       || '.'
       || object_name
       || ' COMPILE BODY;'
    WHEN 'VIEW'
    THEN
       'ALTER VIEW ' || owner || '.' || object_name || ' COMPILE;'
    WHEN 'PROCEDURE'
    THEN
       'ALTER PROCEDURE ' || owner || '.' || object_name || ' COMPILE;'
    WHEN 'TRIGGER'
    THEN
       'ALTER TRIGGER ' || owner || '.' || object_name || ' COMPILE;'
    WHEN 'FUNCTION'
    THEN
       'ALTER FUNCTION ' || owner || '.' || object_name || ' COMPILE;'
    WHEN 'SYNONYM'
    THEN
       (SELECT    'ALTER '
               || DECODE (OWNER, 'PUBLIC', 'PUBLIC', '')
               || ' SYNONYM '
               || DECODE (OWNER, 'PUBLIC', '', OWNER || '.')
               || synonym_name
               || ' COMPILE;'
          FROM dba_synonyms s
         WHERE s.synonym_name = o.object_name and s.owner=o.owner)
    ELSE
       '-- Ver type ---'
 END
    "COMPILE"
    FROM dba_objects o
   WHERE status = 'INVALID' AND owner NOT IN ('SYS','SYSTEM')
ORDER BY owner, object_type, object_name;

Comments