前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试679】在Oracle中,数据库运行很慢,如何解决?

【DB笔试面试679】在Oracle中,数据库运行很慢,如何解决?

作者头像
小麦苗DBA宝典
发布2019-11-08 16:02:20
1.3K0
发布2019-11-08 16:02:20
举报

题目部分

在Oracle中,数据库运行很慢,如何解决?

答案部分

导致数据库运行很慢的原因非常多,例如可能是开发人员SQL语句写的不好导致执行性能比较差。所以,碰到这类问题,不能给出一个非常精确的答案,但是可以按照如下的步骤去检测:

① top或topas查看系统的CPU利用率是否正常,找到最耗费资源的Oracle进程,然后进入数据库查询相关的会话,找到SQL语句再进行具体分析。如果CPU正常,那么就很可能是由于开发人员写的SQL语句不好,导致SQL执行时间过长,因此,开发人员误认为是数据库运行缓慢。

② 进入数据库查看等待事件是否正常,SQL语句如下所示:

例如,结果如下所示:

SELECT A.INST_ID, A.EVENT, COUNT(1)
  FROM GV$SESSION A
 WHERE A.USERNAME IS NOT NULL
   AND A.STATUS = 'ACTIVE' 
  AND A.WAIT_CLASS<>'Idle'
GROUP BY A.INST_ID,A.EVENT
ORDER BY A.INST_ID,COUNT(1) DESC;

那么,在这里就应该着重解决log file sync这个等待事件。

   INST_ID EVENT                                COUNT(1)
---------- ---------------------------------- ----------
         1 latch: ges resource hash list              58
         1 gc buffer busy acquire                      2
         2 log file sync                           10788
         2 gc buffer busy release                     12
         2 gc current request                          6
         2 latch free                                  1

本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档