【技术实现步骤摘要】
数据库的数据操作错误的处理方法、存储介质与设备
[0001]本专利技术涉及数据库
,特别是涉及一种数据库的数据操作错误的处理方法、存储介质与设备。
技术介绍
[0002]现有数据库管理系统中会通过批量更改提升性能。这些批量更改包括:批量的插入(insert),批量的删除(delete),批量的修改(update)以及批量加载。但是数据库表上的约束或者触发器有可能中断批量操作,导致整个事务回滚。在这种情况下,已经写入的数据就会被丢弃,这会导致存储空间、读写资源的浪费以及数据库的实际体验的下降。即使少量的数据错误也会导致整个批处理任务失败。
[0003]针对上述问题,数据库系统会建立适当的容错机制。当出现错误的情况下跳过这个错误的操作以及该错误行触发的相关修改,继续进行其后的修改。通常由于后续的执行逻辑被跳过,因此导致很多内存侧的资源没有得到有效的释放。这可能会导致资源泄露。
技术实现思路
[0004]本专利技术的一个目的是要提供一种能够解决上述任一问题的数据库的数据操作错误的处理方法、存储介质与设 ...
【技术保护点】
【技术特征摘要】
1.一种数据库的数据操作错误的处理方法,包括:启动批量数据操作,对所述批量数据操作中的每行操作的上下文进行记录;执行对批量数据操作,并监测操作结果;在所述批量数据操作中某条数据的操作出现失败的情况下,对失败操作进行回滚;根据记录的所述上下文释放所述失败操作占用的资源。2.根据权利要求1所述的数据库的数据操作错误的处理方法,其中,所述根据记录的所述上下文释放所述失败操作占用的资源的步骤包括:根据所述上下文索引预设类型的资源分配信息;按照所述资源分配信息释放对应的资源。3.根据权利要求2所述的数据库的数据操作错误的处理方法,其中,所述预设类型的资源分配信息包括以下任一种或多种资源的信息:内存上下文、元组描述符、表内存缓存、系统表缓存、缓冲缓存、计划缓存、结果级缓存。4.根据权利要求1所述的数据库的数据操作错误的处理方法,其中,所述执行对批量数据操作并监测操作结果的步骤包括:读取所述批量数据操作中一条被操作元组,并记录预写日志的位置,作为所述被操作元组的操作起始位置;执行对所述被操作元组的操作,并在所述执行过程中进行预写日志的记录;获取所述被操作元组的操作结果。5.根据权利要求4所述的数据库的数据操作错误的处理方法,其中,所述执行对所述被操作元组的操作的步骤包括:确定所述数据库被操作的目标表,在所述目标表上进行所述被操作元组的操作,判断所述被操作元组的操作是否触发关联操作,若是,则执行所...
【专利技术属性】
技术研发人员:季业,王建华,
申请(专利权)人:北京人大金仓信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。