开发时,一般都是使用PL/SQL工具进行开发,查看编译错误及重新编译都很简单,但是一般的生产环境是不允许连接外界工具的,只能在命令行中进行重新编译及查看,今天我就遇到了这个问题,现在总结如下:

1、获取数据库中的无效对象:

  set linesize 180;
col owner format a10
col object_name format a45
col object_type format a20
col status format a20
SELECT owner, object_name, object_type, status
FROM dba_objects
WHERE status = 'INVALID'; OWNER OBJECT_NAME OBJECT_TYPE STATUS
---------- --------------------------------------------- -------------------- ------------------
YLPROD DMPAC_ENDOR PACKAGE BODY INVALID

2、编译无效对象

 SQL> alter package ylprod.dmpac_endor compile package;

 警告: 更改的包带有编译错误。

这是重新编译包体,package是重新编译包体和包规范。

SQL> alter package ylprod.dmpac_endor compile package;

3.捕获编译错误

 SQL> show errors;
PACKAGE YLPROD.DMPAC_ENDOR 出现错误: LINE/COL ERROR
-------- -----------------------------------------------------------------
21/3 PL/SQL: Declaration ignored
23/54 PLS-00302: 必须声明 'ENDORNO' 组件
27/3 PL/SQL: Declaration ignored
29/59 PLS-00302: 必须声明 'ENDORNO' 组件

或者

SQL> show errors package  ylprod.DMPAC_ENDOR
PACKAGE YLPROD.DMPAC_ENDOR 出现错误: LINE/COL ERROR
-------- -----------------------------------------------------------------
21/3 PL/SQL: Declaration ignored
23/54 PLS-00302: 必须声明 'ENDORNO' 组件
27/3 PL/SQL: Declaration ignored
29/59 PLS-00302: 必须声明 'ENDORNO' 组件

如果使用show errors无法查询到错误,直接查询视图dba_errors

SQL> select owner,name,TEXT from dba_errors where owner='YLPROD' and name='DMPAC_ENDOR';

OWNER       NAME
---------- ------------------------------------------------------------------------------------------
TEXT
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
YLPROD DMPAC_ENDOR
PLS-00302: 必须声明 'ENDORNO' 组件 YLPROD DMPAC_ENDOR
PL/SQL: Declaration ignored

最新文章

  1. 安卓Design包之超强控件CoordinatorLayout与SnackBar的简单使用
  2. ios UIWebView自定义Alert风格的弹框
  3. 关于iOS的runtime
  4. 快速排序,C语言实现
  5. RxJava基本流程和lift源码分析
  6. 译:泛型List集合转化为DateTable的扩展方法
  7. java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration解决方法
  8. BZOJ2621 [Usaco2012 Mar]Cows in a Skyscraper
  9. PYTHON 源码阅读
  10. [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)
  11. ASP.NET简单文件上传
  12. UIView 和 UIWindow 的学习内容
  13. C# 使用 USB转串 接收数据 问题
  14. angular4 中自定义pagination组件
  15. 在循环列表的富文本里摘出每个item的img标签内容(适合vue渲染)
  16. C#:往数据库插入/更新时候关于NUll空值的处理
  17. [经验交流] 影响 kubernetes 稳定性的因素
  18. nginx系列1:认识nginx
  19. QT | 一些学习心得
  20. Vue学习-基本指令

热门文章

  1. mysql 段错误 (core dumped)
  2. Cocos2dx-lua开发之c++绑定到lua
  3. sp_sys_ERPTrigger_base
  4. Out of Hay
  5. 提高 Linux 上 socket 性能
  6. 反射获取类中的属性和set属性
  7. java实现按拼音排序名称
  8. Codeforces 633B A Trivial Problem
  9. IOS Bug分析
  10. iOS内存管理编程指南