oracle - sql_error_错误
1.invalid number:
本身是字符串格式还要转换成字符串格式
2.a non-numeric charactor was found where a numeric was expected :
本身是日期格式还转成日期格式
3.column ambiguously defind:
字段含糊不清,几个表中都有,得指定是哪个表的字段
4.Character to numeric conversion error
本来是三位数,要转换成两位数,比如273.4转换to_char(273.4,'99.9')成两位数,就会报错
5. ORA-04063: package body "FAST.PKG_ZCOMMISSIONSTATR" has errors
方法存储过程出现了错误,之前可以通过编译运行,现在不可以了,一般是表结构,OB,NT出现了改变
6. ORA-06508: PL/SQL: 无法找到正在调用 的程序单元
那是OB没有写body
create or replace type body ob_shareholdersrewardtrack is -- Member procedures and functions CONSTRUCTOR FUNCTION ob_shareholdersrewardtrack RETURN SELF AS RESULT is begin return; end; end;
7.同样的pkg在这个环境编译(图片中以dev结尾)不通过(卡死,没反应,要结束进程才行),但是在例外一个环境(图片中以orcl结尾)却可以,这是资源环境问题(中午一段时间没弄,下午编译可以了),环境即
8.执行pkg时遇到:Oracle ora-00060 等待资源时检测到死锁
执行此sql:select spid,osuser
from v$session s, v$process p
where s.paddr = p.addr
and s.sid in (select sid from v$access where object = 'PKG_SMSSEND_PROC');--记得名字是大写的
然后在服务器上(我的数据库部署在linux系统上)用:kill -9 spid 命令结束进程就可以
ORA-12801: error signaled in parallel query server P025
由于撤销表空间不够,联系数据库服务商
ORA-01555: ORA-01555: snapshot too old: rollback segment number 21 with name "_SYSSMU21$" too small
数据库缓冲区太小,联系数据库服务商
ORA-01410: invalid ROWID:
由于抽取数据过程中,动态数据被删除异致(三个小时前,你已经把数据都收集过来了,由于数据量过大,当任务线程处理到某条数据时已经过了一段,而当前这条数据被别人删除,只能try catch continue 跳过本条数据)
ORA-03115: unsupported network datatype or representation:
1)驱动包版本过低,换成classes12.jar、ojdbc14.jar,对应版本下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html
2)如果字段类型是binary_double,则取得数据时用rs.getBigDecimal("binary_double_column"),本环境jdk1.7,因为脑残客户,有的表binary_double类型存的是日期如:20131227,有的是存的金额120,rs.getDouble,日期则会是2.0131227E7,金额会正常显示
3)因为公司系统建立的时间比较早,有一个驱动包是commonlib.jar,其实就是当初对应jdk1.0或1.1的驱动包,导致有的类用的它的,有的类用的ojdbc14.jar,所以之前无论如何都不能解决此异常,我是这样发现这个问题的:Class.forName("oracle.jdbc.driver.OracleDriver");点击OracleDriver的超链接发现他的class是跑到commonlib.jar了,就解决了此问题
ORA-06502: PL/SQL: numeric or value error: character string buffer too small ORA-06512: at "SA.SFZH18TO15", line 8
两种原因:第一,你查询时接受字段太小,比数据库里面对应的字段小,查询时报错
第二,你定义的字段太大,比对应的那张表里面的那个字段大,往数据库里面insert时那个字段会报错
java.sql.SQLException: Io exception: Connection reset
连接重置嘛,原因很多种,连接池问题,数据库问题,我们系统采取的措施是尝试连接五次,之后就断掉
user_tab_cols换成ALL_TAB_COLS解决user_tab_cols这个视图只能看到自己账号的表字段结构
posted on 2012-05-30 12:21 lovebeauty 阅读(1801) 评论(0) 编辑 收藏 举报