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

相关推荐
浪九天29 分钟前
Orcale、MySQL中参数类型的详解和运用场景(不带示例)
数据库·mysql·oracle
程序员阿鹏31 分钟前
jdbc批量插入数据到MySQL
java·开发语言·数据库·mysql·intellij-idea
橘猫云计算机设计3 小时前
基于Django的购物商城平台的设计与实现(源码+lw+部署文档+讲解),源码可白嫖!
java·数据库·spring boot·后端·django
2501_903238653 小时前
Spring Boot日志配置与环境切换实战
数据库·spring boot·后端·个人开发
梓沂3 小时前
审计级别未启用扩展模式导致查询 DBA_AUDIT_TRAIL 时 SQL_TEXT 列为空
数据库·sql·dba
Smile丶凉轩3 小时前
数据库面试知识点总结
数据库·c++·mysql
RainbowSea4 小时前
9-1. MySQL 性能分析工具的使用——last\_query\_cost,慢查询日志
数据库·sql·mysql
Sui_Network4 小时前
Sui 如何支持各种类型的 Web3 游戏
大数据·数据库·人工智能·游戏·web3·区块链
ZKNOW甄知科技5 小时前
IT服务运营管理体系的常用方法论与实践指南(上)
大数据·数据库·人工智能
晴空了无痕6 小时前
游戏客户端架构设计与实战:从模块化到性能优化
游戏·性能优化