在oracle数据库中显示异常,oracle存储过程异常信息的显示

oracle存储过程异常信息的显示

oracle存储过程异常信息的显示

之前写存储过程时,异常处理写法是:

...

EXCEPTION

WHEN OTHERS THEN

ROLLBACK;

END ...

这种写法当存储过程抛出异常时,我们不知道其到底抛出了哪种异常(比如列宽度不够大而在插入数据时抛异常),可以按如下方式显示异常信息

EXCEPTION

WHEN OTHERS THEN

DBMS_OUTPUT.put_line('sqlcode : ' ||sqlcode);

DBMS_OUTPUT.put_line('sqlerrm : ' ||sqlerrm);

ROLLBACK;

END ...

sqlcode是异常编号,sqlerrm是异常的详细信息,如果异常信息太多,可以截取一段显示,如

DBMS_OUTPUT.put_line('sqlerrm : ' ||substr(sqlerrm,1,100));是截取前100个字符显示出来。

转载自:http://layznet.javaeye.com/blog/592873

相关文档:

最近在使用Oracle做文件上传,要求将文件数据保存到数据库中。Oracle提供了Blob用来存储二进制大对象数据,可是它和Java.sql里面的Blob不兼容,经常导致Blob字段无法锁定或者操作失败。由于以前没有做过这样的例子,所以花了不少时间才解决。

我使用的是struts2.1.8+spring2.5+hibernate3.2,下面是相关代码:

spring配置 ......

1)Library Cache的命中率:

.计算公式:Library Cache Hit Ratio = sum(pinhits) / sum(pins)

SQL>SELECT SUM(pinhits)/sum(pins)    from V$LIBRARYCACHE;

通常在98%以上,否则,需要要考虑加大共享池,绑定变量,修改cursor_sharing等参数。

2)计算共享池内存使用率:

SQL>SELECT ......

Oracle常用分析函数

ROW_NUMBER

返回有序组中一行的偏移量,从而可用于按特定标准排序的行号

row_number() over(partition by ... order by ...)

RANK

根据ORDER BY子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置。组内的数据按ORDER BY子句排序,然后给每一行赋一个号,从而形成一个序列,该序� ......

Using Oracle Trace Analyzer (trcanlzr.sql)

Dave Moore:  Author of Oracle Utilities

Oracle has provided another utility initially designed for performance tuning Oracle Applications.  Trace Analyzer is provided in the form of a PL/SQL package (TRCA$ ).  The Trace Analyzer utility i ......

来源于http://hi.baidu.com/edeed/blog/item/33576327d1b73d00918f9dd4.html

本视图自启动即保持并记录各回滚段统计项。在学习本视图之前,我们先来了解一下回滚段(rollback segment)的相关概念:

回滚段概述

回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值)。回滚段的头部包含正在使用的该回滚段事务的� ......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值