数据库打补丁引起的问题

[复制链接]
查看11 | 回复0 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
OS:AIX
DB:9.2.0.1
系统一直在运行,今天把数据库补丁打到9.2.0.7 发现,并且运行了数据字典更新脚本catpatch.sql 和utlrp.sql ,运行程序,发现程序出错,开发人员说是打补丁引起的错误,奶奶的,郁闷,升级会引起程序出错,于是让开发人员调试程序,出错是java 程序中读一个表的时候出错,进一步调试,读表到java 程序的变量里面是正常的,没有oracle 错误,这样先排除数据库方面的问题,继续跟踪,发现在java 程序转换变量的时候出错了。也就是在格式化变量的时候出现错误了。奇怪。升级之前程序还好好的,是不是数据库真的有了问题,进一步研究,发现转换出错的字段的数据类型全不定义成了NUMBER 类型的,也就是数据库里面是0 的读出来之后就成0.0 了,所以导致程序转换格式出错。分析一下,这个系统是开发人员建立的表,有些整型的字段定义成了NUMBER 了,然后修改表结构把这些NUMBER 类型的字段修改成NUMBER(10) ,问题解决!
这个问题反映出了在定义整型数据类型的时候,一定要在NUMBER 中指定位数,而不能随便就是NUMBER ,因为NUMBER 任何数字都可以存储

还有就是升级为什么会引起这个问题呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行