ORACLE编译失效对象小结.docVIP

  • 12
  • 0
  • 约4.16千字
  • 约 7页
  • 2017-01-22 发布于重庆
  • 举报
ORACLE编译失效对象小结

在日常数据库维护过程中,我们会发现数据库中一些对象(包Package、存储过程Procedure、函数Function、视图View、同义词.....)会失效,呈现无效状态(INVALID)。有时候需要定期检查数据库中存在哪些失效对象,对于存在异常的对象需要重新编译,有些自动失效的对象,一般会在下次调用的时候,会被重新编译,所以这些不需要人工干预。那么为什么对象突然会失效呢?又如何快速、高效的编译失效对象呢?哪些失效的对象不需要我们去重新编译呢? 数据库对象失效原因 数据库对象失效的原因很多,下面大致归纳了一些常见的原因(有些漏掉的,希望大家补充): 1: 当被引用对象的结构变更时,都会使得相关的依赖对象转变为INVALID状态。 数据库中的对象(存储过程,函数,包,视图,触发器),它们往往需要直接或者间接的引用其它对象,对象的依赖包括直接和间接二种,其中直接依赖是指存储对象直接依赖于被引用对象,而间接依赖是指对象间接依赖于被引用对象 要查看被引用的对象,可以通过下面SQL查看 select * from dba_dependencies where name=objectname; select * from all_dependencies where name=objectname; ? select * from user_dependencies where n

文档评论(0)

1亿VIP精品文档

相关文档