批量编译无效对象

sqlplus "/as sysdba"
@$ORACLE_HOME\RDBMS\ADMIN\utlrp.sql; this script will compile all invalid objects in database

自己编写的一个脚本

$ more check.sql
set head off
set pagesize 2000
spool comp.sql
select ‘alter ‘||decode(object_type, ‘VIEW‘, ‘VIEW‘,‘TRIGGER‘,‘TRIGGER‘,
       ‘PROCEDURE‘, ‘PROCEDURE‘, ‘FOUNCTION‘,‘FUNCTION‘,
       ‘PACKAGE‘,‘PACKAGE‘, ‘PACKAGE BODY‘, ‘PACKAGE‘, ‘MATERIALIZED VIEW‘) 
       ||‘ ‘||owner||‘.‘||object_name||‘ compile ‘||
       decode(object_type, ‘PACKAGE BODY‘, ‘ BODY‘)||‘;‘ 
from dba_objects
where status like ‘INV%‘;   
spool off

在ORACLE_HOME下创建check.sql
sqlplus / as sysdba
@check.sql

@comp.sql

时间: 2024-10-26 02:52:43

批量编译无效对象的相关文章

oracle compile 编译无效对象

原博主:http://blog.csdn.net/tianlesoftware/article/details/4843600 Applies to: Oracle Server - Enterprise Edition - Version: 10.1.0.5.0 This problem can occur on any platform. Symptoms: The issue is that the following error was raised : ORA-00600: inter

Oracle编译用户无效对象

在采用IMPDP/IMP工具迁移数据时,经常会提示无效对象的警告,需要采用如下方式处理. 1. 查询指定用户的无效对象 su – oracle sqlplus / as sysdba SQL> select owner,object_name,replace(object_type,' ','') object_type,to_char(created,'yyyy-mm-dd') as created,to_char(last_ddl_time,'yyyy-mm-dd') as last_ddl

oracle 重新编译用户无效对象

oracle sys用户无效对象 select owner,object_name , replace(object_type,' ','') object_type ,to_char(created,'yyyy-mm-dd') as created ,to_char(last_ddl_time,'yyyy-mm-dd') as last_ddl_time, status from dba_objects where status='INVALID' and owner='SYS'; OWNER

在ORACLE中找出并批量编译失效的对象

每次数据库升级之后,都需要对库中的对象进行重新编译一下.下面整理出了一个脚本,只需要执行一下就能批量编译这些失效的对象.需要注意的是:因权限问题,最好是选择sys用户来执行这个脚本,如是plsql developer中执行,记得选择"ALL USERS"      [[email protected] ~]$ cat check_compile.sql  set heading off;  set feedback off;  set echo off;  Set lines 999;

转://oracle 重新编译用户无效对象

select owner,object_name, replace(object_type,' ','') object_type,to_char(created,'yyyy-mm-dd') as created,to_char(last_ddl_time,'yyyy-mm-dd') as last_ddl_time,status from dba_objects where status='INVALID' and owner='SYS'; OWNER OBJECT_NAME OBJECT_T

ORACLE编译失效对象

 数据库对象失效原因 数据库对象失效的原因很多,下面大致归纳了一些常见的原因: 1: 当被引用对象的结构变更时,都会使得相关的依赖对象转变为INVALID状态. 数据库中的对象(存储过程,函数,包,视图,触发器),它们往往需要直接或者间接的引用其它对象,对象的依赖包括直接和间接二种,其中直接依赖是指存储对象直接依赖于被引用对象,而间接依赖是指对象间接依赖于被引用对象 要查看被引用的对象,可以通过下面SQL查看 SELECT * FROM dba_dependencies WHERE NAME

使用.bat 文件,批量编译项目文件。

使用.bat 文件,批量编译项目文件. 2008-6-1来源:www.aspcool.com 作者:PCJIM 点击:次 使用.bat 文件,批量编译由VS.NET生成的一个或多个解决方案中的各项目文件.将该批处理文件与Microsoft Visual SourceSafe结合起来使用,可以提高整个项目源代码的编译速度. 主要通过Devenv 命令行开关,Devenv 允许您设置集成开发环境 (IDE) 的各个选项,以及从命令行生成.调试和部署项目.使用这些开关从脚本或 .bat 文件运行 ID

处理Oracle数据中的无效对象

今天还原了一份数据库(在服务器上没有无效对象),还原在本地之后有三十几个无效对象,当时很是郁闷,然后我发现还原之后的数据库中缺少表! 开始我怀疑Oracle数据库的还原功能,但是在我创建表的时候发现,原来是我本地数据库中表空间和服务器上的不一致.然后我在网上找到了解决方案: select username, default_tablespace from dba_users where username='NAXZXXBM';--查找某用户的默认表空间alter tablespace USERS

重新编译无效数据库组件

You can validate different components in the database by running the script $ORACLE_HOME/rdbms/admin/catpatch.sql via SQL*Plus: spool catpatch.log connect / as sysdba shutdown immediate startup migrate @?/rdbms/admin/catpatch.sql @?/rdbms/admin/utlrp