关于奇怪的并行进程分析(二)
前几天的并行问题自己分析了下,也算有了一些进展,但是目前还没有找到让人信服的理由,有些读者也比较关心这个问题,所以第二篇中会把自己的分析过程写出来,第三篇中应该会对这个问题做一个了结。之前发现剧烈的性能抖动似乎和数据库中存在的scheduler有一定的关系。自己就顺着这个思路进行了排查。首先得...
KDB和Oracle的性能pk小记
在偶然的机会听到了KDB,然后带着好奇和新鲜感体验了一把这个传说中和Oracle 相似度达到99%的数据库。其中一部分的驱动力在于这个活动的奖品很丰厚,参加活动后可以拿到一个iwatch,确实是很划算的一个活动。而对于KDB的认识,也是在对比调优中认识到的,其实结果还是大大超出我的预期。首先来简单说一...
关于奇怪的并行进程分析(一)
在使用orabbix进行监控的时候,得益于使用 实时DB time监控的选项,对于几分钟内的性能抖动也能够狠容易的记录下来,而且会把这个监控的结果基本真实反应出来,不会随着两个快照的间隔被平均,这样性能问题的分析和排查如虎添翼,我直接通过性能抖动的情况就能够快速定位在哪个时间段内可能存在问题,然后借助ASH就可以得到...
一次数据库响应慢的问题诊断
今天接到开发一个同事的电话,说前端系统那边反馈有一个查询很慢,初步怀疑是有一些并发或者锁之类的问题导致的。接到问题之后,自己还是带着一些的紧迫感来处理的。首先查看资源使用情况,使用top来检查,结果发现CPU使用率也不高,都在90%以上的idle查看数据库的DB time情况,发现数据库的负载其实...
通过定制orabbix监控分析潜在的Oracle问题
在之前的博客中分享过 简单定制Orabbix监控项 http://blog.itpub.net/23718752/viewspace-1769773/定制的功能在Orabbix中实现非常灵活而且轻巧,还是能够感受到一种开源风的清爽。我在orabbix原有模板的基础上添加了几个监控项,一个是监控闪回区的使用率,还有一个是监控归档的切换频率,这两个...
记一次远程协助分析rac问题的案例
今天通过微信群和qq帮助一个网友分析了一个rac节点性能的问题,征得这位朋友的同学,和大家分享一下。最开始这位朋友是在微信群中留言,说有一个rac的问题,现在已经严重影响在线业务了,希望我能够帮忙看看,有什么好的建议没,这对我来说着实是一个提高自己,分析问题的好机会,因为在地铁上,自己就简单确认了下...
记一次数据库的分析和优化建议
系统信息 $ cat /etc/issue Red Hat Enterprise Linux Server release 5.3 (Tikanga) Kernel \r on an \m $ ksh cpuinfo.sh ************************************** CPU Physical NO: 2 CPU Processor NO: 16 CPU Core NO: cpu core...
memlock过低导致的数据库性能问题
今天在一台备库机器上准备搭建active data guard ,在主库上做配置的时候,发现主库的反应有些慢,主要的感觉就是敲命令的时候似乎都有些停顿。带着疑问查看了下数据库的负载情况,发现连进来的用户很少,数据库负载也很低,归档每天切换不到20次但是使用top命令查看的时候还是能够看到kswapd1的身影,这个进...
一条sql语句的建议调优分析
前几天开发的同事问我一个sql的问题,目前在测试环境中发现这条sql语句执行时间很长,希望我们能够给一些建议,能够尽快做一些改进。sql语句类似下面的形式。SELECT /*+ INDEX(ACCOUNT,ACCOUNT_PK)INDEX(ACCOUNT_EXT ACCOUNT_EXT_PK) */ ACCOUNT.ACCOUNT_ID, ACCOUNT.BE, ACCOUNT.CUSTOMER_NO, A...
一条sql语句的改进探索
昨天同事找我,让我帮忙看两个sql问题,第一个问题是一个sql语句执行频率极高,但是目前的执行速度还是比较慢,希望我看看能不能调优一下。另外一个问题是一个查询执行速度比较慢,但是执行频率不高。我们还是循序渐进,一个一个来看。第一个sql语句如下5knr1ywqugtq8/* TransactionLog_selectByAccRangeTrx_3 */SELE...
关于aio的设置的讨论
之前在博文中分享过一个ora错误。对于此,根据日志分析了相关的ora错误,但是从客户的角度还是希望能够提前做些什么,所以aio的设置就成为刻不容缓的一个任务。但是对于aio的设置大家还是存在一定的分歧。在此贴出来供大家讨论,在oracle官方文档中也没有详细的说明和建议。首先aio的设置在/etc/sysctl.conf就有设置,...
一次ORA-00600问题的排查和分析(下)
继续昨天对于 ORA-00600问题的排查和分析(上)http://blog.itpub.net/23718752/viewspace-1696076/我们发现了一大堆的ORA错误。我们首先排除了deadlock造成的ora-00600错误。从日志的分析的整体情况来说,虽然很多错误在metalink中都有相关的文章说明,但是提供的方案可执行性还是值得商榷的。毕竟一出现问题就是bug,就需...
一次ORA-00600问题的排查和分析(上)
昨天处理了一起ora-00600的错误,其中也经历了各种曲折,真是雾里看花,看透了之后发现很多问题都是有原因的。起初是开发说有一个job运行的时候报错了,数据库版本是11.2.0.2.0等到问题提交到我这,客户已经检查了一些信息了。但是还是没有结论。对于这个问题,我还是照例开始检查数据库日志。在那个时间段内里出现了o...
执行计划中的COLLECTION ITERATOR PICKLER FETCH导致的性能问题
今天开发的同事找到我,让我评估一个sql语句。因为这条语句被应用监控组给抓取出来了,需要尽快进行性能调优。sql语句比较长,是由几个Union连接起来的子查询。xxxxxUNION SELECT /*+ leading (ar1_creditid_tab ar1_unapplied_credit) use_nl (ar1_creditid_tab ar1_unapplied_credit) */ ...
持续近7个小时的索引扫描的查询优化分析
昨天客户的DBA反映有一个数据抽取的任务持续了很长时间最后超时退出了,让我看看有什么地方可以调优一下。找到了对应的日志,发现在一个大表抽取的时候,抽取持续了将近7个小时,最后超时退出了。对于这个问题,有以下几个方面需要考虑一下。1)为什么这个问题之前没有发现过2)是否是由某些变化导致了这个问题3)这个...
快速定位隐蔽的sql性能问题及调优
在前几天,有个开发同事问我一个问题,其实也算是技术救援,他说在有个job数据处理的频率比较高,在测试环境中很难定位出在哪有问题,而且速度也还能接受,但是在生产环境中总是会慢一些,希望我能在测试环境中协助他们,看看是不是sql语句出什么问题了还是其它相关的问题。这种类似实时监控的语句,从第一印象来说,很可...
delete相关的pl/sql调优
今天开发找到我,说有个问题想征求一下我的意见。问题的大体意思是,对目前环境中的两个表,我们就叫做表a,表b吧,他说根据一个时间字段去判断是否为5天前的记录,但是这个字段不是索引列字段。想问我是否需要添加索引会能极大地提高性能。对于这个问题没有肯定的回答,还是取决于数据和表的特性,首先我看了下...
通过图表简化sql语句的表关联
在之前的博文中分享过一个执行了两天的一条sql语句,走了两个大表的扫描,导致执行时间很长,通过简化sql做了不小的改进,今天我们来看看还可以做些什么。上次简化后的语句如下:with tmp_logical_date as (SELECT logical_date FROM logical_date ...
关于内存异常的一个猜想
今天查看生产某个服务器的负载的时候,发现内存的使用情况有些异常。top - 12:00:08 up 15 days, 12:04, 13 users, load average: 63.31, 55.12, 43.39Tasks: 5542 total, 21 running, 5511 sleeping, 0 stopped, 10 zombieCpu(s): 13.6%us, 3.7%sy, 0.0%ni, 81.1%id, 0.1%w...
通过使用hint unnest调优sql语句
生产环境中有一条sql语句通过sql_monitor看到执行的时间实在是太惊人了,竟然达到了13个小时,而且还没有执行完。SessionAPPC (20015:7013)SQL ID74pzzzjddkyd4SQL Execution ID16777242Execution Start...