Oracle 性能优化(1)

一、性能优化的一般流程

1.监控:监控当前活动,最近活动,长期的历史活动,计划活动,系统统计,系统改变等。

2.识别:资源消耗,主要的资源消耗,sql执行时间,问题发生时活跃的资源消耗。

3.分析:完整的产品环境,发现潜在的瓶颈,对象定义和依赖,通过和未通过的对象,对象是如何被访问的,用于访问给定对象的SQL语句。

4.优化:系统参数,数据库参数,I/O利用率,sql语句语法,sql访问路径,对象设计,应用模型。

5.测试和证明:实施前的建议,客户证明,更改对访问路径和响应时间的影响,实施结果。

二、性能优化的方法

1.应用分析:通过对应用中的sql语句及算法的分析解决性能问题

2.命中率分析:传统的分析方法,无法明确反映出系统的实际情况

3.wait事件分析:可以针对性的解决性能问题

三、问题系统的主要症状

1.关键业务受到了影响

2.系统刚刚做过调整(比如升级等)

3.系统整体性能不佳

4.存在突发的负载增加

5.某项系统资源存在瓶颈

四、监控

1.当前状态

2.近期状态

3.历史状态

4.系统特性:负载、资源、应用特性

5.系统变化和节奏

五、识别

1.系统资源消耗情况

2.主要资源瓶颈

3.主要等待事件

4.TOP SQL

六、分析

1.分析生产环境的整体情况

2.发现系统存在的瓶颈

3.主要等待事件产生的原因

4.如何降低TOP SQL的开销

七、优化

1.调整OS性能

2.调整IO性能

3.调整数据库性能

4.调整SQL语句

5.调整SQL访问方式(表连接,索引等)

6.调整应用系统结构

八、测试和验证

1.资源反馈

2.资源消耗情况的改变

3.响应时间和并发事务数

4.SQL访问路径

九、趋势分析

1.对一定时间内的数据进行分析

2.关注数据变化情况

3.关注变更的频率和节奏

4.峰值

5.发展趋势

十、诊断工具

1.OS诊断:

(1).vmstat:cpu使用情况

(2).sar -d,iostat:IO情况

(3)top/topas:高消耗资源的进程

(4)swapinfo:swap区

2.RDBMS工具

(1).alter log/trace

(2).statspack/awr/addm/ash

(3).OEM PERFORMANCE MANAGER

(4).ORADEBUG

(5).SQL_TRACE、EVENT:10046/10053

(6).ORACLE系统视图:

·vsysstat,vsgastat,v$system_event

·vsession,vsesstat,vsession_event,vsession_wait

3.应用分析

(1)ADDM/AWR/ASH

(2)OEM TOP SQL

(3)OEM TOP SESSION

(4)SQL ANALYZE

(5)ORACLE EXPERT

(6)TKPROF/TRCA

(7)SQLA

十一、小结

案例分析:如果突然CPU使用率100%,应用系统出现大量阻塞,怎么办?

1.检查ALERT LOG 是否有异常

2.通过TOP/TOPAS 检查是否有进程消耗了过多的资源

3.检查操作系统的IO,SWAP等情况是否有异常

4.检查v$SESSION_WAIT主要等待事件是什么

5.检查V$SESSION中ACTIVE会话的数量

6.检查V$SESSION中ACTIVE会话正在执行的SQL情况

7.检查SQL的情况

8.询问开发人员,确定昨晚做了表分析

9.定位故障原因,通过重新分析相关表和索引解决问题

相关推荐
captain3766 小时前
MyBatis(入门5)其他查询操作
java·数据库·spring boot·mybatis
小此方7 小时前
Re:Mysql数据库基础篇(八):详细讲解复合查询、多表查询、自连接、多行、多列子查询与合并查询
数据库·mysql
xszivvvv7 小时前
Mariadb数据库frm文件异常,如何恢复数据
数据库·mariadb
smile_life_7 小时前
MySQL 设置 防止账户被暴力破解
数据库·mysql
ShineWinsu8 小时前
对于Qt:QRadioButton常见属性以及QButtonGroup的解析
数据库·c++·qt·microsoft·gui·qradiobutton·qbuttongroup
测试盐8 小时前
oracle数据库卡顿排查
数据库·oracle
滕州市燕猫虎计算机科技工作室个体工商户8 小时前
MySQL、MVCC、多版本并发控制
数据库·mysql·mvcc·数据库事务
明航咨询-陈老师8 小时前
ITSS运行维护服务能力成熟度认证技术纵深:标准模型、等级路径、2026审核趋势与CS/CMMI对比
服务器·数据库·cmmi
缓慢更新9 小时前
AI 辅助生成单测:从接口定义到用例的流水线
java·服务器·前端·网络·数据库·人工智能
AI小百科9 小时前
向量数据库:AI 的「记忆仓库」是怎么工作的
数据库·人工智能·oracle