性能改进方法

Oracle系统中发现的十大错误

Bad connection management

Bad use of cursors and the shared pool

Bad SQL

使用非标准初始化参数

Getting database I/O wrong

Online redo log setup problems

由于缺少自由列表,自由列表组,事务槽(INITRANS)或回滚段不足,缓冲区高速缓存中的数据块的顺序化。

Long full table scans

High amounts of recursive (SYS) SQL

部署和迁移错误




紧急性能方法中的步骤

1.调查性能问题并收集性能问题的症状

对系统性能表现不佳提供反馈。 是问题吞吐量还是响应时间?

?问的问题是“自从我们上次以来发生了什么变化? 这个答案可以给出问题的线索。 然而,在升级的情况下获得无偏差的答案可能很困难。 尝试找到在问题之前和之后拍摄的一些参考点,例如收集的统计信息或日志文件。

使用自动调整功能来诊断和监视问题。 有关帮助诊断和调整Oracle系统的功能的信息,此外,您可以使用Oracle Enterprise Manager性能功能来识别顶级SQL和会话。

2.Sanity-检查应用系统的所有组件的硬件利用率。 检查CPU利用率最高的位置,并检查所有系统组件的磁盘,内存使用情况和网络性能。 此快速过程识别哪个层导致问题。 如果问题出在应用程序中,则将分析转移到应用程序调试。 否则,继续进行数据库服务器分析

3.确定数据库服务器是否受CPU约束,或者是否花费时间等待等待事件。 如果数据库服务器受CPU约束,则调查以下内容:

?在操作系统级别和数据库上消耗大量CPU的会话; 请检查V $ SESS_TIME_MODEL以了解数据库CPU使用情况
?执行许多缓冲区的会话或语句在数据库级获取; 请检查V $ SESSTAT和V $ SQLSTATS
执行计划更改导致次优SQL执行; 这些可能很难找到
?初始化参数的设置不正确
?代码更改或所有组件升级引起的算法问题

如果数据库会话正在等待事件,那么请按照V $ SESSION_WAIT中列出的等待事件来确定导致序列化的原因。 V $ ACTIVE_SESSION_HISTORY视图包含会话活动的采样历史记录,即使在事件结束并且系统已恢复正常操作后,您也可以使用它来执行诊断。 在库缓存大量争用的情况下,可能无法登录或提交SQL到数据库。 在这种情况下,使用历史数据来确定为何在此锁存器上突然发生争用。 如果大多数等待是针对I / O,则检查V $ ACTIVE_SESSION_HISTORY以确定正在执行所有输入和输出的会话正在运行的SQL。 有关等待事件的讨论,请参见第10章“使用性能视图的实例调整”。

4.应用紧急措施稳定系统。 这可能涉及使应用程序的一部分脱机或限制可应用于系统的工作负载的操作。 它还可能涉及系统重新启动或正在终止作业。 这些自然具有服务水平的影响。

5.确认系统稳定。 对系统进行了更改和限制后,验证系统现在是否稳定,并收集数据库的统计参考集。 现在按照本书前面描述的严格的性能方法,将所有功能和用户带回系统。 此过程可能需要在完成之前进行重大的应用程序重新设计。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31401161/viewspace-2133487/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31401161/viewspace-2133487/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值