一个简单的sql审核案例
今天开发的同学发来一封邮件,希望我帮忙对一个sql语句做一个评估。他们也着急要用,但是为了稳妥起见,还是希望我来审核一下,这是一个好的习惯。打开邮件,看到的语句是下面这样的形式。select a.cout1+b.cout2 from (select count(*) as cout1 from TEST_ONLINE where CN='' and to_char(LOGIN_TIME,'yyyymmdd') = to_...
增量数据丢失的原因分析(二)
今天处理的一个问题比较绕,花费了我不少的时间来分析,当然最后发现是拜拜忙碌一场空,还是有一些历史原因。大体的环境情况如下,有一台线上库OLTP,其中也有会自己的存储过程,job,结合起来处理一些数据,当然作为统计系统而言,目前有两套统计系统STATDB1,STATDB2,都哟裇相关业务的划分,两者会有一些交集。开发的同学...
今天琢磨的几件事情
今天在琢磨几件事情,也是和工作相关。数据灾难切换的几点认识:在unix中可能会碰到在处理网络问题时,超时时间会远远高于linux的情况,这个时候如果尝试做failover是非常消耗时间的,而且日志没有任何输出,看不到进展,相比于linux的处理,我感觉要更简洁一些。鉴于unix中的处理方式,我还是建议直接使用命令行来做fai...
和开发同学讨论的一个技术问题
今天下午的时候,有一位开发同事找我,说有一个技术问题想请教一下。 当然正如他所说,这个问题比较奇怪,而且已经影响了他的测试流程,他说有一个表查看对应的表空间但是显示为空,所以插入不了数据。我们之前做过一次数据迁移,他想让我帮忙看看,能不能修改一下表空间的设置。 ...
最近的几个技术问题总结和答疑(二)
最近积累了几个问题,我就凑在一起做一个统一的答复,微信后台的留言回复超过24小时就无法回复了,有时候看到的时候已经过了时间点了,实在抱歉。有时候有些朋友是通过qq或者微信来问我问题,有时候运气好能够马上定位,感觉非常侥幸。今天回答5个小问题。第一个问题是在昨天晚上准备睡觉前,一个微信好友的提问。说自己...
一次快速的数据迁移感悟
最近碰到一件事情很感慨,简单说说。有下面的三个数据库实例,都是在开发测试中使用,一台服务器上有业务1+业务2,另外一台服务器上有业务1+业务2.当然为什么会有这种重合,对于DBA来说也实在无从得知。从数据整合的角度来看,服务器1上的业务2数据库目前的负载很低,而且和业务1的交互比较多,本来拆分的库现在要考虑整...
一个oracle bug的简单验证
最近碰到了一个oracle bug,但是我感觉还是有些运气的成分,虽然错误日志和bug描述吻合,版本也完全对应,现在有几个问题在我脑海中翻腾,就是这个问题是不是一个特例,是不是一些额外的原因导致的,于是我翻出了日志重新来看。这是一个一主两备的环境,一个本地灾备,一个异地灾备,数据库版本是10.2.0.4.0,单实例数据...
批量导出csv文件的基本尝试
开发同学前几天给我提了一个数据查询的需求,大体是查询某个表的数据,然后把查询结果以csv的形式提供给他们,一般来说这种定制查询,开发的同学都会提供好语句,DBA同学只需要简单执行即可。 每次看到语句,我都要简单评估一下,今天的语句看起来非常简单,需要在一个历史库中进行数据查取,从...
sqlplus / as sysdba无法登录的奇怪报错
最近看了一个问题,看问题的表现着实比较奇怪,困扰了我好一会儿。问题的背景是帮助开发的同学解决一个数据库问题,最后问题解决之后,我想做一个操作系统级的检查,帮他们看看还有什么需要注意的地方。然后在命令行中国登陆到了这台数据库服务器,切换到oracle用户之后,查看到数据库实例为cytj,然后准备做一番检查。#p...
最近处理的几个小问题_20160311
最近处理的小问题很多,我就拿出来几个,简单和大家说一说。我就分为三个方面,硬件问题,Oracle表空间迁移,MySQL断电恢复首先是硬件问题。如果看到下面的系统日志,就会发现早在2014年就出现了一些警告和问题,随后看似已经修复了部分,但是实际情况是这台服务器的电源已经坏了一个,另外一个已经快扛不住了。但是通过...
通过外部表改进一个繁琐的大查询
今天处理了一个比较有意思的案例,说是有意思,因为涉及多个部门,但是哪个部门似乎都不愿意接。最后还是用了一些巧力,化干戈为玉帛。问题的背景是这样的,业务部门需要做一个大查询,他们目前只拿到了部分账号的一个id字段的值,需要匹配得到一个类似手机号的字段值,开发部门提供了对应的sql语句,会关联两张表来匹配得...
一个简单的bigfile tablespace无法扩展的案例处理
最近帮助开发的同学处理了一个简单的问题,想通过这个问题来反思一下。 在一天下午的时候,开发的同事突然找到我说,有一个开发的数据库貌似有些表空间的问题,尽管这个数据库是划分在他们名下,但是对于数据库的操作他们还是没底,想让我帮忙看看,当然对于这类问题,我都脑海里闪现一两分钟搞定问题的...
增量数据丢失的原因分析
今天开发的同事找到我,让我帮他们补一部分数据,因为有一个表的数据已经快一个月没有增量数据了,这个需求听起来有些奇怪是不?问题的背景是在统计库中存在一个表,供部分应用做统计分析,每天会根据时间生成一条记录,这条记录汇总的数据会作为统计分析所用。但是每天的这一条增量数据的源头来自于另外两个在线交易库。...
服务器进程异常的原因分析(第二篇)
最近看到一个报警,是显示某一个oracle的备库进程数达到了2000多个。ZABBIX-监控系统: ------------------------------------报警内容: Too many OS processes on ora_xxx@10.127.13.123------------------------------------报警级别: PROBLEM------------------------------------监控项目: Number of process...
system表空间不足的问题分析(二)
今天收到一条不太起眼的报警邮件,大体内容是某个表空间的空间有些紧张了。大体内容如下:Tablesapce:CMBI_SNZG_DATA: 92.2% [Warning!]根据这个信息,很明显是需要添加数据文件了,但是同时还有一个警告就是磁盘空间也告警了,那么这个看起来简单的问题得好好琢磨琢磨了,其实是几件事,一件是做一些数据清理,释...
11g主库归档自动删除的小问题分析
最近在无疑中查看一个数据库的日志的时候,发现里面有这么一段内容。Sat Feb 06 10:07:25 2016Deleted Oracle managed file +ARCH/testdb2/archivelog/2016_01_13/thread_1_seq_4566.261.901038877Archived Log entry 9262 added for thread 1 sequence 4678 ID 0x26b3e123 dest 1:Sat Feb 06 14:04:52 2016Thread 1 a...
由一个rename user的问题说开去
在数据库中对于修改用户名,在11g以前一直有一种攻略,那就是修改数据字典基表user$,这种方式的优点就是简单粗暴,当然缺点就是后果不可控。至于有什么更多的风险,其实还是未知。当然从官方的文档和支持中来看,是没有这个功能的,推荐的做法也都是数据迁移这种方式,这一点上和其它的数据库相比,感觉Oracle是比较苛刻。...
DBA和开发同事的一些代沟(五)
陆陆续续写了四篇和开发同事的代沟,从最开始的吐槽到后面的例行总结,整个过程也是总结经验,看似很小的问题对于DBA来说就是莫大的改进,或者在开发严重越不过去的坎儿在DBA来看就是修改一个简单的配置就可以搞定,这个过程中都是互帮互助,大家互相体谅,才是共赢。最近顺手帮开发同事解决了几个小问题,也可以暴露出来...
今天处理的三个小问题——20160120
今天处理了几件事情,有几件还比较有意思,我拿出三件来说说。首先是早上有一个同学打电话求助一个问题,给我的反馈是他们目前有一个表,数据量越来越大,目前数据插入变得很慢。想问问我该怎么分析。对于这个问题,听起来还是有些模糊,稍后想他明确了数据库是10gR2的版本。至于他说的数据量是很大,目前是百万数据量,其...
dg的奇怪问题终结和分区问题答疑
今天来说几个问题,一个是对昨天《让我焦灼的四个问题》的升华,不能起博眼球的题目,技术分析给大家兜底了,你们看看有没有类似的问题。还有几个小问题说说今天的感受和网友的问题解答。首先是让我焦灼的dataguard问题,说起来惭愧,一个dataguard搞了很多天,不是搭建麻烦,是中间碰到了不少的坑和问题,当然自己能够说...