Oracle一体机性能卡顿优化

一、 问题描述

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

 




请使用浏览器的分享功能分享到微信等