在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';
如果发现有无效的对象,要及时进行处进,如存储过程或包、函数,可以重新编译,视图等需要重建!
本文介绍了Oracle数据库中对象状态变为INVALID的原因及监控方法,并提供了如何处理这些无效对象的具体步骤。
279

被折叠的 条评论
为什么被折叠?



