1. 查看數據庫中的無效對象
check oracle object
SQL> select count(*) from dba_objects where status='INVALID';
COUNT(*)
----------
1808
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
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
附:
1、編譯整個數據庫中的無效對象
2、編譯數據庫中單個的無效對象:
編譯無效包體: alter package package_name complie;
編譯無效的函數:alter function function_name complies;