1. 查看数据库中的无效对象
check oracle object
SQL> select count(*) from dba_objects where status='INVALID';
2. 关闭应用,数据库和监听不能关闭
cd $ADMIN_SCRIPTS_HOME
./adadstpall.sh apps/apps
3. 用APP用户,执行adadmin打开维护模式并重新编译APPS Schema;
打开维护模式
adadmin->Change Maintenance Mode->1. Enable Maintenance Mode
重新编译APPS Schema
Compile/Reload Applications Database Entities menu-> 1. Compile APPS schema
打开维护模式
adadmin->Change Maintenance Mode->1. Enable Maintenance Mode
重新编译APPS Schema
Compile/Reload Applications Database Entities menu-> 1. Compile APPS schema
4. 检查无效对象的数量,关闭维护模式,启动应用
SQL> select count(*) from dba_objects where status='INVALID';
adadmin->Change Maintenance Mode->2. Disenable Maintenance Mode
再重启应用即可
cd $ADMIN_SCRIPTS_HOME
./adadstral.sh apps apps
PS :
1、编译整个数据库中的无效对象
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql
2、编译数据库中单个的无效对象:
编译无效包体: alter package package_name complie;
编译无效的函数:alter function function_name complies;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-716062/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-716062/
本文介绍了一种解决Oracle数据库中无效对象的方法,包括检查无效对象数量、关闭应用、使用ADADMIN工具进入维护模式重新编译APPSSchema等步骤,并提供了编译整个数据库或单独对象的有效命令。
354

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



