一、 问题描述
2025 年xx月xx日左右数据库存在卡顿,后续持续卡顿出现。
一、 问题分析
(一) 现网环境
1. 数据库部署环境
Oracle 数据库一体机RAC环境。
2. 数据库状态检查
1)
cpu
使用峰值接近80%
2)
IO
峰值平稳,未有明显瓶颈

(一) 问题分析
1. 数据库AWR/ASH
1)
AWR
分析报告
2)
ASH
分析报告

3) 数据库信息收集
//RAMN
备份持续过长,12月29日备份级7TB
//
数据库TOP等待
//
卡顿点涉及阻塞链
//SYS
用户数据字典及后台进程阻塞
//
全局LMD(ges)阻塞源

//
部分sqlversion_count较高

//cusor mismatch
//redo
及切换

//
参数配置
2. 分析结论:
Ø 慢SQL,SQL扫描(TOP CPU TIME)
Ø bitmap 索引引发行锁争用等待问题(INDEX)
Ø 等待事件library cache lock/library cache pin/log file sync
Ø 解析命中率较低
Ø REDO 日志生成过快,日志切换频繁
Ø cursor 游标命中率低,open_cusor过载参数配置
Ø RAMN 备份时间过长,持续到业务峰值(14:00)
Ø 业务峰值期间,触发高负载pdb级全库级统计信息收集
Ø 参数配置问题
三、 优化建议
以下参数全局集群节点调整:
1) 日志组2GB调整为 4GB,后续持续关注
2) bitmap 索引引发的tx锁,建议删除bitmap索引或者重建为btree索引
3) 核心参数调优: session_cached_cursors =200 open_cursors = 5000 # 初始值300 // 关闭gc相关参数特性(ACS自适应游标/动态DRM) _optimizer_cartesian_enabled= FALSE # 初始TURE _gc_policy_time = 0 # 初始值20 _gc_undo_affinity = FALSE #true _cursor_obsolete_threshold = 1024 # 原8192 _optimizer_extended_cursor_sharing = NONE _optimizer_extended_cursor_sharing_rel = NONE _optimizer_adaptive_cursor_sharing =FALSE _undo_autotune = FALSE _use_single_log_writer = TRUE // 如果仍然存在问题,考虑更改参数 cursor_sharing = similar/force _undo_autotune = FALSE
4) TOP 慢sql进行sql调优或者查询改写(略)
5) 优化RMAN备份,缩短RAM备份时长
6) 严格控制全局级统计信息任务或者自动维护窗口,业务低峰期执行统计信息
