Oracle数据库对象失效

2014-11-24 18:48:36 · 作者: · 浏览: 4

项目中开发使用了VPD,数据库用户B的对象的创建依赖于数据用户A,由于用户A的对象进行DDL、迁移或dump等操作,造成了用户B的对象INVALID。应用系统的数据源使用了用户B,因此造成应用系统出错。


此时可进行如下处理:


1,找到失效的对象



编译的方法有多种:


1) DBMS_DDL


2.)DBMS_UTILITY
3.)UTL_RECOMP
4)UTLRP.SQL
5)Manually Recompile




最佳方案是手动编译这些对象,可以参考下面的SQL脚本: