查看PL/SQL编译时的错误信息
编译无效对象是DBA与数据库开发人员常见的工作之一。对于编译过程中的错误该如何去捕获,下面给出两种捕获错误的方法。
一、当前数据库版本信息及无效对象
1、查看当前数据库版本
[sql] view plain copy
print?
1.SQL> select * from v$version;
2.
3.BANNER
4.----------------------------------------------------------------
5.Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
6.PL/SQL Release 10.2.0.4.0 - Production
7.CORE 10.2.0.4.0 Production
8.TNS for Solaris: Version 10.2.0.4.0 - Production
9.NLSRTL Version 10.2.0.4.0 - Production
2、获得数据库中的无效对象
[sql] view plain copy
print?
1.set linesize 180
2.col object_name format a45
3.SELECT owner, object_name, object_type, status
4.FROM dba_objects
5.WHERE status = 'INVALID'
6. AND
7. object_type IN ('PROCEDURE', 'FUNCTION', 'TRIGGER', 'VIEW', 'PACKAGE');
8.
9.OWNER OBJECT_NAME OBJECT_TYPE STATUS
10. ------------------------------ --------------------------------------------- ------------------- -------
11. OTC_WRHS_POSITION OTC_WRHS_POSITION_PCK_tmp PACKAGE INVALID
3、编译无效对象(编译方法很多,在此不一一列出)
[sql] view plain copy
print?
1./**************************************************/
2./* Author: Robinson Cheng */
3./* Blog: http://blog.csdn.net/robinson_0612 */
4./* MSN: robinson_0612@hotmail.com */
5./* QQ: 645746311 */
6./**************************************************/
7.
8.--注意该包对象中包体的名字含小写字符,因此编译时使用双引号括起来
9.SQL> alter package "OTC_WRHS_POSITION"."OTC_WRHS_POSITION_PCK_tmp" compile body;
二、捕获编译错误
1、使用show errors捕获错误
[sql] view plain copy
print?
1.SQL> show errors;
2.No errors.
3.
4.SQL> show errors package body "OTC_WRHS_POSITION"."OTC_WRHS_POSITION_PCK_tmp";
5.No errors.
2、如果使用show errors无法查询到错误,直接查询视图dba_errors
[sql] view plain copy
print?
1.SQL> desc dba_errors;
2.Name Type Nullable Default Comments
3.-------------- -------------- -------- ------- ---------------------------------------------------------------
4.OWNER VARCHAR2(30)
5.NAME VARCHAR2(30) Name of the object
6.TYPE VARCHAR2(12) Y Type: "TYPE", "TYPE BODY", "VIEW", "PROCEDURE", "FUNCTION",
7."PACKAGE", "PACKAGE BODY", "TRIGGER",
8."JAVA SOURCE" or "JAVA CLASS"
9.SEQUENCE NUMBER Sequence number used for ordering purposes
10. LINE NUMBER Line number at which this error occurs
11. POSITION NUMBER Position in the line at which this error occurs
12. TEXT VARCHAR2(4000) Text of the error
13. ATTRIBUTE VARCHAR2(9) Y
14. MESSAGE_NUMBER NUMBER Y
15.
16. SQL> select owner,name,TEXT from dba_errors where owner='OTC_WRHS_POSITION' and name='OTC_WRHS_POSITION_PCK_tmp' and
17. 2 sequence=(select max(sequence) from dba_errors where owner='OTC_WRHS_POSITION');
18.
19. OWNER NAME TEXT
20. -------------------- ------------------------- ------------------------------------------------------------
21. OTC_WRHS_POSITION OTC_WRHS_POSITION_PCK_tmp PLS-00103: Encountered the symbol "ULL" when expecting one o
22. f the following:
23.
24. . ( ) , * @ % & = - + < / > at in is mod remainder not re
25. m
26. <an exponent (**)> <> or != or ~= >= <= <> and or like LI
27. KE2_
28. LIKE4_ LIKEC_ between || multiset member SUBMULTISET_
29. The symbol "." was substituted for "ULL" to continue.
30.
来源: http://blog.csdn.net/leshami/article/details/6913026
查看PL/SQL编译时的错误信息的更多相关文章
- 查看package编译时的错误信息及重新编译
开发时,一般都是使用PL/SQL工具进行开发,查看编译错误及重新编译都很简单,但是一般的生产环境是不允许连接外界工具的,只能在命令行中进行重新编译及查看,今天我就遇到了这个问题,现在总结如下: 1.获 ...
- 【转】正确理解PHP程序编译时的错误信息
我们编写程序时,无论怎样小心谨慎,犯错总是在所难免的.这些错误通常会迷惑PHP编译器.如果开发人员无法了解编译器报错信息的含义,那么这些错误信息不仅毫无用处,还会常常让人感到沮丧. 编译PHP脚本时, ...
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 错误分析
目录(?)[+] 1. 问题起因 最近在进行Oracle的一些操作时,总会遇到这个错误: ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小,错误如下: ORA-00604: ...
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小解决办法
1.今天写的存储过程在执行过程中,报如下错误. exec PRO_T_008pro_update_add_delete(17,1,1,1,1,45.0,54.0,45.0,45.0,45.0,54.0 ...
- 解决SVN Cleanup时遇到错误信息:Cleanup failed to process the following paths:xxxxxxx Previous operation has not finished: run 'cleanup' if it was interrupted Please execute the 'Cleanup' command.
解决SVN Cleanup时遇到错误信息:Cleanup failed to process the following paths:xxxxxxx Previous operation has no ...
- 在Linux下安装PHP过程中,编译时出现错误的解决办法
在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决办法 configure: error: libjpeg.(a ...
- 把Excel导入SQL server时出现错误
在把Excel导入SQL server时出现“未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 ”该 错误信息:未在本地计算机上注册“microsoft.ACE.oledb.12 ...
- PL/SQL连接时,报无法解析指定的字符串
前言: 工作原因,需要安装PL/SQL连接数据,oracle和PL/SQL都装好了,环境变量也配好了,启动PL/SQL进行连接数据库,结果报"无法解析指定的字符串",连接失败了. ...
- [开源类库/项目] android保存崩溃时的错误信息log至本地【源码+jar包+使用说...
不知大家是否经常遇到这种情况:自己的项目有时会在没有连接到电脑时发生崩溃,好不容易发现的bug结果连接到电脑时又复现不出来了:又或者自己写的一个功能在开机启动时产生小bug导致崩溃,而刚启动的机器想让 ...
随机推荐
- leetcode-mid-array-sorting and searching - 215 Kth Largest Element in an Array
mycode 77.39% class Solution(object): def findKthLargest(self, nums, k): """ :type n ...
- 基于RANSAC的点云面分割算法
该算法在RANSAC和空间检索树的基础上实现的. 算法思路: 1.点云抽希.法线估计 2.出局点索引存储声明 3.平面检测 for (size_t i = 0; i < cloudTemp-&g ...
- Vue知识整理11:列表渲染(v-for来实现)
简单的v-for结构显示迭代数据 通过value别名 显示下面各个属性值 通过index 和key获取同类数组索引,或者不同属性的key属性名
- 在项目中配置PageHelper插件时遇到类型转换异常
PageHelper是一种常用的分页工具,按照常规方法在mybatis的配置文件中整合它: <?xml version="1.0" encoding="UTF-8& ...
- 中国MOOC_面向对象程序设计——Java语言_期末考试编程题_1细胞自动机
期末考试编程题 返回 这是期末考试的编程题 温馨提示: 1.本次考试属于Online Judge题目,提交后由系统即时判分. 2.学生可以在考试截止时间之前提交答案,系统将取其中的最高分作为最终成 ...
- Spring的应用上下文ApplicationContext
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes() ...
- DWIN串口屏的使用
学习需要,根据dwin的官方文档及网络资料整理而来. 一. 基础知识理解 1.1.变量地址和描述指针 VP(变量地址)和SP(描述指针)通常是指显示变量功能的两种定义,两者共用0000到6FFF地址 ...
- 安装OpenStack计算服务(nova)
1. 配置数据库 数据库安装在控制节(controller)点上 $ mysql -u root -p 2.创建 glance 数据库 CREATE DATABASE nova; GRANT ALL ...
- MySQL-快速入门(10)触发器
1.什么是触发器 触发器是与表有关的命名数据库对象.触发器由事件来触发某个操作. 触发器是特殊的存储过程,触发器不需要call语句来调用,也不需要手工启动,只需要确定一个预定义的事件发生的时候,就会被 ...
- CAS单点登录系统--进阶
2.CAS服务端数据源设置 2.1需求分析 我们现在让用户名密码从我们的优乐选的user表里做验证 2.2配置数据源 (1)修改cas服务端中web-inf下deployerConfigContext ...