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)的相关概念:
回滚段概述
回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值)。回滚段的头部包含正在使用的该回滚段事务的� ......