几个关于oceanbase因系统原因 sql执行失败的案例

简介: 最近总结了一下关于oceanbase因为系统原因导致sql失败的例子

主要遇到的有5种情况:

1、由于合并操作导致sql执行失败的问题


这个问题在一个写入频繁系统中比较常见,之前也讲过怎么导致合并的。

在oceanbase合并期间,需要把内存中的数据落入到磁盘中,为了保证数据的一致性,会将正在执行的sql kill掉,但是sql并不是立刻kill,会保留100ms的时间给这个sql去执行,如果说执行不完成,就会被kill,哪怕是101ms。这时候就会导致sql执行失败。


2、由于sql执行时间超时,导致sql执行失败。


这个问题在所有的数据库中都会有,因为不可能放由一个sql无限时间去执行,ob数据库默认执行超时时间为10s,超过时间就会被系统kill。


3、事务执行超时,导致sql执行失败。


在应用中,一个事务可能由一个或者多个sql组成,有时候会发现,单条sql执行时间并没有超过10s,但是被系统kill了,为什么?

因为ob不单在单条sql上做了限制,而且会在整个事务的时间上做限制,默认事务超时时间为100s,如果这个事务有n个sql组成,这n-1个sql执行的时间加起来如果超过了100s,或者接近100s,那么最后一个sql可能刚开始执行就被kill,也可能执行的机会都没有,就将整个事务kill了。


4、由于memstore打满,导致sql执行失败。


这个原因也是由于合并操作导致的,在合并过程中,后续的写入操作会被记录到memstore里面,如果memstore在合并过程中写满,但是合并操作还没有完成,那么这个时候sql就会写入不进来,报错memstore已用满。


5、合并期间,location cache没有及时更新导致sql执行失败。


如果一个sql涉及多server执行,ob数据库的合并方式是轮训合并,每台server一次合并。那么再合并期间,或者合并完成后的一会,会导致sql执行失败,原因就是因为location cache没有更新到最新的,为了保证数据的一致性,ob会将这个sql杀死。


这是最近遇到的关于ob系统会将sql kill的几个常见的情况~,如果以后还遇到会及时补充。

目录
相关文章
|
12天前
|
OLAP OLTP OceanBase
构建基于 OceanBase 的混合事务与分析处理(HTAP)系统
【8月更文第31天】 随着业务复杂性的增加,企业需要同时处理大量的在线事务处理(OLTP)和在线分析处理(OLAP)。传统的做法是维护两个独立的系统,分别用于事务处理和数据分析。然而,这种分离的方式不仅增加了运维的复杂度,还可能导致数据不一致的问题。为了解决这些问题,混合事务与分析处理(Hybrid Transactional/Analytical Processing, HTAP)的概念应运而生。OceanBase 作为一款支持 HTAP 的分布式数据库系统,能够同时满足事务处理和分析查询的需求。本文将介绍如何利用 OceanBase 构建 HTAP 系统。
28 1
|
3月前
|
SQL 监控 关系型数据库
实际应用中监控和诊断SQL语句执行情况的具体案例
实际应用中监控和诊断SQL语句执行情况的具体案例
|
12天前
|
SQL 关系型数据库 MySQL
OceanBase 的 SQL 兼容性与优化
【8月更文第31天】随着分布式计算的发展,越来越多的企业开始采用分布式数据库来满足其大规模数据存储和处理的需求。OceanBase 作为一款高性能的分布式关系数据库,其设计旨在为用户提供与传统单机数据库类似的 SQL 查询体验,同时保持高可用性和水平扩展能力。本文将深入探讨 OceanBase 的 SQL 引擎特性、兼容性问题,并提供一些针对特定查询进行优化的方法和代码示例。
39 0
|
14天前
|
SQL 存储 关系型数据库
5大步骤+10个案例,堪称SQL优化万能公式
5大步骤+10个案例,堪称SQL优化万能公式
|
2月前
|
SQL 存储 安全
数据库数据恢复—SQL Server数据库出现逻辑错误的数据恢复案例
SQL Server数据库数据恢复环境: 某品牌服务器存储中有两组raid5磁盘阵列。操作系统层面跑着SQL Server数据库,SQL Server数据库存放在D盘分区中。 SQL Server数据库故障: 存放SQL Server数据库的D盘分区容量不足,管理员在E盘中生成了一个.ndf的文件并且将数据库路径指向E盘继续使用。数据库继续运行一段时间后出现故障并报错,连接失效,SqlServer数据库无法附加查询。管理员多次尝试恢复数据库数据但是没有成功。
|
3月前
|
SQL Java 数据库连接
2万字实操案例之在Springboot框架下基于注解用Mybatis开发实现基础操作MySQL之预编译SQL主键返回增删改查
2万字实操案例之在Springboot框架下基于注解用Mybatis开发实现基础操作MySQL之预编译SQL主键返回增删改查
54 2
|
3月前
|
SQL 关系型数据库 MySQL
MySQL数据库——索引(3)-索引语法(创建索引、查看索引、删除索引、案例演示),SQL性能分析(SQL执行频率,慢查询日志)
MySQL数据库——索引(3)-索引语法(创建索引、查看索引、删除索引、案例演示),SQL性能分析(SQL执行频率,慢查询日志)
40 2
|
3月前
|
关系型数据库 MySQL 数据库
深入OceanBase分布式数据库:MySQL 模式下的 SQL 基本操作
深入OceanBase分布式数据库:MySQL 模式下的 SQL 基本操作
|
3月前
|
SQL 关系型数据库 PostgreSQL
【sql】PostgreSQL物化视图表使用案例
【sql】PostgreSQL物化视图表使用案例
32 0
|
4月前
|
SQL 数据处理 HIVE
实时计算 Flink版产品使用合集之将OceanBase的CDC数据导入到Flink SQL的任务的步骤是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。

热门文章

最新文章