Oracle数据库对象失效
程序员文章站
2022-05-07 11:28:55
...
Oracle数据库对象失效,项目中开发使用了VPD,数据库用户B的对象的创建依赖于数据用户A,由于用户A的对象进行DDL、迁移或dump等操
项目中开发使用了VPD,数据库用户B的对象的创建依赖于数据用户A,,由于用户A的对象进行DDL、迁移或dump等操作,造成了用户B的对象INVALID。应用系统的数据源使用了用户B,因此造成应用系统出错。
此时可进行如下处理:
1,找到失效的对象
2,进行判断后,可以重新编译这些对象。编译的方法有多种:
1) DBMS_DDL
2.)DBMS_UTILITY
3.)UTL_RECOMP
4)UTLRP.SQL
5)Manually Recompile
最佳方案是手动编译这些对象,可以参考下面的SQL脚本: