ORACLE中如何批量编译无效对象

SET feedback OFF

SET heading OFF

SET linesize 1000

SET pagesize 0

SET pause OFF

SET trimspool ON

SET verify OFF

spool tmp.sql;

--组装SQL语句

SELECT 'alter '||object_type||' '||owner||'.'||object_name||' compile;'

FROM all_objects

WHERE status = 'INVALID'

AND object_type in

('FUNCTION','JAVA SOURCE','JAVA CLASS','PROCEDURE','PACKAGE','VIEW','TRIGGER');

--组装SQL语句

SELECT 'alter package '||owner||'.'||object_name||' compile body;'

FROM all_objects

WHERE status = 'INVALID'

AND object_type = 'PACKAGE BODY';

spool OFF;

--执行脚本

@tmp.sql

最后请注意登录ORACLO的权限

时间: 2024-11-16 04:26:53

ORACLE中如何批量编译无效对象的相关文章

ebs 编译无效对象——adutlrcmp.sql not giving promt

今天在给R12升级到12.1.3的时候,要安装一个补丁,  打最大的一个patch  p9239090 的时候, 前面还算正常, 到了数据库 编译无效对象的时候,一直不结束,第一次做,有点束手无措,最后从网上找了一些参考,整理了一下: 首先,我的环境是这样提示的: Telling workers to quit... All workers have quit. Dropping FND_INSTALL_PROCESSES table... FND_INSTALL_PROCESSES table

oracle 编译无效对象

1.手动编译 如果无效对象的数量很少,那么你可以逐个编译这些对象. 如 ALTER PACKAGE my_package COMPILE; ALTER PACKAGE my_package COMPILE BODY; ALTER PROCEDURE my_procedure COMPILE; ALTER FUNCTION my_function COMPILE; ALTER TRIGGER my_trigger COMPILE; ALTER VIEW my_view COMPILE; 你也可以用

Oracle Compile 编译无效对象(ORA-04063: package body

使用AUTOTRACE 前要做好准备工作 创建角色Plustrace SQL>        @?/sqlplus/admin/plustrce.sql 将Plustrace角色授于要执行AUTOTRACE的用户 SQL>        grant plustrace to sst; ----------------------------------------------------以上用sys身份执行 设置启用AUTOTRACE SQL>        set autotrace

Oracle中提取和存储数据库对象的DDL

oracle|对象|数据|数据库     从对象(例如数据库表.索引.约束.触发器等)中提取DDL命令的普通方法涉及到的操作包括从这些对象中提取元数据(metadata),并把这些数据存储在内存中.尽管目前有很多脚本可以实现这样的功能,但是它们通常都是不完整的或者过时的.幸运的是,Oracle 9.2提供了一个实现这样的功能的API:DBMS_METADATA程序包. 在很多情况下,数据库中数据的维护操作要求我们提取多种对象(例如数据库表.索引.约束.触发器等)的DDL(Data Definit

c# ,在Oracle 中,对 blob 类型对象的操作

oracle|对象 尝试的情况是,提供一个TEXT 框,让用户输入,允许输入非常多的值,保存到Oracle 数据库中. 为了能够大量数据保存,因此,对字段类型设置为 blob 型 .网络上的类似帮助太复杂了,发现如果只是文件内的操作,还是比较简单的.思路:1.先将text 文本转变成2进制 byte[] ddd; ddd = System.Text.Encoding.Unicode.GetBytes(this.textBox1.Text); 2.再将该2进制存入数据库中,发现这种对数据库的访问方

ORACLE中如何批量更新关联表

在SQL SERVER中,关联表的批量更新,可以参看这里: http://www.cnblogs.com/downmoon/archive/2007/12/29/1019832.html Oracle下没找到好的语法,临时用这个: update employee set hrdeptname= (select d.DEPTNAME from DEPARTMENT d where ROWNUM=1 and d.deptID=employee.hrdeptID ) 对应的SQL Server语法:

重新编译PLSQL中的无效对象或者指定的对象 的方法_oracle

Oracle   Tips,   Tricks   &   Scripts      1.   Topic:   Compiling   Invalid   Objects:      Oracle8i   and   Oracle9i   provides   a   script   called   utlrp.sql   located   in   $ORACLE_HOME/rdbms/admin   which   can   be   used   anytime   to   r

ORACLE编译失效对象

在日常数据库维护过程中,我们会发现数据库中一些对象(包Package.存储过程Procedure.函数Function.视图View.同义词.....)会失效,呈现无效状态(INVALID).有时候需要定期检查数据库中存在哪些失效对象,对于存在异常的对象需要重新编译,有些自动失效的对象,一般会在下次调用的时候,会被重新编译,所以这些不需要人工干预.那么为什么对象突然会失效呢?又如何快速.高效的编译失效对象呢?哪些失效的对象不需要我们去重新编译呢? 数据库对象失效原因 数据库对象失效的原因很多,下

ORACLE编译失效对象小结

在日常数据库维护过程中,我们会发现数据库中一些对象(包Package. 存储过程Procedure.函数Function.视图View.同义词.....)会失效,呈现无效状态(INVALID).有时候需要定期检查数据 库中存在哪些失效对象,对于存在异常的对象需要重新编译,有些自动失效的对象,一般会在下次调用的时候,会被重新编译,所以这些不需要人工干预.那么为什 么对象突然会失效呢?又如何快速.高效的编译失效对象呢?哪些失效的对象不需要我们去重新编译呢? 数据库对象失效原因 数据库对象失效的原因很