一个简单的bigfile tablespace无法扩展的案例处理
最近帮助开发的同学处理了一个简单的问题,想通过这个问题来反思一下。 在一天下午的时候,开发的同事突然找到我说,有一个开发的数据库貌似有些表空间的问题,尽管这个数据库是划分在他们名下,但是对于数据库的操作他们还是没底,想让我帮忙看看,当然对于这类问题,我都脑海里闪现一两分钟搞定问题的...
通过外部表改进一个繁琐的大查询
今天处理了一个比较有意思的案例,说是有意思,因为涉及多个部门,但是哪个部门似乎都不愿意接。最后还是用了一些巧力,化干戈为玉帛。问题的背景是这样的,业务部门需要做一个大查询,他们目前只拿到了部分账号的一个id字段的值,需要匹配得到一个类似手机号的字段值,开发部门提供了对应的sql语句,会关联两张表来匹配得...
sqlplus / as sysdba无法登录的奇怪报错
最近看了一个问题,看问题的表现着实比较奇怪,困扰了我好一会儿。问题的背景是帮助开发的同学解决一个数据库问题,最后问题解决之后,我想做一个操作系统级的检查,帮他们看看还有什么需要注意的地方。然后在命令行中国登陆到了这台数据库服务器,切换到oracle用户之后,查看到数据库实例为cytj,然后准备做一番检查。#p...
数据整合式迁移的一些总结
说起数据迁移,感觉也算是有些感受了,但是最近参与的几个迁移案例还是和以前大大不同,以前的迁移项目是比拼停机维护时间,尽可能在短时间诶导入大批量的数据,有参与表空间传输的场景,还有跨平台的数据迁移,数据库迁移式升级等等,相对难度大一些的算是增量数据的迁移场景。为此也算把sqlldr,datapump和ex...
dataguard环境中的密码维护
这篇文章的动力来自于一个朋友的提问,他问我备库的密码文件直接重建可以吗,我说最好还是复制,如果重建可能会有一些潜在的问题,当然这个所谓潜在问题也是自己给自己打的马虎眼,到底哪里有问题,脑海里搜索了一番似乎没有找到什么有效的信息,但是隐隐之中感觉搭建dataguard好像还从来没有直接重建密码文件的时候,似乎...
一条简单的报警信息发现的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...