通过SQL解读财富的分配
还是继续昨天的问题,知乎上一个蛮有意思的问题,数据分析师做了一个很有意思的解读。 题目是:房间里有100个人,每人都有100元钱,他们在玩一个游戏。每轮游戏中,每个人都要拿出一元钱随机给另一个人,最后这100个人的财富分布是怎样的? 我们用SQL来解读一下,当...
服务器搬迁之后的准备工作和应对
服务器搬迁后不是简单能连接上服务器就可以了,还有许多的事情需要考虑,否则服务器不可用还是白搭。 我大体碰到了如下的一些问题,也能够反应出来对于系统的各种潜在隐患。1 批量检测服务器的可用状态 如果有大批量的服务器搬迁,有些能够连通,有些不可以,使用telnet本身...
数据迁移中的几个问题总结
总结一下昨晚在数据迁移前线奋战碰到的一些问题,虽然总体来说是按照预定的计划完成,并且提前完成,但是哪怕一丁点儿的操作都会导致一些严重的影响。 总体来说,需要做的事情就是把核心业务服务器从一个机房迁移到另外一个机房,这个过程中因为环境的重要性和硬件软件的情况,大体分为了下...
技术方案之外你还能做什么
技术之外你能够做什么?这是我经常自己问自己的一句话。 不能说卖老,自己也参与了很多大型项目的数据迁移,数据升级和维护工作,从参与进来到主导迁移维护,从技术方案的敲定到最后落地,中间还是有很多的事情和经验需要总结。 每次看起来很简单的操作,如果出了问题那可是很紧急的,比...
Zabbix中Orabbix监控失效的问题及分析
自从使用了Orabbix监控Oracle以来,很多工作都能够通过这种配置可控的方式处理,有些问题是潜在问题,有些是遗留问题,多多少少还是提高了效率。 最近涉及机房搬迁,我们的Zabbix服务器也在迁移计划中,而因为部署的规模也不大,所以Orabbix和Zabbix Server放在了一起,结果搬迁之后问题就...
两个数据访问受限的问题
最近几天实在忙得厉害,处理了各种数据需求,有种顾及不来,而其中有一部分问题是和数据访问相关的,问题的原因很简单,但是分析问题的过程就需要很多的经验,推导,比如下面的两个案例。 第一个是开发同学反馈,连接数据库的时候报出了下面的错误。 第一个错误是:ORA...
MySQL特有的SQL语句 第一弹
关于SQL,我们总是会有无穷无尽相关的话题,有时候碰到了一些觉得不错的SQL功能会标记下来,好记性不烂烂笔头,回头来看,自己也收集了不少的点子,但是从整体来看,可能仅仅是一瓢水而已。大家有好的想法也欢迎留言,一起总结完善一下。 首先MySQL里面的SQL标准可以参考下面的表格,我们今天想总结的是MySQL特有...
服务器搬迁需要注意的几个地方
假设一台服务器要从一个机房迁移到另外一个机房,这个过程就好比你去出差,从北京到上海,怎么准备才是最方便,安全,快捷的。 如果出去时间不长,有了银行卡,这些都不是问题,很多小件的东西都可以通过买买买来解决,这里的银行卡就好比服务器的iDRAC模块一样(也常叫ILO),而你的出行又不可避...
多套Oracle 10g整合迁移到11g的方案
在数据迁移中,除了跨平台,全量,增量数据迁移之外,还有一类会把已有的难度升级,那就是整合式迁移,比如原来有两个数据,迁移后是一个,类似这样的需求,如果再加上平滑升级数据库版本,那就值得我们好好想想方案了。 如果两个源库不大,其实直接使用Datapump不失为一种方法,最大的优点就是操...
MySQL中的大小写敏感
今天同事问了一个问题,是关于MySQL大小写敏感的。如果根据关键字case来搜索,会发现有两个参数。mysql> show variables like '%case%';+------------------------+-------+| Variable_name | Value |+------------------------+-------+| lower_case...
MySQL中explain的几点用法
MySQL里的explain命令内容还是很丰富的,值得好好的挖掘出不少东西来。 本身来说explain就是生成执行计划的内容,如果细看,这个内容和Oracle explain plan for的结果相比还是有差距的。 首先是一个比较实际的用法,查询语句我们可以查看执行计划,如果是DML语句呢,他是直接变更了还是...
多个角度看人生
突然发现自己已经写了很多的生活随笔,我的公众号粉丝中有不少就是因为这些文字而结识的。 其实我的很多生活随笔如果涉及到人生都是感慨和感悟。这个“悟”字尤其重要(我觉得悟空这个法号真是牛)。所以我就打算聊一聊关于人生这个话题,如果你指望看到答案,显然是会失望的...
MySQL RR隔离级别的更新冲突策略
对于事务的隔离级别,MySQL中默认是RR, Oracle中默认是RC,两个事务隔离级别存在着很大的差别,而换句话说,就算是RR的事务隔离级别级别,同是关系型数据库MySQL,SQLServer,postgreSQL也会有一些差别。所以隔离级别的部分还是值得花一些时间来总结一下。 之前看到过丁奇大师的一篇文章,是分析Inno...
通过shell脚本模拟MySQL自增列的不一致问题
MySQL的自增列问题其实很有意思,在重启数据库之后,会按照max(id)+1的方式来计算,这样一个看起来有些别扭的实现方式在早期版本就饱受诟病,在MySQL 5.7都没有解决掉,终于在8.0松口了,计划在这个版本中修复。 而重启会带来自增列一类的潜在问题,而如果不重启其实也有可能会有自增列的不...
Oracle分区数据问题的分析和修复
今天根据同事的反馈,处理了一个分区表的问题,也让我对Oracle的分区表功能有了进一步的理解。 首先根据开发同事的反馈,他们在程序批量插入一部分数据的时候,总是会有一部分请求执行失败,而查看日志就是ORA-14400的错误,对于这类问题,我有一个很直观的感觉,分区有问题。> INSERT INTO DY_USER_ANALYS...
MySQL中GTID的几个限制和解决方案(r13笔记第21天)
现在我看待一个技术,总是会换一种角度来看,在他能实现什么的基础上,我更喜欢看他不能做什么,为什么不能这么做。 比如MySQL GTID在5.6试水,5.7已经发展完善,但是还是有一些场景是受限的。比如下面的两个。 一个是create table xxx as select 的模式,另外一个是...
MySQL句柄恢复的简单尝试
今天突然想起一个问题,那就是对于ibdata的恢复,如果我们简单模拟一下,就会发现还是蛮有意思的。首先我们得到两个参数值,一个是刷脏页的指标,另外一个是数据文件的目录。mysql> show variables like '%pct%';+------------------------------------------+-----------+| Variable_name &n...
DAMS峰会归来
参加了社群DBAplus组织的活动,其实还是蛮有收获。很多具体的想法谈不上,其实还是自己的技术沉淀不够,但是还是有了一些思路和脉络,这是好事。还有一个好处就是又见到了很多新朋友,老朋友。 峰会是DAMS,数据资产峰会,我在下午的专题场有个分享。 整个会议的安排如下,去年年底的...
推荐今天的几点收获
今天和大家分享几个工作学习中的几点收获。 首先是对于学习,一直以来,对于internal的东西我都是抱有很大的兴趣,有时候会有些过头,因为回过头来在工作中难以联系和应用起来。你说这样的知识有没有价值,绝大多数是有的,但是如果有一部分确实是浪费了时间,而且如果换一个角度,从自己应用的场景来把这...
MySQL 5.6,5.7的优化器对于count(*)的处理方式
最近看了很多阿里同学的MySQL文章,阿里内核同学的文章一言不合就上代码,不光让我们看到了结果,还能有代码可读,如果碰到了类似的问题,这样的解读确实是很难得的。 今天做了一个小的测试,发现MySQL 5.7中对于count(*)的处理好像有点霸道,没想象中那么好。 为了对比,...