Oracle一体机性能卡顿优化

来源:这里教程网 时间:2026-03-03 23:15:16 作者:

一、 问题描述

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)        严格控制全局级统计信息任务或者自动维护窗口,业务低峰期执行统计信息  

相关推荐