数据库变慢了的分析及解决办法

        我们在日常的管理中, 经常会碰到客户或开发人员反应速度变慢了. 这一类问题常使初级DBA摸不着头脑, 还不如数据库直接报出某个错误, 更直接了当. 下面简单描述一下, 解决这类问题时的一般思路.
        如果有人反应速度变慢了, 最有可能影响速度的, 无外乎CPU, 内存和I/O. 在操作系统下,我们可以先使用top命令, 查看一下CPU的占用情况. 在top的输出结果中, 特别要注意第一行中的load average, CPU的负载情况. 如果这里显示的数字大于CPU数, 说明CPU的负载有点高了. 再结合第三行一起看, 如果第三行中, CPU的空闲比例为0, 就说明CPU存在争用. 正常情况下, CPU应该有一定的空闲才好. 如果这里显示空闲为0, 争用CPU的不一定都是Oracle的进程. top的下面显示的进程的列表, 只需看一下占用CPU高的进程是否是Oracle相关的进程, 即可确认此点. 如果运气好, 或许可以直接发现某个进程占用了过多的CPU. 如果将问题定位到了某个进程, 对进一步解决问题, 有很大的帮助.

         但, 大多数时候, CPU的争用已经很高了, 但是在进程列表中, 发现不了某些进程占用过高的CPU. 这时要定位问题, 可能要复杂一些. 我们可以进入Oracle, 查看v$sqlarea或等待事件. 在v$sqlarea视图中, Elapsed_time和CPU_time对了解每条SQL声明的CPU占用情况最有帮助. 其中CPU_TIME是执行SQL声明所耗用的CPU时间. Elapsed_time除实际耗用的CPU时间外, 还要加上等待时间.

        如果观察V$SQLAREA没有发现特别耗用CPU的SQL声明. 可以在Statspace报告中对比一下正常时期的数据, 观察一下看有没有某条语句的CPU时间, 执行次数出现异常的变化. 有时, 或许有些SQL的CPU占用不高, 但执行次数却非常的高, 这也可能会成为造成CPU争用的原凶. 解决问题时, 将问题定位的某个确定的地方, 是解决问题的第一步. 这里, 如果可以将问题定位到某条确定的SQL, 距真正的解决问题, 就向前迈了一大步. 关于SQL声明的调优, 可是个大问题, 这篇短短的文章很难表述清楚, 我们到以后的系列实验中再讨论.ITPUB个人空间1i)N(m

时间: 2024-11-01 20:11:18

数据库变慢了的分析及解决办法的相关文章

笔记本电池充不了电的四种原因分析和解决办法

  笔记本电池充不了电的四种原因分析和解决办法.不少网友会问,笔记本电池充不进电的原因是什么?笔记本电池不充电怎么办?笔记本电池不充电的4种原因分别是电源适配器故障,电池故障,主板故障,电路故障.那么我们该如何解决笔记本电池不充电这个问题呢? 一:电源适配器故障 电源适配器有很多朋友称之为充电器,虽然不够准确,但也确实很形象.判断是不是由于电源引起的不充电也很简单,替换法就可以.这种故障在DELL笔记本维修中多见,DELL笔记本采用LBK(DELL架構),充电电路设计比较特别,适配器如果出现问题

PHP中ID设置自增后不连续的原因分析及解决办法_php实例

PHP中ID设置自增后不连续的原因分析如下所述: alter table tablename drop column id; alter table tablename add id mediumint(8) not null primary key auto_increment first; 每次删除把这两行家伙加上就行了 还有就是这个 使用mysqli对象中的query()方法每次调用只能执行一条SQL命令. 如果需要一次执行多条SQL命令,就必须使用mysqli对象中的 multi_que

后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法_AngularJS

1.问题: 后端接收不到AngularJs中$http.post发送的数据,总是显示为null 示例代码: $http.post(/admin/KeyValue/GetListByPage, { pageindex: 1, pagesize: 8 }) .success(function(){ alert("Mr靖"); }); 代码没有错,但是在后台却接收不到数据,这是为什么呢? 用火狐监控:参数是JSON格式 用谷歌监控:传参方式是request payload 可以发现传参方式是

导致MyEclipse内存不足的原因分析及解决办法_java

1.修改eclipse.ini 在Myeclipse安装目录下G:\MyEclipse8.5\Genuitec\MyEclipse 8.5有一个myeclipse.ini配置文件,设置如下: -vmargs -Xmx512m -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=64m 2.设置Default VM Arguments 在myEclipse中,打开Windows-> Preferences->Java->Installed JREs

WordPress导入数据库出现”Unknown collation: ‘utf8mb4_unicode_ci”错误的解决办法_数据库其它

从WordPress4.2版本开始,如果我们在MYSQL5.1版本数据中导出的数据编码是带有utf8mb4格式的,如果我们搬迁网站复原数据的时候,MYSQL5.5等高版本数据库导入到MYSQL5.1低版本的时候会出现"Unknown collation: 'utf8mb4_unicode_ci"错误问题,以前是没有这个问题的,从WP4.2开始才有的. 要解决这个问题,如果我们使用的VPS/服务器,可以类似老左昨天的"Linux CentOS6环境下MySQL5.1升级至MyS

php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法_php实例

今天遇到GD的resizeimage 函数处理jpg后缀文件的缩略图的时候 提示该图片不是合法的jpg图片并报错 <b>Warning</b>: imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Invalid SOS parameters for sequential JPEG 国内网上查了很多资料也没找到有效的解决办法,原来只要把 GD的jpeg文件支持打开即可解决 ini_set('gd.jpeg_igno

网站首页被百度K掉降权原因分析及解决办法

中介交易 SEO诊断 淘宝客 云主机 技术大厅 做seo的朋友都会遇到网站首页被百度K掉的时候,让人非常苦恼.因为平常对于企业网站优化来说,首页的关键词是整个网站主要关键词流量的来源.所以在做网站推广过程中遇到这样的问题都会让相关工作人员心急如焚.这里icp66网站建设工作室总结了一下网站首页被百度K掉或者是降权的原因以及处理方法. 网站首页被百度K掉降权原因分析及解决办法 网站首页过度优化:网站首页滥用优化标签,网站首页满篇的使用h标签或者着重和加强标签.导致百度搜索引擎认为是故意在seo优化

微信零钱提现提示交易异常原因分析与解决办法

1.我们先来提现看看,我们在微信中点击[我]点击打开[零钱]如下所示; 2.进入之后我们再点击[提现]选项打开进入效果如下; 3.好了在此填写你要[提现]金额点击提现按钮; 4.输入你绑定银行卡时设定的支付密码; 5.好了这样就提交申请了,之后点击[完成]. 6.如果没有问题就会出现提现成功了,如我们现在点击[账户安全] 7.在弹出的窗口点击打开[交易异常]; 8.好了这是什么原因我们进入然后点击提示界面中的[点击此处]; 9.之后根据向导选择操作之后点击[提交]. 10.如果客服回复之后,还是

电脑越用越慢的原因分析与解决办法

一:病毒可以导致计算机速度变慢. 其作用机理有二:一是病毒入侵后,首先占领内存,然后便以此为根据地在内存中开始漫无休止地复制自己,随着它越来越庞大,很快就占用了系统大量的内存,导致正常程序运行时因缺少主内存而变慢,甚至不能启动:二是因为病毒程序迫使CPU转而执行无用的垃圾程序,使得系统始终处于忙碌状态,从而影响了正常程序的运行,导致计算机速度变慢. 解决办法:可使用高版本的杀病毒软件,如"诺顿""江民""金山毒霸".时刻监视系统运行情况(包括网络