在Oracle运行的过程中,由于各种原因,有些对象,如存储过程、函数等,如下:
SQL> select distinct object_type from all_objects;
OBJECT_TYPE
------------------
CLUSTER
CONSUMER GROUP
CONTEXT
EVALUATION CONTEXT
FUNCTION
INDEX
INDEX PARTITION
LIBRARY
LOB
OPERATOR
PACKAGE
PACKAGE BODY
PROCEDURE
QUEUE
RESOURCE PLAN
SEQUENCE
SYNONYM
TABLE
TABLE PARTITION
TRIGGER
TYPE
TYPE BODY
VIEW
已选择23行。
以上对象的状态有时变为 INVALID,此时,如果不注意监控,有时会影响生产和使用。
SQL> select OBJECT_NAME,OBJECT_TYPE,STATUS from all_objects where where STATUS = 'INVALID';
可以用以下的语句监控数据库或用户的无效对象:
从 dba_objects 中查看无效的用户对象:
SQL> select OBJECT_NAME,OBJECT_TYPE,STATUS from dba_objects where STATUS = 'INVALID';
从当前户查看无效的用户对象:
SQL> select OBJECT_NAME,OBJECT_TYPE,STATUS from user_objects where STATUS = 'INVALID';
如果发现有无效的对象,要及时进行处进,如存储过程或包、函数,可以重新编译,视图等需要重建!
阅读(1901) | 评论(0) | 转发(0) |