OceanBase开发者大会2024感受:OB不甘心只做分布式数据库

昨天我有幸受邀去上海参加了的OceanBase开发者2024度大会,作为观察团其一我也想谈谈我的个人理解,收获与感触颇丰,对于一个写了十几年技术博客的技术男,通过一篇描述性短文总结难度不亚于路遥当时写《平凡的世界》那段经典的开头。思来想去,我准备从“看见的”、“看不见的”、“瞬间的”和“永恒的”四个层面简短总结.

Troubleshooting Oracle instance start failed with ORA-7445 [ipcor_net_get_ibdevname]

最近,有一位海南客户报告了Oracle 19c RAC数据库启动时出现的错误,提示ORA-07445: exception encountered: core dump [ipcor_net_get_ibdevname()+71][SIGSEGV]。这个崩溃报告的异常原因是由于Oracle的一个bug引起的,但根本原因是由于数据库无法访问某些特定设备的API而导致的。通常这样的问题源于硬件方面的原因。在这里,我只是简要记录一下问题的表现。

,

隐藏问题: Oracle 11g存在index full scan替代index fast full scan的低效执行计划

在Oracle数据库中,索引是提高查询性能的关键工具之一。通过使用索引,数据库可以快速地定位和检索数据,从而加快查询速度并降低系统资源消耗。在索引扫描过程中,有两种主要的方法:索引快速全扫描(Index Fast Full Scan)和索引全扫描(Index Full Scan)。然而,在某些情况下,数据库可能会出现错误的执行计划,选择索引全扫描而不是预期的索引快速全扫描,导致性能下降和资源浪费。该类问题可能不容易发现,仅是SQL性能差,或主要的等待事件为db file sequential read.

, ,

Troubleshooting Oracle ASM diskgroup dismount with ORA-15335 ORA-15066 ORA-15196 when delete instance use DBCA

环境为Oracle 11.2.0.4 2节点RAC的情况下,今天我们遇到了一个问题。同事在使用DBCA删除一个已经损坏的数据库实例时,意外地导致了当前唯一存活的数据库实例崩溃。进一步的检查发现,ASM磁盘组不可用,而ASM警报日志显示了ASM磁盘文件头损坏、ASM元数据损坏以及ORA-15196: 无效的ASM块头的错误。为什么删除数据库实例会导致ASM磁盘组不可用,并且发现ASM元数据损坏呢?

, , , ,

分析应用日志Caucho连接池MySQL随机com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

最近一客户的应用日志随机会出现一些数据库源访问错误,中间件使用Caucho的连接池,数据库为MySQL 5.7主从,前端有HAproxy, 应用server多个,报错也不是持续性,再次重试可能会就正常,错误日志DataAccessException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago.

,

Alert: Oracle RAC最大进程数限制受UDP port range影响

几年前测试oracle RAC的节点间UDP通信《The FG(server process) and remote node LMSn process communication over the interconnect?(用户进程会和另一节点的LMS进程直接通信么?)》测试过节点间存在Server进程与LMS的udp连接,使用的是HAIP(169.254.*.*), 而Linux操作系统的网络端口可用范围net.ipv4.ip_local_port_range 参数控制,适用于TCP和UDP,最大值是65535. 如果RAC中就一个private network 网卡,假设不排除所有进程都和某一个LMS进程通信如LMS1,LMS1分配1个IP addr+UDP port, 那FG进程的上限就是net.ipv4.ip_local_port_range /单个FG进程打开的UDP个数。

,

抱怨最多的PostgreSQL问题在国产数据库解决了哪些?

两年前,Rick Branson撰写了一篇备受关注的文章,题为《10 Things I Hate About PostgreSQL》,其中总结了他对PostgreSQL的十大批评点。作为一位拥有近20年PostgreSQL使用经验的专家,他提出的问题是客观的。尽管他本人深表认可PostgreSQL,并且是其坚定的拥护者,但他不赞同一些人对其无条件的赞美。简单地看看国产数据库在解决这些问题上的进展,或许可以提供一些参考。

Troubleshooting Oracle 12cR2 Standby database crash due to Corrrupted block

最近一套oracle 12c R2的数据库日志应用总是中断,并且在standby 节点发现了一些坏块,存储检查正常,并且primary db端并没有发现坏块,standby db alert log中发现了大量的ora-600报错,当前可能为logical corruption(Internal inconsistency in the block while the block may have good header and footer. The block checksum will be correct but the block structures may be corrupt.),ADG的ABMR并没有自动修复该错误。这里简单记录。

, ,

数据库主从同步(Master-Slave Replication)和Raft/Paxos

主从同步和Raft/Paxos是两种不同的技术,用于不同的目的。主从同步主要用于数据库的复制和读取性能优化,而Raft/Paxos主要用于确保分布式系统的一致性。虽然它们都涉及到数据的复制和分布式系统,但它们的设计目标、实现方式和一致性保证都有所不同。

,