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

您所在的位置:网站首页 oracle数据库打开好慢 【DB笔试面试679】在Oracle中,数据库运行很慢,如何解决?

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

2024-07-12 00:38| 来源: 网络整理| 查看: 265

题目部分

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

答案部分

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

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

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

例如,结果如下所示:

代码语言:javascript复制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这个等待事件。

代码语言:javascript复制 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程序员面试笔试宝典》,作者:小麦苗



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3