故障诊断 Oceanbase “ORA-00600: internal error code, arguments: -4013, No memory or reach tenant memory limit” 特烦恼
昨天Oceanbase V4.3发布会,因为工作忙原因无法现场参加学习,近几年国产数据库在快速迭代,无论是bug修复还是功能引进,OB的版本的迭代速度和客户发展速度是值得肯定,但是似乎在稳定性和知识库上还是存在一些问题,就在OB发布会的同一天,我们另一批人因为新上的Oceanbase在焦急的处理着故障,一个租户的内存耗尽,然后级联的活动会话增加,CPU耗尽到重启。SQL限流失败,提示ORA-00600: internal error code, arguments: -4013, No memory or reach tenant memory limit, 查看内存使用率。
如何查看ocenabase的冻结、转储、合并?
在OceanBase数据库中,有多种维护操作用于确保数据的一致性和提高性能,其中包括冻结(Freeze)、转储(Dump)和合并(Merge)。这些操作对于数据库的健康运行至关重要。下面分别介绍如何查看这些操作的状态和相关信息。
Oracle、Oceanbase、TiDB、GaussDB集中式数据库比较系列(二十三):同城双中心常用架构
数据是企业的重要生产要素,确保数据不丢失是大多数客户的核心目标。然而,要实现这一目标的高可用容灾方案不仅依赖于数据库产品的架构支持,还需要硬件成本的投入。同城双机房的配置在客户中较为普遍,如果追求RPO=0,无论是分布式数据库还是集中式数据库,个人了解到目前主流的数据库使用架构
Oceanbase不建议你模仿Oracle的错误编号(ORA-NNNNN)!
故事从一个客户正在将数据库平台从Oracle迁移到OceanBase的过程中说起。在并轨生产运行过程中,应用报告了ORA-54错误号,这让Oracle的数据库管理员感到震惊,并花费了大量时间来进行分析。然而,他们最终发现这个错误是由OceanBase的驱动程序报出的。在尤其有些客户一点儿问题全中心排查躁动,这类报错让Oracle DBA分析oracle数据库,确实会让人要想爆粗,浪费了甲方的付费的乙方资源,同时还不利于故障定位。 下面对比一下oracle和oceanbase的resource busy报错。
OceanBase执行计划(一):索引与回表访问
在oceanbase中对于表与索引的访问路径在查看执行计划时,发现和oracle理解还是有一定的区别, 例如在oracle中full table scan只访问表, TABLE ACCESS BY INDEX ROWID 配合 index range scan或INDEX UNIQUE SCAN是索引扫描加回表,如果没有带TABLE ACCESS BY INDEX ROWID 表示不用回表,从索引中取到数据,也可以叫做index only scan 或者是covering index. 那是因为oracle是heap table(这里不算IOT索引组织表), 所以索引与表分离, 但是像MySQL及同系的GoldenDB、GreatDB等、Oceanbase及达梦都是一种索引组织表,同Oracle中的IOT表及索引,创建的其它索引为二级索引。下面测试一下OB(以下表示oceanbase)的执行计划的显示.
如何查询OceanBase的数据字典或VIRTUAL TABLES?
在oracle数据库中有dictionary(dict)和v$fixed_table可以查询数据字典表和v$相关的系统内部对象,查询数据库内部对象不记的完整名称是可以直接从两个根对象记录中查找(TanelPoder‘s d.sql) , 对初学OceanBase的新手,也希望可以找到数据库中自带了哪些数据字典或view?兼容了oracle哪些view数据来源是哪里?如同在oracle中查询V$FIXED_VIEW_DEFINITION.