天天看点

学习笔记(03):Oracle数据库性能优化整套方法论之系统与实例优化-性能提升方法...

立即学习:https://edu.csdn.net/course/play/10667/238270?utm_source=blogtoedu

--------------------------上线后(性能提升的方法)

数据库性能问题:

1、吞吐量太低(throughput)

2、响应时间太慢(response time)

例子:

1、银行夜间批处理程序超过6小时(吞吐量慢的表现)

2、批量的job运行时间过长(吞吐量慢的表现)

3、OLAP报表生成超过2天(吞吐量慢的表现)

4、电子商务网点点击购买按钮,20秒没有响应(响应慢的表现)

5、新闻浏览页面/购买火车票程序等加载超过10秒(响应慢的表现)

性能提升方法:

1、出现性能问题时,最直接有效的方式是首先听取用户反馈

2、获取并检查统计数据(系统参数,数据库参数,应用程序参数,CPU使用太高、内存使用太高,等待事件数太高)

3、检查Oracle数据库十大性能错误(oracle总结的10大错误)

4、生成并检查AWR报告

5、生成并检查ADDM报告(对AWR报告的总结与分析)

6、实施性能优化方案

7、性能优化验证(经验积累总结,案例记录)

Oracle数据库十大性能错误:

1、糟糕的数据库连接管理(不能有大量的连进连出,最好使用连接池)

2、糟糕的SQL语句解析(游标的问题,最终就是硬解析与软解析的问题,最好使用绑定变量的方式,就可以使用共享游标,避免SQL大量解析)

3、低效的SQL语句(通过AWR报告获取最耗资源的SQL语句,非常显著的接口超过24小时,在线应用超过1分钟都是Bad SQL)

4、错误的初始化参数配置(DBA操作)

5、低效的I/O配置(调待)

6、redo log的不合理配置

7、buffer cache的串行争用

8、大表的FTS(大表的全表扫描)

9、大量的递归SQL

10、系统上线和移植中的错误

oracle数据库性能问题解决步骤:

1、调查收集问题及现象

2、检查统计数据定位问题(CPU、磁盘[I/O]、内存、网络)

3、定位数据库性能瓶颈(如:CPU使用太高还是等待事件太多)

4、实施性能解决方案(可能需要重启数据库服务、重启服务器、kill到进程等,会产生一定的影响)

5、验证系统性能、采集新的统计数据库