跳过正文

SQL优化

达梦数据库报 -20011 缓冲区不足、-544 超出全局排序空间:一次从内存排查到存储过程整改的实战

一次达梦 DM8 内存与排序空间故障实战:表面是 -20011 缓冲区不足和 -544 排序空间不足,实际排查发现主机和 BUFFER 并未耗尽,真正值得关注的是报表过程中的大排序、动态 SQL、DBMS_OUTPUT、字面量拼接、重复执行和无必要去重。

从连接数耗尽到 TX 行锁:一次 Oracle 11g RAC 故障排查记录

一次 Oracle 11g RAC 故障复盘:表面是连接数耗尽,实际根因是高并发 UPDATE 触发行级 Trigger,Trigger 双重循环中的 DELETE 对近 300 万行表反复全表扫描,拖长事务持锁时间,最终放大 TX 行锁并耗尽 Session。

记一次由 SQL 执行计划异常引发的高 CPU 与 cache buffers chains 竞争故障处理

一次 Oracle SQL 执行计划异常故障复盘:多个 w3wp.exe 会话集中执行 SQL_ID 4ja6bgs1su89c,child 21 选择低选择性 DEALID 索引,导致约 29.7 亿逻辑读、CPU 接近 100%、latch free 与 cache buffers chains 竞争。最终通过固定好计划、清理坏游标、创建复合索引并收集统计信息恢复稳定。

记一次 1000+ 每秒 UPDATE 引发的 Redo 风暴:AWR 定位 log file switch checkpoint incomplete

一次 Oracle Redo 风暴处理实战:生产库磁盘使用率超过 90%,日志切换从每小时十几次飙升到数百次,AWR 显示 log file switch checkpoint incomplete 占 DB time 约 41%,最终定位 SQL_ID 0vq0s6rm8fawn 每小时执行 376 万次,约 1000+ 次/秒 UPDATE。