Oracle中无效数据库对象的处理方法

Oracle总是会尝试自动重编译无效的PL/SQL对象和视图,但是可能不会成功。虽然Oracle可能建议手动地进行编译,不过我们并非必须进行这个操作。通常无效对象的产生是由于数据库迁移,针对无效对象,我们可以采取重编译和索引重建。

1.1、标识无效的对象

为了标识数据库中的所有无效的对象,我们可以作为SYSTEM用户或其他有权限的用户做如下查询。

SQL> select owner, object_name, object_type

from dba_objects

where status = 'INVALID';

1.2、修正无效的对象

编译对象

SQL> alter procedure ADD_NUMS compile;

Procedure altered.

如果编译成功,就不存在问题,如果编译失败,就需要找出失败的原因。

SQL> show errors

如果希望确定编译错误的原因,通常需要首先使用DBA_DEPENDENCIES视图。

SQL> desc dba_dependencies;

Name Null? Type

----------------------------------------- -------- ---------------

OWNER NOT NULL VARCHAR2(30)

NAME NOT NULL VARCHAR2(30)

TYPE VARCHAR2(17)

REFERENCED_OWNER VARCHAR2(30)

REFERENCED_NAME VARCHAR2(64)

REFERENCED_TYPE VARCHAR2(17)

REFERENCED_LINK_NAME VARCHAR2(128)

DEPENDENCY_TYPE VARCHAR2(4)

如果要重新编译成百上千的的无效对象,可以运行下面命令。

SQL> @?/rdbms/admin/utlrp

--编译无效对象脚本utlrp.sql

oracle失效对象是什么意思,Oracle中无效数据库对象的处理方法相关推荐

  1. @async方法不调用了_在Spring中使用Future对象调用Async方法调用

    @async方法不调用了 下一个示例将演示Spring容器内部的异步方法调用. 为什么我们需要异步方法调用? 在某些情况下,我们并不真正知道是否需要重播或何时应返回结果. 传统方式在Java EE世界 ...

  2. 在Spring中使用Future对象调用Async方法调用

    下一个示例将演示Spring容器内部的异步方法调用. 为什么我们需要异步方法调用? 在某些情况下,我们并不真正知道是否需要重播或何时应返回结果. 传统方式在Java EE的异步处理世界中,使用队列/主 ...

  3. Oracle中的数据库对象

    原文地址:https://www.cnblogs.com/linhuide/p/5804878.html 参考地址:http://www.cnblogs.com/lovemoon714/archive ...

  4. 如何使用mysql建立项目_【dbForge Studio for MySQL入门教程】如何在项目中使用数据库对象和如何使用项目构建配置...

    重命名数据库对象 要从项目重命名对象,请执行以下步骤: 1. 在" Schema View "窗口中右键单击该对象. 2. 从快捷菜单中选择" Rename " ...

  5. mysql数据库三级分类_5.在 MySQL数据库中,以下数据库对象与数据库三级模式对应关系正确的是?...

    展开全部 一.数据库系统的三636f707962616964757a686964616f31333433616139级模式:外模式.模式.内模式. 1.模式(逻辑模式.概念模式):实际上是数据库数据在 ...

  6. python中操作数据库中游标的使用方法

    cursor就是一个Cursor对象,这个cursor是一个实现了迭代器(def__iter__())和生成器(yield)的MySQLdb对象,这个时候cursor中还没有数据,只有等到fetcho ...

  7. 关于OleDbCommand中操作数据库的几种方法的区别

    在vb.net中利用OleDb的OleDbCommand类操作数据库,有以下这些方法: ExecuteNoQuery() 返回值类型integer,常用来执行增删改操作,返回操作影响的行数 Execu ...

  8. oracle库缓存锁,Laravel 7.10 中的数据库缓存锁定和并发限制

    最近, Laravel 团队发布了 v7.10.0 版本,该版本主要修改如下: 数据库驱动缓存锁的支持 session 会话的并发限制以及简化断言测试 除此之外,Laravel v7.10.0 还包含 ...

  9. oracle存储过程无效字符_Oracle中无效存储过程的重新编译方法

    在SQL_PLUS中: spool ExecCompProc.sql select 'alter procedure '||object_name||' compile;' From all_obje ...

最新文章

  1. 解决程序与mysql的乱码问题
  2. 子元素margin-top影响父标签原因
  3. 20161228阅读笔记
  4. 字符串(0-9和小数点)转为数字--atof,数字转化为字符串--sprintf
  5. [支持库] 易语言超文本浏览框支持库3.1#51
  6. SpringBoot回顾
  7. 生命html文档,Web前端第一季(HTML)
  8. 将.NET dll注册到GAC(Global Assembly Cache)中
  9. df满足条件的值修改_如何用python实现熵值法求指标权重(实例)
  10. Java学习笔记1---JVM、JRE、JDK
  11. JSP项目《教师年终个人成果统计系统的设计与应用》实战(一)——密码加密算法...
  12. 编译编译时,用不到的库,一定不要链接
  13. Cortex-M4-SPI总线-读写W25Q64(二)
  14. 08 Python 文件和数据格式化
  15. PySpark机器学习 ML
  16. 情感分析之PMI互信息
  17. 字符串与16进制的转换
  18. 【生活】零基础素描学习记录
  19. 1.操作系统如何从BIOS到MBR的
  20. 提高论文写作能力的方法论

热门文章

  1. 谢钦个人资料简介,,正是百收集团的主要创办人之一
  2. qos 流控功能_01-QoS通道限速功能典型配置举例
  3. ChatGPT超级智能体改写人类未来的宇宙大冒险!|小智ai
  4. 黑客新手基础扫盲贴(上) 黑客基地 黑客传说 黑客帝国 指间的黑客 黑客网站
  5. 第五十七周总结——坎坎坷坷的一周
  6. WebOffice基于浏览器的Office移动办公利器
  7. B2B电商的几大核心问题
  8. Java-BigInteger类(详解)
  9. 《快递查询-您身边的快递助手-技术支持》
  10. Teminator 终端终结者