数据库异常(数据库查询异常处理)
大家好,今天小编来为大家解答以下的问题,关于数据库异常,数据库查询异常处理这个很多人还不知道,现在让我们一起来看看吧!
招商银行app数据库发生异常
因暂时的通讯异常导致。
招商银行app数据库发生异常,招商银行客服回应中新财经称,app登录现已恢复,故障是因暂时的通讯异常导致。
数据库是按照数据结构来组织、存储和管理数据的仓库。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
数据库查询异常处理
今天晚上运营同事反馈了系统有个列表数据查询不出来,筛选某个条件又能查出数据来。当运营反馈时,立马收到线上报警邮件提示如下:
也就是抛出 MySQLDataException异常,由于定性思维的原因,一直在排查sql问题,不断尝试替换某个字段的数据拼接查询,最终还是失败了。由于经验较少,不断尝试column'15'这一列,心想没有15这个字段呀(思维方向错误了)。导致问题排查了两个小时;最后联想到INTEGER类型出错,干脆就直接查找mode里的对象与sql查询查询出来的字段作比较,最终发现其实是某个字段数据值长度突然大增(部门其他同事对接大厂时,修改了字段长度,然后我们这边的系统无意识到字段长度,还是使用Integer类型,最终导致异常出现),修改成long类型后解决,但这种修改方法也会随着时间问题变成一个坑。
总结今晚遇到的问题,就是以前菜的坑太少了,导致问题定位错误。错误日志:'1.00000539598E11' in column'15' is outside valid range for the datatype INTEGER翻译过来也就是“15”列中的“1.00000539598E11”超出了数据类型整数的有效范围。不是15那个字段,而是第15列(MB 太SB了)。因此在此做个笔记,以防以后继续犯类似思维错误。
数据库系统中故障可以分为哪几类
事务故障
系统故障
介质故障
一、事务故障
什么是事务故障
某个事务在运行过程中由于种种原因未运行至正常终止点
事务故障的常见原因
输入数据有误
运算溢出
违反了某些完整性限制
某些应用程序出错
并行事务发生死锁
事务故障(续)
事务故障的恢复
事务故障的恢复:事务撤消(UND)
恢复程序要在不影响其它事务运行的情况下,强行回滚(RBACK)该事务,即清除该事务对数据库的所有修改,使得这个事务象根本没有启动过一样
二、系统故障
什么是系统故障
由于某种原因造成整个系统的正常运行突然停止,致使所有正在运行的事务都以非正常方式终止。
发生系统故障时,内存中数据库缓冲区的信息全部丢失,但存储在外部存储设备上的数据未受影响
系统故障(续)
系统故障的常见原因
操作系统或DBMS
代码错误
操作员操作失误
特定类型的硬件错误(如CPU
故障)
突然停电
系统故障(续)
系统故障的恢复
1.
清除尚未完成的事务对数据库的所有修改
如果DBMS
无法确定哪些事务已更新过数据库,则系统重新启动后,恢复程序要强行撤消(UND
)
所有未完成事务,使这些事务象没有运行过一样。
2.
将已完成事务提交的结果写入数据库
如果DBMS
无法确定哪些事务的提交结果尚未写入物理数据库,则系统重新启动后,恢复程序需要重做(RED
)
所有已提交的事务。
三、介质故障
什么是介质故障
硬件故障使存储在外存中的数据部分丢失或全部丢失
介质故障比前两类故障的可能性小得多,但破坏性最大。
介质故障(续)
介质故障的常见原因
硬件故障
磁盘损坏
磁头碰撞
操作系统的某种潜在错误
瞬时强磁场干扰
介质故障(续)
介质故障的恢复
装入
数据库发生介质故障前某个时刻的数据副本
重做自此时始的所有成功事务
,将这些事务已提交的结果重新记入数据库
故障的种类小结
数据库系统中各类故障对数据库的影响
数据库本身被破坏
(介质故障)
数据库处于不一致状态
数据库中包含了未完成事务对数据库的修改(事务故障、系统故障)
数据库中丢失了已提交事务对数据库的修改(系统故障)
不同类型的故障应采用不同的恢复操作
故障的种类小结(续)
恢复操作的基本原理:简单
原理:利用
存储在系统其它地方的冗余数据
来重建
数据库中已经被破坏或已经不正确的那部分数据
恢复的实现技术:复杂
一般一个大型数据库产品,恢复子系统的代码要占全部代码的10%
以上
数据库中更新异常是什么意思
在包含冗余(不必要的重复)数据的关系中,三种更新操作均可能引起更新异常。因此,共有三种类型的更新异常:插入异常、删除异常和修改异常。
插入异常:是指当用户想要插入某一真实世界中实体的数据时,还必须输入另一个真实世界中的实体的数据。
删除异常:是指当用户想要删除某一真实世界中实体的数据时,还必须删除另一个真实世界中实体的数据。
修改异常:是指当用户要修改某一值时,同样的修改操作需要重复多次。
好了,关于数据库异常和数据库查询异常处理的问题到这里结束啦,希望可以解决您的问题哈!