<< 返回文章列表

超越,开启质变成长 - 2017上半年精华文章集萃

2017年12月25日
孙雪
1505

七月,让我们超越自我,开启质变成长!

也感谢广大朋友们对我们公众号的支持,我们将持续分享有价值的内容,伴随大家一起成长。再次,我们整理了上半年最受欢迎的文章列表,与大家一起回顾总结。回首,是为了以后走得更远。

七月,让我们超越自我,开启质变成长!

也感谢广大朋友们对我们公众号的支持,我们将持续分享有价值的内容,伴随大家一起成长。再次,我们整理了上半年最受欢迎的文章列表,与大家一起回顾总结。回首,是为了以后走得更远。

image.png
1、MySQL DBA技术难度低为什么工资比Oracle高?热度:9041
随着开源技术的不断发展,MySQL数据库最近几年也突然火了起来,接触过着两类数据库的朋友都知道,MySQL技术的学习难度是很低的,但是,我们都知道,MySQL DBA薪资待遇各方面都比Oracle高好多。简单来讲,这个世界上就是其他行业鄙视IT行业,IT内部,MySQL DBA鄙视Oracle DBA。那么为什么会出现这样的情况。

作者从两个方面进行了分析,一个是市场供求关系,另一个是技术要求。从市场来讲,MySQL DBA很难招到(相对于Oracle),因此各大企业不惜血本;从技术上来讲,Oracle 数据库的复杂性决定了Oracle DBA要学会管理Oracle数据库本身就是要求很高的,那么企业要招聘一个Oracle DBA,很可能只要求你懂Oracle数据库,对于DBA来说,要求的知识面比较单一;而MySQL由于本身不具备太多的技术内容,作为一个开源的数据库,企业更是希望招聘一个MySQL DBA进行全栈的管理,而不是每一个方面单独招人,因此,对于MySQL DBA的要求就增加了需要了解开发,了解操作系统,能够进行优化等各类要求。在这两个因素的综合作用下,MySQL DBA的工资必然比Oracle DBA的工资高。

2、独家:在MAC上运行Docker和Oracle 12.2数据库环境 热度:3739
Oracle在四月宣布支持Docker的容器部署,加上Oracle Database 12.2的发布,再到支持MAC上的部署,毫无疑问吸引了广大技术爱好者前来试水。相比起在Linux上安装Oracle的过程,在Mac上部署Docker并安装Oracle数据库简直非常快速和敏捷,很多过程通过按钮都可以一键完成。
而全部的过程只需要以下步骤:
1. 在Mac上安装docker,并启动docker 2. 部署oracle docker的build file,并创建image 3. 部署oracle软件在docker中 4. 安装oracle实例在docker中 5. 启动,停止docker以及如何连接数据库
安装完成后,作为一个资深的DBA,备份是必不可少的,那么基于Mac上Docker下的Oracle 数据库,该如何进行备份和恢复呢,请参考备份,迁移和克隆Docker镜像。

3、【重磅推荐】MySQL大表优化方案(最全面)热度:4746
性能优化一直是比较受欢迎的话题,在这篇关于MySQL大表优化的文章中,从表级别、实例级别、数据库级别、系统级别、架构级别等多个维度给出了优化建议,非常全面和深入,值得大家多次研读学习。如果每一个DBA在运维的过程中,面对数据库的性能问题,都能够进行多方位的思考和改进,那么这个世界将会变得多美好。

4、2017,那些我们一起删库跑路的日子 热度:8724
删库的事件天天有,这次比较严重。荷兰某家云服务商的一名前员工,离职后(天知道因为什么原因)删掉了公司所有客户的数据,面对丢失的数据,该公司的人除了跟客户不断地道歉和赔偿,也是束手无所。

IT是绝对的高危行业,手下一不小心敲错字都可能导致巨大的损失。因此我们也一再强调,备份重于一切,备份重于一切。rm是危险的,三思而后行。

但技术不能解决一切问题,在很多事件中,员工删库往往不是技术原因导致的,常常是因为管理不善,沟通不到位,甚至是个人恩怨。在此墙裂建议,一定要严重关爱IT界的人,只有他们感受到关爱,这个世界才能更美好。

我们再次来回顾一下2017的删库跑路事件吧:
1、关于炉石传说的Oracle数据库故障不要以为你也可以幸免 
2、五重备份无一有效,还有哪些 rm -rf 和GitLab类似的忧伤?
3、云服务真的靠谱吗? AWS 用户中断31小时仅恢复6周数据
4、不以规矩不成方圆:Digital Ocean也删除了他们的数据库
5、时移世易:遵从既往经验致 1.5PB 数据删除,Google SRE是如何应对的?
6、岁末警示:当你手抖删了线上数据库..
7、新浪微博瘫痪,有人开心有人哭

这是最好的时代,也是最坏的时代。技术的发展让我们可以做很多以前做不了的事情,然而,危险也是同步而来,有时候瞬间打得我们措手不及。

前段时间非常火热的wannacry病毒,入侵了很多企业和个人的电脑,WannaCry病毒侵袭全球,这是周一打开电脑的正确姿势。这大概是世界上成名最快的一款互联网程序,从5月12日开始,在短短24小时内,由于罕见的传播速度以及严重的破坏性,勒索病毒WannaCry已经成为全球关注的焦点。
image.png
有人说,人类历史上所有的巨大灾难都是以巨大进步为补偿,或者巨大的技术进步都是以巨大灾难为代价的吧。而无论哪一种观点,时代的进步我们无力阻止也没有人想要阻止,我们唯一能做的就是,提高安全意识,增强安全防范。
5、警示:一个专为AIX上11.2.0.4版本定制的Bug正在高发 热度:3846
有这么一个Bug,仅在AIX平台上,Oracle Database 11.2.0.4的版本中出现,在12.1中被修复,之前和之后都不存在,所以简直是为这一版本定制的。为什么会出现这个专属的错误呢?这个Bug的原因是 AIX C编译代码产生的BUG -  AIX C compiler code generation bug,这个BUG的修正被包含在  AIX Bundle 2 for Oracle Database 11.2.0.4 中。

鉴于这个BUG最近的多发性,警示用户,引起注意,至少在遇到这个错误时,能够快速的进行定位确认。

数据库各类问题和隐患数不胜数,防不胜防,有来自内部的隐患也有来自外部的隐患。为了能够及时检测到这些隐患和问题,及时发现问题并处理,提高系统安全,在此推荐使用白求恩智能诊断平台,全面帮你你保障数据库安全和健康。https://bethune.enmotech.com。

白求恩对于数据库的诊断是非常全面和实用的。
6、问诊白求恩 - RAC 节点参数不一致引发的悲剧 热度:1681
在Oracle RAC中,有一些参数是数据库级别的,所有实例都使用同一个参数值,有些参数是实例级别的,实例间可以设置不一样的值。然而,对于部分实例级别的参数,节点间设置不同却可能引发故障。

在白求恩智能诊断平台上(https://bethune.enmotech.com),对于数据库参数的检测非常细致,根据参数对于数据库的影响大小,可以分为:性能类参数,稳定性类参数及规范操作类参数。从架构到细节,全方位诊断系统安全与健康,比你更了解你的数据库。
更多了解:

在我们日常的运维中,总能发生很多让我们觉得匪夷所思的事情。比如下面的例子:

7、我明明 immediate 关库的,怎么就打不开了?!热度:3674

数据库是通过shutdown immediate方式正常停止的。我们都知道,这种方式停库之后,整个Oracle数据库的文件都是处于一致的状态,重新启动数据库实例后按理说是不需要再进行实例恢复的。

但在案例中,关库后无法启动,作者分析有两方面可能的原因:
1、shutdown immediate之后,数据库写入到操作系统cache,还未完全写入到disk上时,此时数据库主机被强行重启;由于操作系统cache丢失,导致数据库出现了不一致的情况(本文环境是Linux文件系统)。
2、其他程序或软件破坏了Oracle数据库文件的一致性(实际上,经过了解该环境部署了Rose HA软件;而且客户在操作时,据说并没有停止rose ha软件)。

还有意想不到的惊喜,比如:

有一类人,他们把SQL当做艺术,把旁人眼中的枯燥演绎成经典,云和恩墨专家团队中的杨廷琨、罗海雄就都是这样的SQL专家。他们的世界就是这样的:见猎心喜,遇难而技痒。老杨还可以带你用SQL解释经典的扑克牌魔术。

image.png
也有可能,你一直写习惯了的SQL的方式,竟然是错的:MySQL - 8种常见的SQL错误用法。而犯错的不止是我们,连Oracle的官方文档也犯错,在通过xtts方式进行跨平台的数据迁移的时候,Oracle MOS文档 11G – Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (文档 ID 1389592.1) 明确提到目标端环境必须是Linux。

然而事实并不是这样。

手工进行xtts操作,完全是ok的;在我们都被骗了,所有的跨平台迁移都可以通过XTTS实现一文中,经过作者的测试也是可行,这里是测试从Hp IA到Solaris Sparc的xtts增量迁移方式。


image.png
数据库的问题千奇百怪,那就要求我们广大的DBA朋友们不仅要有经验,还要有一身打不败的真本领。我们分享了一个系列的DBA必备技能,带领大家一起提升。

9、DBA必备技能:数据库挂起时进行转储分析诊断案例 热度:2652
在 Oracle 数据库的运行过程中,可能会因为一些异常遇到数据库挂起失去响应的状况,在这种状况下,我们可以通过对系统状态进行转储,获得跟踪文件进行数据库问题分析;很多时候数据库也会自动转储出现问题的进程或系统信息;这些转储信息成为我们分析故障、排查问题的重要依据。

本章通过实际案例的详细分析,讲解如何逐层入手、层层剖析的分析数据库故障。
更多必备技能:


当然,对于每一个DBA来说,最硬的本事还是体现在优化上,因此,优化系列的文章也是平时最受大家关注的。

10、杀手SQL- 一条关于 'Not in' SQL 的优化案例  热度:3888
在 DBA 所优化的数据库环境中,绝大多数性能问题其实是由于 SQL 编写不当导致的。SQL 的世界无奇不有。
案例中,一条尝试了各种办法都优化不了的SQL最后发现是由于开发人员书写错误导致。此时的DBA绝对想吐一口老血就地身亡。

别担心,欢迎使用白求恩z3 SQL 审核,救你的系统于危难之中。
SQL审核将 SQL 质量审核和优化这项任务,从 DB 端提取到研发端,通过擅长 SQL 的开发 DBA 和开发团队一起修正系统的 SQL,找出问题、修复问题,提升系统的健壮性和稳定性,从而保证整个系统的运维建设质量。

更多性能优化经典文章:

SQL优化及SQL审核,是从源头解决性能问题的根本手段,无论是开发人员还是DBA,都应当持续深入的学习SQL开发技能,从而为解决性能问题打下根基。

一边回首,一边义无反顾地前行,七月,让我们都做更好的自己。