CREATE OR REPLACE PROCEDURE PRC_COMPILE_INVALID
IS
--/************************************************************************************
-- 程序名称: PRC_COMPILE_INVALID
-- 功能描述: 每天编译失效的存储过程和失效的索引
v_sql VARCHAR2(10000) DEFAULT ''; -- 动态SQL变量,注意SQL长度
v_prc VARCHAR2(40);
v_date VARCHAR2(8);
v_stepnum NUMBER DEFAULT 0; -- 运行步骤
v_errmsg VARCHAR2(1024) DEFAULT '正常';
BEGIN
v_prc:='PRC_COMPILE_INVALID';
SELECT to_char(SYSDATE,'yyyymmdd') INTO v_date FROM dual;
--正文SQL处理
--循环将无效存储过程取出 对其进行编译
v_stepnum :=v_stepnum+1;
For x In (Select Object_Name From user_objects Where Status = 'INVALID' And Object_Type = 'PROCEDURE') Loop
v_sql := 'Alter Procedure ' || x.Object_Name || ' COMPILE';
Begin
EXECUTE IMMEDIATE v_sql;
PRC_LOG_WRT(v_date,v_prc,v_stepnum,v_sql,v_errmsg,SQL%ROWCOUNT);
COMMIT;
End;
End Loop;
--将无效索引取出 对其进行编译
v_stepnum :=v_stepnum+1;
FOR y In (SELECT t.index_name from all_indexes t WHERE t.owner='DBCHNADM' AND t.status='UNUSABLE') Loop
v_sql := 'ALTER INDEX '||y.index_name ||' rebuild ';
Begin
EXECUTE IMMEDIATE v_sql;
PRC_LOG_WRT(v_date,v_prc,v_stepnum,v_sql,v_errmsg,SQL%ROWCOUNT);
COMMIT;
End;
End Loop;
-- 存储过程错误信息记录
EXCEPTION
WHEN OTHERS THEN
v_errmsg := v_stepnum || '步出错:' || SQLERRM;
PRC_LOG_WRT(v_date,v_prc,v_stepnum,v_sql,v_errmsg,-1);
COMMIT;
END;
分享到:
相关推荐
### Oracle视图、函数、过程、触发器自动编译脚本知识点详解 #### 一、背景与需求 在日常管理维护Oracle数据库服务器的过程中,我们经常会遇到需要修改视图(View)、表(Table)结构的情况。由于Oracle中的视图、...
在使用Eclipse这一强大的Java开发工具时,可能会遇到一些问题,比如标题中提到的"Eclipse无法自动编译出class文件"。这个问题对于开发者来说是非常困扰的,因为这直接影响到代码的实时测试和调试。让我们深入探讨...
在更新过程函数视图同样会造成引用其的过程函数视图失效,通常情况下,当功能调用失效的过程函数会自动编译,但是正在运行的过程函数,是不能编译成功的,所以大量的并发用户访问数据库时,会因为一些过程函数的失效而...
而存储过程则是一组预编译的SQL语句,可以接收参数,执行复杂的业务逻辑,并返回结果。它们在数据库设计中起到提高性能、封装复杂操作和提供安全性的关键作用。 当视图或存储过程出现错误,如依赖的表或列已不存在...
Oracle 总是会尝试自动重编译无效的 PL/SQL 对象和视图,但是可能不会成功。下面将详细介绍如何标识和修正无效的数据库对象。 标识无效的对象 ----------------- 为了标识数据库中的所有无效的对象,我们可以作为...
在这种情况下,文章建议逐步实施代码改造,并在改造的过程中密切监控错误的发生,定期检测失效的程序包,并通过失败检测机制自动进行重新编译处理。这样可以在不影响系统稳定性的情况下,逐渐提高程序包的健壮性和...
然而,随着数据的增删改,原有的索引可能会变得效率低下,甚至失效,这就需要我们定期检查并可能重新编译索引。 在标题提及的“检查该重新编译的索引”过程中,我们主要关注以下几个方面: 1. **索引碎片**:当...
SQL存储过程是一种预先编译好的SQL代码块,存储在数据库中供外部程序调用。它可以包含复杂的逻辑控制语句和数据库操作,提高应用程序的性能和安全性。 #### 二、SQL存储过程的优点 1. **性能**:减少网络流量,提高...
开发者需要确保更新过程安全无误,不会破坏现有数据或导致功能失效。 6. **文档参考**:提供的两个文档“WinForm程序创建证书、签名、安装、发布、自动更新全过程.docx”和“WinForm应用程序发布_安装_更新记录....
但实际是否能存储在寄存器取决于编译器和可用资源,如果无法满足,编译器会自动降级为自动变量存储。 3. 全局变量: - 没有`static`修饰的全局变量在整个程序运行期间都存在,且在整个源文件或所有文件(如果未...
描述中提到的问题是在实现过程中遇到了一个具体的bug,即使用笔记本的触摸板进行粘贴操作时,自定义的自动完成功能无法正常触发。这可能是因为在重新编写代码时,没有正确处理触摸板的粘贴事件。在JavaScript编程中...
在项目开发过程中,`.classpath` 和 `.project` 文件是Java开发环境配置文件,它们定义了项目的构建路径和编译规则;`bin` 目录存放编译后的类文件;`.settings` 文件夹包含项目的特定配置信息;`src` 目录存储源...
这可以有效地减少不必要的静音片段,节省存储空间,并提高后续处理的效率。 本篇将详细介绍如何利用`arecord`和VAD技术在Linux上创建一个根据说话人自动停止录音的解决方案。首先,我们需要了解`arecord`的基本用法...
然而,"3d资源已失效-无下载"的标题暗示了可能存在一个问题,即用户尝试访问或下载的3D资源已经不再可用,这可能是由于链接过期、源文件被移除或者服务器问题导致的。 `.editorconfig` 是一个跨平台的配置文件,它...
具体地,情景库负责存储和维护不同的检测情景和智能化脚本,为回归测试过程创造便利条件。仿真引擎负责将智能化检测脚本进行原始化处理,并驱动各个子系统按照预定的模拟时钟运行。软件层次集成主机则基于操作系统的...
6. **日志与数据存储**:收集运行过程中的日志和数据,保存为数据集,方便后续分析和优化。 Go语言的特性使得这个工具能够高效、稳定地运行在各种环境中。同时,由于Go语言支持并发处理,所以这个工具很可能具备...
它通过程序存储在可编程的存储器中,实现定时逻辑运算、顺序控制等功能。PLC技术由于其在抗干扰能力、维护和改造便捷性、实用性等方面的优势,已广泛应用于工业生产的设备自动化控制中。 1. PLC技术的优势 1.1 抗...
- **创建Java存储过程**:首先需要编写Java类并编译成.class文件,然后通过SQL语句将这些文件加载到数据库中,最后定义存储过程的输入输出参数。 - **调用Java存储过程**:与传统的T-SQL存储过程类似,只需要使用...
6. **动态SQL或参数化查询**:在动态SQL语句中,数据库无法在编译时预知实际的查询条件,可能无法利用索引。 7. **数据量小**:对于非常小的表,创建索引可能反而增加不必要的开销。 了解这些知识点后,你可以根据...