`

Oracle搜索编译有问题或者失效的存储过程,包,函数等

 
阅读更多

  Oracle 9i中,有的时候表增加或者删除字段,导致引用其的存储过程,函数,包等对象编译报错,需要重新手工编译一下才行。如何检查功能上线后是否有失效的对象,可以通过如下SQL实现:

 

select * 
 from user_objects 
where status <> 'VALID';

 

例子:从PL/SQL工具中看到如图三个存储过程有问题,我们用如上的SQL验证一下(PS:因为无效的存储过程不仅仅是这三个,为了缩小记录数,where条件中限制只查这几个存储过程是否失效)

 

 

 

使用我们的SQL 查询:

 

select object_name,object_type,status,created
 from user_objects 
where status <> 'VALID'
 and object_name in ('OMS_GET_IS_LAST','OMS_INIT_EXPENSE_STAFF','OMS_JITI_ALERT_EMAIL');

 

结果如图,正确查到失效的对象。

 

 

 

  • 大小: 7.1 KB
  • 大小: 12.3 KB
分享到:
评论

相关推荐

    oracle 视图,函数,过程,触发器自动编译脚本

    由于Oracle中的视图、函数(Function)、存储过程(Procedure)等对象之间存在着复杂的依赖关系,因此当某个对象被修改后,可能会导致与其相关的其他对象变得无效(Invalid)。在实际操作中,虽然我们会关注所修改的...

    数据库oracle触发器课件

    依赖性是Oracle数据库中重要的概念,数据字典跟踪了存储过程和函数所依赖的其他对象,如果依赖的对象发生变化,PL/SQL引擎会自动重编译。包的依赖性管理更复杂,包体的改变不会影响包头,但包头的改变会导致包体失效...

    一种PL_SQL程序包失效的解决方案.pdf

    在探讨PL/SQL程序包失效问题之前,首先要明确PL/SQL是Oracle数据库中的过程式SQL扩展,它为存储过程、函数、触发器等提供了强大的编程功能。程序包是PL/SQL的一种组织形式,包含了一组相关的过程、函数、变量、常量...

    Oracle高效SQL语句原则

    在编写 SQL 语句时,应该把一些常用功能模块用函数或存储过程封装,以提高 SQL 语句的可维护性和可重用性。 遵循这些 Oracle 高效 SQL 语句原则可以大大提高 SQL 语句的执行效率,减少数据库服务器的负载,提高应用...

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

    Oracle 提供了一个名为 utlrp.sql 的脚本,位于 $ORACLE_HOME/rdbms/admin 目录下,该脚本可以重新编译所有存在的 PL/SQL 模块(过程、函数、包、触发器、类型和视图)以恢复数据库的正常状态。 下面是使用 utlrp....

    Oracle数据库维护手册

    包括表、索引、视图、存储过程、函数等数据库对象的创建和管理,SQL DDL语句是主要工具,如CREATE TABLE、CREATE INDEX等。 2.7 失效数据库对象的检测和编译 通过查询DBA_OBJECTS视图可发现失效的对象,使用ALTER ...

    Oracle_plsql讲义:第23章 使用子程序和包.ppt

    * 存储子程序可以使用 DBMS_SHARED_POOL.KEEP 包过程来把编译后 p-code 代码存储在共享池中 * 局部子程序自身不能存储在共享池中独立的存储子程序不能进行重载,但同一包内的子程序可以重载 * 同一块中的局部子程序...

    oracle 编程艺术

    通过PL/SQL,开发人员可以编写存储过程、函数、包、触发器等,实现业务逻辑和数据库交互。理解PL/SQL的块结构、变量声明、异常处理和游标是成为Oracle开发者的必备技能。 3. **存储过程**:存储过程是一组预编译的...

    Oracle SQL必备参考(PDG)

    这份"Oracle SQL必备参考(PDG)"很可能包含了关于SQL语法、查询优化、事务处理、存储过程以及索引策略等多个关键领域的详细信息。下面,我将根据这些关键词为你深入解析Oracle SQL中的重要知识点。 一、SQL基础 ...

    Oracle8i_9i数据库基础

    第十六章 存储过程和函数 276 §16.1 引言 276 §16.2 存储过程 276 §16.2.1 创建过程 276 §16.2.2 使用过程 278 §16.2.3 开发存储过程步骤 279 §16.2.3.1 编辑存储过程源码 279 §16.2.3.2 对存储过程程序进行...

    Oracle DBA日常巡检最佳实践

    - **目的**:识别未编译的对象,如存储过程、函数等。 - **方法**:使用`SELECT * FROM dba_objects WHERE status='INVALID';`命令来查找所有无效的对象,并根据实际情况重新编译或修复这些对象。 **1.6 检查所有...

    ORACLE数据库日常工作维护知识总结.pdf

    - **方法**: 无效对象是指那些未编译或者编译失败的对象,如存储过程、函数等。可以通过 `DBA_OBJECTS` 视图并结合 `INVALID` 列来查找这些对象。 **3.6. 检查所回滚段状态** - **方法**: 回滚段用于记录事务的...

    Oracle 开发DBA SQL编写规范

    - 变量、函数、过程等命名需遵循一致性的规则,例如使用下划线分隔单词。 - 示例: ```plsql declare v_name varchar2(100); begin -- ... end; ``` ##### 3.2 过程及匿名块命名规范 - 过程及匿名块命名需...

    浅谈ORACLE中的SQL优化.pdf

    【SQL优化在ORACLE数据库中的重要性】 在数据库管理系统中,SQL(Structured Query Language)语句的性能直接影响着系统的管理效率。尤其是对于大型数据库管理系统,如ORACLE,SQL语句的优化是提升系统性能的关键...

    OracleMySQL数据库SQL编程规范.rar

    1. **PL/SQL**:Oracle提供了PL/SQL扩展,用于编写存储过程、函数和触发器。遵循PL/SQL的编程规范,如使用BEGIN/END块,声明变量,控制流程等。 2. **索引优化**:Oracle支持创建各种类型的索引,包括B树、位图、...

    oracle错误提示解释

    **错误描述**:在执行PL/SQL过程或函数时,无法正确加载所需的环境配置。 **解决方案**: - 确保所有依赖的PL/SQL包都已正确安装。 - 检查PL/SQL编译选项。 #### ORA-00035: LICENSE_MAX_USERS小于当前用户数 **...

    WMSYS 重建

    当遇到“WMSYS 重建”的情况,通常是因为WMSYS.WM_CONCAT函数出现了问题,例如可能由于误操作导致该函数失效或丢失,或者在升级数据库版本后需要重新配置。重建这个函数是恢复数据库正常运行的关键步骤。以下是重建...

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

Global site tag (gtag.js) - Google Analytics