`
nything
  • 浏览: 141769 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle数据库中常见的性能问题

阅读更多

这一节列出和描述了Oracle数据库中常见的性能问题。通过下面的Oracle性能调优方法,你应该可以避免这些问题,如果你遇到这些问题了,那么重复前面谈到的Oracle性能调优的步骤,或查阅适当的章节来解决这些问题。

CPU瓶颈

应用程序性能低下是因为系统受到CPU限制了吗?由CPU导致的性能问题可以由ADDM诊断出,你也可以使用企业管理器中的性能页面识别CPU瓶颈。

内存结构不够

Oracle内存结构 - 如系统全局区(SGA),程序全局区(PGA)和缓冲区缓存足够大吗?内存结构不足导致的性能问题可以由ADDM诊断出,你也可以使用企业管理器的性能页面来确认内存使用问题。

I/O容量问题

I/O子系统的性能达到期望值了吗?I/O容量问题导致的性能问题可以由ADDM诊断出,你也可以使用企业管理器的性能页面来确认磁盘/I/O问题。

应用程序使用的Oracle数据库未达最佳标准

应用程序未达最佳标准使用Oracle数据库吗?如多次建立新的数据库连接的问题,SQL过度解析,对少量数据的高级争用都可能大大降低应用程序的性能,这些问题也可以由ADDM诊断出,你也可以通过使用企业管理器的性能页面从不同方向监视顶级活动 - 包括SQL、会话、服务、模块和行为。

并发性问题

数据库是由于高度并发性活动导致了性能问题吗?高度并发性活动可能会导致共享资源争用,如产生锁或等待缓冲区缓存,ADDM也可以诊断并发性问题导致的性能问题,你也可以在企业管理器中使用"顶级会话"确认并发性问题。

数据库配置问题

数据库配置到最佳状态了吗?例如,是否存在错误的日志文件大小、归档问题、过多的检查点或参数未最佳设置现象?ADDM可以诊断数据库配置导致的性能问题。

短暂的性能问题

用户抱怨过短暂的或间歇性的性能问题吗?依赖于AWR两个快照之间的间隙,短暂的性能问题可能不会被ADDM捕捉到,你可以使用活动会话历史报告来确定短暂的性能问题。

数据库性能随时间恶化

存在数据库性能问题随时间恶化的现象吗?例如,你或你的用户注意到数据库现在的性能没有6个月以前那么好吗?你可以生成一个AWR周期比较报告,比较性能低的周期和性能稳定的周期以确认在这两个周期之间配置、工作量配置文件和统计信息是否不同,这个技术将帮助你找出性能恶化的原因。

效率低或高负载的SQL语句

SQL语句过度使用了系统资源导致系统性能下降吗?高负载SQL语句导致的性能问题可以由ADDM捕获到,在企业管理器中,你可以使用"顶级SQL"来找出高负载SQL语句,一旦找出这些高负载SQL语句后,就可以使用SQL调整顾问来优化这些高负载SQL语句了。

对象争用

数据库对象成为瓶颈的源头了吗?因为它们被连续不断地访问,ADDM可以诊断对象争用导致的性能问题,你也可以使用SQL访问顾问来优化这些对象的数据访问路径。

调整SQL语句后意外的性能倒退

调整SQL语句后它的性能倒退了吗?调整SQL语句可能会改变SQL语句的执行计划,导致SQL性能大大下降,在某些情况下,改变可能到提升SQL性能,另一方面,改变可能会导致SQL语句性能倒退,在生产系统上使改变失效之前,你可以在一个测试系统上通过SQL性能分析器分析调整SQL语句对系统性能的影响。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics