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.定位故障原因,通过重新分析相关表和索引解决问题

相关推荐
不辉放弃28 分钟前
SQL 主键(Primary Key)
数据库·sql·oracle
qq_3392822335 分钟前
PostgreSQL-常用命令
数据库·postgresql·oracle
沸材1 小时前
Redis——实现消息队列
数据库·redis·消息队列
しかし1181141 小时前
C语言队列的实现
c语言·开发语言·数据结构·数据库·经验分享·链表
⁤⁢初遇2 小时前
MySQL---数据库基础
数据库
wolf犭良2 小时前
27、Python 数据库操作入门(SQLite)从基础到实战精讲
数据库·python·sqlite
画扇落汗2 小时前
Python 几种将数据插入到数据库的方法(单行插入、批量插入,SQL Server、MySQL,insert into)
数据库·python·sql·mysql
银河系的一束光2 小时前
mysql的下载和安装2025.4.8
数据库·mysql
Full Stack Developme2 小时前
SQL 查询中使用 IN 导致性能问题的解决方法
数据库·sql
菜鸟起航ing2 小时前
【Java面试系列】Spring Boot微服务架构下的分布式事务解决方案与性能优化详解 - 3-5年Java开发必备知识
java·spring boot·微服务·性能优化·分布式事务