zoukankan      html  css  js  c++  java
  • Script to compile invalid objects in DB

    REM: Script to compile invalid objects in DB after refreshing  
    REM:  
    REM:*****************************************  
    REM:  
    REM: NOTE: PLEASE TEST THIS SCRIPT BEFORE USE.  
    REM: Author will not be responsible for any damage that may be cause by this script.  
    REM:*****************************************  
      
    set pagesize 0  
    set feedback off  
    set trimspool on  
    prompt  
    prompt Run the script as sysdba otherwise invalid objects will remain (ORA-01031 error)  
    prompt  
    prompt Run the script several times. It only takes long the first time  
    prompt  
    prompt check the progress of compilation by issueing from another session  
    prompt select count(*) "invalid" from dba_objects where status <> 'VALID';  
    prompt  
    prompt hit <enter> to continue  
    pause  
    spool compile.lis  
    select 'alter '||object_type||' '||owner||'."'||object_name||'" compile;'  
    from dba_objects  
    where status<>'VALID'  
    and object_type not in ('PACKAGE BODY','TYPE BODY','UNDEFINED','JAVA CLASS','SYNONYM')  
    union  
    select 'alter package '||owner||'.'||object_name||' compile body;'  
    from dba_objects  
    where status<>'VALID'  
    and object_type='PACKAGE BODY'  
    union  
    select 'alter type '||owner||'.'||object_name||' compile body;'  
    from dba_objects  
    where status<>'VALID'  
    and object_type='TYPE BODY'  
    union  
    select 'alter materialized view '||owner||'.'||object_name||' compile;'  
    from dba_objects  
    where status<>'VALID'  
    and object_type='UNDEFINED'  
    union  
    select 'alter java class '||owner||'."'||object_name||'" resolve;'  
    from dba_objects  
    where status<>'VALID'  
    and object_type='JAVA CLASS'  
    union  
    select 'alter synonym '||owner||'.'||object_name||' compile;'  
    from dba_objects  
    where status<>'VALID'  
    and object_type='SYNONYM'  
    and owner<>'PUBLIC'  
    union  
    select 'alter public synonym '||object_name||' compile;'  
    from dba_objects  
    where status<>'VALID'  
    and object_type='SYNONYM'  
    and owner='PUBLIC';  
    spool off  
    set feedback on   
  • 相关阅读:
    成为明星程序员的10个提示
    使用命令时一些快捷的方法
    mysql字符串截取
    MFGTool2批量操作
    busybox microcom Segmentation fault
    Linux 定制X86平台操作系统
    Buildroot MariaDB替代MySQL
    arcotg_udc: exports duplicate symbol imx_usb_create_charger (owned by kernel)
    create newline in Github Bio
    BusyBox ifup udhcpc后台运行
  • 原文地址:https://www.cnblogs.com/toowang/p/3665827.html
Copyright © 2011-2022 走看看