【转】运维DBA的4大纪律9项注意
朋友们调侃说,运维是个把脑袋别在裤腰带上的活,更有人说,运维是个把脑袋别在他人裤腰带上的活,苦劳没人认,有锅就有得背!
测试的同学说,“吃瓜群众很难感知运维背后的付出,倒是出了事情更能体现我们的专业性。”小样儿,你这是还没有掉坑里过。
所以,最好就是减少锅的出现。
但是,锅来了,大家就得背,甭管你是运维、产品、测试还是开发,总得有个人出来走一走,对吧?
今天我们就来谈谈运维DBA怎样少背锅。
运维DBA的形势是很恶劣,但再恶劣也比不过当年红军过草地。红军当年靠三大纪律八项注意度过了难关,若运维DBA认真执行,也能度过背锅难关。
运维DBA的四大纪律
一、一切行动听指挥
甭管你是团队,还是团伙,要求都是一样的,一切行动听指挥!听谁的指挥?听运维经理、运维总监、CTO、CEO的指挥。
当年墨子当巨子的时候,手下180人,训练有素,同心同德,“赴火蹈刃,死不还踵”。这样的团队来搞运维,就具备了基本要求。
运维团队里,最忌讳的是具有三脚猫功夫、蔑视前辈经验、心浮气躁的人,遇到这种人Team Leader要及时校正甚至剔除,否则这就是你背锅的最大来源。我被坑得比较惨的几次,都是因为团队里有这样的人,想动手的时候不够坚决,最后祸起萧墙,只能弓着腰给客户和领导死命的批评。这叫什么,一颗老鼠屎坏了一锅汤。
所以,选择运维成员时,要选那种踏实、机敏、上进、沟通能力强的年轻人,用心培养,往往事半功倍。
二、两条红线不能犯
所谓红线,就是天条。第一个是按指挥再行动,其实是活的,可能是要请示和汇报的。这第二条是死的,就像高压线一样,碰到就完蛋了。
所有变更要做到:凡变更必有方案,凡方案必经过评审方可执行,凡执行必严格遵循方案,重大变更需要有人核实。
这一条其实是为了规避误操作,误操作就是人为故障。人为故障在所有故障中的占比一直是很高的。
所有影响到业务的故障,不管是硬件故障、软件故障还是人为故障,必须第一时间通知到部门经理。
这一条是为了规避,技术人爱钻牛角尖,看见故障钻进去就出不来,贻误战机,把快速恢复业务的大好时机给浪费了。
三、假日前容量规划
记得某一年有一次团队Outing,集合时某DBA睡眼惺忪地说半夜3点被告警搞起来了。这还不算,他在玩密室逃脱的时候,又接到机房告警电话,某业务表空间使用率超过85%严重告警了。是不是亮瞎了?
要想轻轻松松过节日,或者出去玩,除了做好备份之外,最重要的是做好容量规划。最基本的表空间、文件系统空间、历史告警等等基本情况横扫一遍,起码要能安全等到你休假回来。
对于一些特别的电商系统,节假日可能正是高峰期,那就不仅仅是空间这点事了,还要做好性能预测和解决方案预案。
四、备份恢复年年做
备份要做,恢复更要做。如果你是管理者,千万必要以为你的DBA一定会帮你做了。
不惊讶,真实案例的脱敏数据:
如果是企业缺少相应备份设备或软件导致的,DBA有义务督促领导购置恢复演练所需的软硬件设备。因为一旦出现意外,DBA的直接领导往往也担不了这个责任,毕竟数据都保护不了,用户还怎么相信你这个企业,不论你是央企还是国企。
运维DBA的九项注意
三大纪律是规矩-Rules,八项注意是指导原则-Guidance。
做运维的人,不能总说这个我们没想到,哎呀,没想到这也不行。这是爬雪山,过草地,不注意就陷进去了,哪里会留时间给你瞎BB?
1、对生产环境心怀敬畏
你也许没听过“一个tnsping干翻6台P595”,你也许没听过“一个cp命令让营业系统停止使用30分钟”,你也许没听过“建一个索引让所有核保业务不能用了”,你也许没听过“我本来是要shutdown我的虚拟机的,没想关生产库”… …
你没听过的事情很多,你没干过的事情更多,因为你还年轻。
但是一定要对生产环境心怀敬畏。
所有操作命令不是网上搜来就可以用的,你要尽可能搞清楚这个命令的副作用,这个命令下去最坏的可能,可能是什么?不懂的就虚心求教,DBAplus社群这么多大牛,实在不好意思,就先砸个大红包过去再问。
2、保持24小时开机
做运维的没有彻底休假之说,不要以为你休假了就关机大吉了,那离你关门大吉也不远了。嗯,所以有些公司把这条也列为纪律之一。
我曾遇到过这样一个情况,某个DBA请假了,刚好有个环境的密码只有他知道,而这个环境现在出了点问题。可想而知,当时人是多么着急? 嗯,那个DBA休假回来就长时间离开现场了。
3、多请应用的人唠唠嗑
完全不懂业务的DBA不是一个合格的架构师。
要去懂业务、懂应用、懂服务,就一定要跟应用的人唠嗑、吃饭、抽烟,平时尊重人家,人家愿意跟你说,你就越来越熟悉业务。慢慢的,你就可以为推动业务采用更合适的架构方案。
4、不要在上班时间做普通变更
什么叫普通变更?就是你本来可以提前一天做的变更。
比如扩表空间、增加用户权限、创建索引……并非是为了解决紧急故障而导致的变更。
提前做好变更规划,尽量争取每次免考核时做完所有重要的变更。
5、定期做好数据库检查
数据库没有发生故障,不代表是DBA做得好,而是故障自己还没有发生,不是不报,实时候未到。
所以,确定好检查规则,定期做好数据库检查,并进行整改。涉及到其它配合方的整改一定要邮件抄送,并电话确认。
6、数据库部署要给予最小化权限
安装必要的最少组件,赋予必要的最小权限,是主动避坑的有效手段。很多数据恢复,操作问题,如果能够从权限上把把关,后面就能省很多事情。
7、所有的保障手段,都要去验证其持续可行性
部署了高可用系统,上线前要做高可用切换测试。
部署了容灾系统,要做定期容灾演练。
部署了应急系统,要做定期应急演练。
做了数据库备份,要做定期数据库恢复测试。
说起来容易,做起来难。全国90%的系统没有做到这一点。所以你才会经常听到异常恢复的案例。特别是哪些用存储容灾,或者用OGG应急的。不是技术本身不行,而是管理不行。
8、绝尽全力推行自动化运维
在看到这条之前,你也许心里一直在暗暗的骂道,都什么时代了,还这么古板。
其实不管你是否已经开始了自动化运维,前面的每一条都值得你好好去做好,对你有益无害。
但是,去做自动化运维,是运维DBA绕不开的路径。就像从昆明到上海,最开始是只能靠马帮,后来逐渐通了高速公路,现在开始沪昆高铁了一样。
这个自动化运维怎么做?完全靠自己重复造轮子显然不完全靠谱。如果你不是BAT,也不是京东新美大饿了么,最好的方式,是找专业运维的公司研发的自动化运维平台,是骡子是马拿出来遛两下,你就喜欢上了。
9、起步始于交流,收获源于分享
做过讲师的人,都会有这样一个共识,就是讲完东西,自己其实比听课的“学生”收获更大。这一点互联网公司做得非常好,不管是BAT还是新的巨头,都纷纷成立技术学院,领衔的也往往是业界大佬,把企业内部的技术分享组织得有声有色。
作为传统企业的DBA来说,一家企业往往没有这么个学院,但是互联网上的平台很多,比如DBAplus社群,甚至还有其他一些社群都提供这样的机会。
为什么我们团队工作一年的新人,可以拥有其他公司工作四五年DBA所具有的能力,除了复杂的硬件环境外,每月的分享也功不可没。
运维没有尽头,注意事项也没有尽头,你有更好的建议,不妨说说。
出自:mp.weixin.qq.com/s?__biz=MzAwMjkyMjEwNg==&mid=2247484649&idx=2&sn=44baa75eba42f71cf4605c5a4848e59c&chksm=9ac247fcadb5ceead9075e304aa0b2681edca4bac609f770be7c72d38764b1bd221f7f5a3275&mpshare=1&scene=23&srcid=0315KfXPgyljIcxBMltdEy4o#rd
【转】运维DBA的4大纪律9项注意的更多相关文章
- 运维DBA要不要学python
运维DBA要不要学python 我个人认为是:要 现在python在运维数据库的工作中主要用在 1.编写一些运维脚本 2.编写运维管理平台 3.研究互联网大厂的运维脚本/工具并应有 特别是运维开源数据 ...
- undo丢失恢复异常恢复,运维DBA反映Oracle数据库无法启动报错ORA-01157 ORA-01110,分析原因为Oracle数据库坏块导致
本文转自 惜纷飞 大师. 模拟基表事务未提交数据库crash,undo丢失恢复异常恢复,运维DBA反映Oracle数据库无法启动报错ORA-01157 ORA-01110,分析原因为Oracle数据库 ...
- 一、linux-mysql 运维DBA介绍
一.DBA数据库管理人员需要在整个架构中解决数据库的压力,前端业务通过扩展,加机器就可以很好的解决,但是存储.数据库就不是很好的可以进行扩展,数据也是分配不均的,所以,1)通过在数据库前面添加Memc ...
- Linux运维工程师必学必备的8项IT技能
如果你在学习Linux,那么强烈推荐你选择RHEL和Centos作为学习的Linux发行版本,在公司及企业当中他们是使用最多的,毕竟学习除了本身是爱好,其次也是为了就业.Centos是RHEL的克隆版 ...
- 转:某运维DBA的mysql学习心得
转自:http://www.cnblogs.com/lyhabc/p/3691555.html 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心 ...
- IT职业技能图谱:架构师、H5、DBA、移动、大数据、运维...
转载 作者:StuQ 文章收藏自微信:InfoQ 时隔近5个月,StuQ的小伙伴们再次出品了IT职业技能图谱更新版.这回除更新之前版本外,还添加了架构师.HTML 5.DBA等新的职业技能图谱.正 ...
- [Linux|DBA]运维三十六计
这里是腾讯两位大神梁定安.周小军总记得运维DBA三十六计--
- [Linux]运维三十六计--腾讯两位大神的总结
这里是腾讯两位大神梁定安.周小军总记得运维DBA三十六计,So有道理
- 【华为云技术分享】智能诊断和优化,华为云DAS服务云DBA平台让您无忧运维
摘要:随着时代的发展,传统的“人工”运维方式,已经逐渐跟不上企业业务发展的需要.如何更好的保证数据库系统的稳定性.安全性.完整性和高性能,实现运维工具化.产品化.自助化.自动化,是当前数据管理和运维面 ...
随机推荐
- VGGNet学习——实践
0 - DataSet http://www.csc.kth.se/~att/Site/Animals.html 1 - Code 1.1 - Import Packages import tenso ...
- nutz学习笔记(1)
写在前头 最近到了合肥分公司,分公司用的架构为nutz·····目前在根据官方文档(http://nutzam.com/core/nutz_preface.html)自学并实践中,此笔记将不会如官方文 ...
- ASP.NET MVC - 模型验证
ASP.NET MVC - 模型验证(Model verification) 模型验证原理浅析 模型验证用到了模型绑定器.模型验证器(System.Web.Mvc.DataAnnotationsMod ...
- TensorFlow学习笔记之--[tf.app.flags使用方法]
很多时候在运行python代码的时候我们需要从外部定义参数,从而避免每次都需要改动代码.所以一般我们都会使用 argparse 这个库.其实TensorFlow也提供了这个功能,那就是 tf.app. ...
- SpringBoot2.0+ DataSourceInitializer不生效的问题
1.在url后声明时区 2.更换mysql6.0+的驱动 3.配置属性initialization-mode 为 always 我就是这样解决问题的,如果没解决的话,请在留言处指出错误.谢谢
- 如何解决错误0×80071AC3
前几天我在机房敲百例的时候,敲完了想把文件夹移动到我的U盘里去,结果出现了这种情况 上面说运行chkdsk并重试,我运行了一下,没什么反应,我就想既然不能移动文件夹 ...
- go 单引号,双引号,反引号区别
go里面双引号是字符串,单引号是字符,不存在单引号字符串. 但有反引号字符串,就是esc键下面1键左边tab键上面那个键,区别是反引号字符串允许换行符
- 设计模式C++学习笔记之十二(Command命令模式)
命令模式,将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化:对请求排队或记录请求日志,以及支持可撤消的操作.应该是一个比较简单的模式了. 12.1.解释 main(),客户 CIn ...
- makefile中的gcc -o $@ $^是什么意思?
$@表示目标,$^表示依赖列表. 比如: edit : main.o kbd.o command.o display.o insert.o search.o files.o utils.o $@就是e ...
- Mysql支持哪几种索引
从数据结构角度 1.B+树索引(O(log(n))):关于B+树索引,可以参考 MySQL索引背后的数据结构及算法原理 2.hash索引:a 仅仅能满足"=","IN&q ...