如何檢視失效的物件

xypincle發表於2017-02-20

  1. --執行以下SQL語句,可查詢Procedure,Function,Package,Package Body,Trigger,View是否失效:
  2. SELECT * FROM dba_objects a WHERE a.owner IN ('SYS''SYSTEM','ZLTOOLS','ZLHIS') AND a.status='INVALID';

  3. --直接生成失效的物件的編譯方式:
  4. SELECT 'ALTER ' || OBJECT_TYPE || ' ' || OWNER || '.' || OBJECT_NAME || ' COMPILE;'
  5.   FROM ALL_OBJECTS
  6.  WHERE STATUS = 'INVALID'
  7.    AND OBJECT_TYPE IN ('PROCEDURE','FUNCTION', 'VIEW','TRIGGER','PACKAGE','PACKAGE BODY')
  8.    AND OWNER IN ('SYS''SYSTEM','ZLTOOLS','ZLHIS');
  9.                                                                
  10. SELECT 'ALTER PACKAGE ' || OWNER || '.' || OBJECT_NAME || ' COMPILE BODY;' FROM ALL_OBJECTS WHERE STATUS = 'INVALID' AND OBJECT_TYPE = 'PACKAGE BODY';

  11. --檢視失效的index
  12. SELECT * FROM Dba_Indexes a WHERE a.status='UNUSABLE' ;

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28878983/viewspace-2133928/,如需轉載,請註明出處,否則將追究法律責任。

相關文章