一条简单的报警信息发现的oracle bug
系统中有这样一条报警信息,看似比较简单,但是引起了我的注意,主要原因是因为这是一个10gR2的备库,备库如果出现这样的问题,看起来似乎是在归档删除上存在一些问题。[DB监控系统]_ora_test_s2_yangjr@10.127.2.133_报警ZABBIX-监控系统: ------------------------------------报警内容: Free disk space is less tha...
一条insert语句导致的性能问题分析(二)
今天对之前描述的问题一条insert语句导致的性能问题分析(一) 进行了进一步的补充。有一条insert语句的主要性能瓶颈在于insert子句中的查询语句,查询中的主要资源消耗在于对两个表进行了多次关联语句主要的结构如下:insert into xxxxx (select * from TEST_vip_new minus select * from TEST_vip_new_bak ...
一个oracle bug的简单验证
最近碰到了一个oracle bug,但是我感觉还是有些运气的成分,虽然错误日志和bug描述吻合,版本也完全对应,现在有几个问题在我脑海中翻腾,就是这个问题是不是一个特例,是不是一些额外的原因导致的,于是我翻出了日志重新来看。这是一个一主两备的环境,一个本地灾备,一个异地灾备,数据库版本是10.2.0.4.0,单实例数据...
关于CPU使用率高的awr分析
今天看到一个报警信息,大体是CPU使用异常。ZABBIX-监控系统: ------------------------------------报警内容: CPU utilization is too high------------------------------------报警级别: PROBLEM------------------------------------监控项目: CPU idle time:55.17 % ------------------------------------...
物化视图刷新结合ADG的尝试
最近开发提了几个需求,需要把几个线上的分布式的表整合到统计系统中方便统计,看来分久必合,合久必分,当时的分开考虑,肯定没有想到以后会整合起来,这可对我们是一些额外的工作,这个时候增量数据的问题就摆在我们眼前,当然目前已经基本抛弃了根据日期来增量同步数据,因为会有dml的数据不准确,当...
11g Dataguard中的snapshot standby特性
11g中的ADG特性本身已经非常有特色,促使很多对于10g中不太灵便的备库升级到11g,对于DBA是一大福利,那么还有一个福利就是snapshot standby了。在平时的数据更新操作中,DBA可以做好sql审核,如果对于复杂的,繁多的变更,如果有些变更有一定的依赖,数据变化情况比较大,评估有难度,很多问题单纯在测试环境还发现不了,...
dg broker校验失败的一个奇怪问题
前几天碰到一个看起来有些奇怪的例子,今天抽空把分析过程整理了一下。有一主一备的一套测试环境,之前环境在我手里,交给另外一个同事之后,重新搭建了dataguard,我检查了一圈,发现都没有问题,然后过了一个星期的样子,无意中再次查看的时候,发现这个备库竟然在dg broker中的状态是disable,当然我也不能看到这个现象...
客户端无法连接数据库的小问题
最近碰到了一个比较奇怪的数据库连接问题。问题的起因是做一个数据整合的时候,把服务器B的防火墙信息都拷贝到了服务器A,迁移的过程都很顺利,是一套开发测试环境,迁移完成之后,从应用的反馈来说都没有发现问题,过了几天有个开发的同事找到我说,她现在连接数据库的时候总是有超时的错误。之...
一次快速的数据迁移感悟
最近碰到一件事情很感慨,简单说说。有下面的三个数据库实例,都是在开发测试中使用,一台服务器上有业务1+业务2,另外一台服务器上有业务1+业务2.当然为什么会有这种重合,对于DBA来说也实在无从得知。从数据整合的角度来看,服务器1上的业务2数据库目前的负载很低,而且和业务1的交互比较多,本来拆分的库现在要考虑整...
最近的几个技术问题总结和答疑(二)
最近积累了几个问题,我就凑在一起做一个统一的答复,微信后台的留言回复超过24小时就无法回复了,有时候看到的时候已经过了时间点了,实在抱歉。有时候有些朋友是通过qq或者微信来问我问题,有时候运气好能够马上定位,感觉非常侥幸。今天回答5个小问题。第一个问题是在昨天晚上准备睡觉前,一个微信好友的提问。说自己...
物化视图刷新结合ADG的尝试
之前写过一篇 物化视图刷新结合ADG的尝试,想必绝大多数的朋友看完再没有深究,其实也有些朋友做了建议,让我尝试prebuilt来做。这种数据迁移方式用的比较少,但是个人感觉还是很不错的。如果迁移的表不是很多,这种迁移方式还是非常强大的。如果一个表非常大,我目前的设想就是通过ADG备库来把数据首先同步到统计库中,然...
一则数据库无法启动的奇怪案例分析
关于数据库的启停,以前一直认为是最简单,最没有技术含量的任务,但是接手的环境越多,越来越证明我最初的想法是错误的。数据库的启停是一个敏感操作,重启一定是有着特定的原因和需求。而且这个过程中存在这太多的可能性,很可能在同一会话窗口中,停掉数据库再次启动就会报错;很可能硬件扩容,也会导致数据库实例无法...
一个关于执行计划的小问题测试
最近有朋友在微信公众号后台留言提了一个问题,问题如下:执行计划中,并列的两条操作比如并列的两条table access full,上层没有关联操作比如hash join,这是什么意思?但是两张表在sql中是有等值连接的,为什么执行计划没有提现连接方式呢?然后他过了一会附了一张操作截图。这个问题一下子看起来就比较清晰...
备库查询导致的ORA-01110错误及修复
最近帮助业务部门解决了一个技术问题,因为发现有数据问题需要对存在问题的数据做分析。当然一个难点就是把数据给筛选出来,当我看到他们提供的语句,在备库做了简单的数据评估之后,发现数据量比想象的要多,大概有200万条左右的数据,而业务部门手头有一个excel文件,需要和这些数据做一些比对,当然停了下...
闪回归档的简单测试
11g里面的新特性闪回归档,为历史数据的定制查询提供了一种可能。抽时间学习了一下这个特性,发现还是比较清晰易用。如果使用得当还是很不错的一个特性。我们来简单模拟一个例子来看看。首先需要创建独立的表空间,属性需要为segment space management auto,因为默认属性就是如此,所以我们简化语句。SQL> create tables...
剖析Oracle中oerr命令
Oralce中的命令非常丰富,oerr命令是一个不错的辅助工具,很多看起来没有眉目的错误代码,可以让DBA很快定位问题的缘由,我们根本不需要去记有哪些ORA错误,除非那些错误已经完全和你的工作分不开。绝大多数的命令都是二进制的形式,比如sqlplus我们可一窥其中的奥妙,oerr是一个shell脚本,而且实现原理也不难,我们来剖...
orion的简单测试
orion是一个做IO测试的小巧工具,可以测试随机读写,模拟混合负载等。在oracle 11g已经自带包含了这一工具,无须额外的安装了,为IO方面的测试带来了不少的便利。当然如此简单的小工具我在使用时还是碰到了些小问题。简单总结一下。首先是使用orion,直接提示依赖链接库的问题[oracle@db117 bin]$ orionorion: error wh...
增量数据丢失的原因分析(二)
今天处理的一个问题比较绕,花费了我不少的时间来分析,当然最后发现是拜拜忙碌一场空,还是有一些历史原因。大体的环境情况如下,有一台线上库OLTP,其中也有会自己的存储过程,job,结合起来处理一些数据,当然作为统计系统而言,目前有两套统计系统STATDB1,STATDB2,都哟裇相关业务的划分,两者会有一些交集。开发的同学...
datapump跨平台升级迁移的总结
最近测试了使用datapump来迁移百G数据的场景,因为实际需要,需要把Unix下10gR2的库迁移到Linux下11gR2,所以这个过程相对来说牵制也较多。考虑了多种方案,最后权衡后决定使用datapump来迁移。其实整个迁移的过程还算顺利,完整模拟了整个生产环境的迁移情况,datapump的全库导入还是比较方便省心,只要导出得当,导入基...
远程协助解决重建索引的危机问题
最近在工作忙碌之余也帮几位网友查看了几个问题,有一个问题让我印象挺深,其实也可以分享出来作为一些参考,问题之外还是有一些值得借鉴的地方。首先是在周末的一个晚上,白天已经比较累了,大概在晚上11点左右,就准备收拾收拾睡觉了,但是突然qq闪动起来,有一个网友发消息给我,在反复问我,在不在不?看...