一直以来运维工程师的角色被蒙上了各种神秘面纱,平时他们是默默无闻的暗地作业者,很少被人重视。而一旦企业呈现技能毛病,咱们就会立刻呼叫他们,这时候的他们又会像消防员一样敏捷救活,随时要面临应急状况,比方数据库功用优化、数据库运维备份与康复、数据搬迁以及毛病扫除等。千万不要认为运维工程师只适宜做暗地的事情,他们今后的开展大有前途。今日咱们邀请到的嘉宾便是从运维工程师做起,一步步高升到了技能总监的职位,咱们一同来看看他的成功诀窍。
(Q1):您好,十分高兴能够采访到您,作为一名Oracle ACE成员,您觉得这一路走来是否收成颇多?能否和咱们网友介绍下自己?
(A1):咱们好,我叫杨志洪,网名,目前担任上海新炬网络技能有限公司的技能总监。我是ITPUB的前期用户,与ITPUB一同生长,也归于最早一批ITPUB dataguru。从02年毕业到现在,一晃12年的时刻过去了,这些年来天主很眷顾我,总是会给我一些不错的机会.
大学毕业后,我就到了云南电信的部属公司,接触了IBM、HP、SUN的各式小型机、各种操作体系, 各式网络交换机,Oracle从732到Oracle 8174的各个版别…….。就在刚毕业的2年里,这些东西就唾手可得,那个时候还没有实行省会集,咱们到各个地市去都是“专家”,这些机器体系都能够随便折腾,现在的同学们很难遇到这样的环境了。
在电信做了2年杂家后,我就一直专心于Oracle的专业服务,一做便是10年.从05年起我开端运用业余时刻在上海给ITPUB主讲RAC、功用优化这些课程,也喜欢编撰博客来共享自己的作业经验,除了在ITPUB扎根外,还会雨露均沾,在Loveunix上编撰.不巧有一次Loveunix的博客彻底数据丢掉了,我就爽性搞起了自己域名的博客,还做些公开的技能共享,推广Oracle技能的同时也结识了一大批圈子里的高手。
上一年,我很侥幸被推荐成为了Oracle ACE的一员,也便是在这一年,我和老熊老耿一同翻译的《Oracle中心技能》中文版也出书了 。这些年来,咱们踏踏实实地走好每一步,从做Oracle服务,学习、实践、总结到最后的共享形成了一个完整的闭环,利己利人。
今年我又跟公司申请,跟ITPUB协作,举行“新炬.ITPUB 全国巡回DBA技能沙龙”,目前现已在上海、合肥、南京、福州、成都、武汉六个城市办了六场,对200多名到场的Oracle DBA来说是一场免费的技能大餐,除了上海之外,其他城市简直没有人办过相似的活动。讲师们因为有这么一个舞台共享做了充沛的准备,来听课的朋友们都很积极发问和讨论,整个过程形成正向鼓励,每一份认真的阅历对我来说都是满满的收成。
(A2):因为做的是Oracle服务,所以我也习惯了每天耳边充满着各种毛病的音讯.我现已从开端的好奇、忧虑、振奋到古怪,现在现已处变不惊了。Oracle有个毛病代码手册的文档,不说悉数的,但至少80%的毛病代码我都处理过,我还在网上记载共享了大部分Oracle数据库毛病的处理。
这次采访我想经过一个小毛病来共享自己的处理经验.春节前,一个用户经过咱们的客户找到我,反应了毛病的状况,一个“重要”的体系Oracle数据库坏了,发动不起来了.我经过远程登录的方法,发现所有的联机日志文件悉数都放在一个目录里,古怪的是这个目录一个文件都没有了。经过history能看到有rm 联机日志文件的指令,可是用户反馈说,这个主机操作体系有一年多没有人登录过了。要搁在10年前,我刚学会_corrupted_rollback_segments、_allow_resetlogs_corruption参数或许bbed、DUL那阵子,肯定振奋得不得了,也不管数据丢掉了,三下五除二把数据库强制拉起来 。但这么多年下来,我觉得这事没那么妖怪,就这么“处理了”的话,一方面不知道实在原因,另一方面还会导致数据丢掉和不一致的后果。于是让用户把相关厂商都聚合起来,很快硬件工程师检测发现是闪存卡反常offline了,手工把它online后,消失的文件都回来了,体系好了。适当于我什么都没做,可是一样处理了一个“数据库毛病”,仅仅如同没用到什么高深的技能而已。
关于毛病,套用句歌词“三分天注定,七分是人为”来描绘其实是很适宜的,这个“人为”里分为两个方面,一方面是朴实的“误操作”,手贱!另一方面是运维没有成体系,单点毛病危险随处可见。在咱们的这次“新炬.ITPUB 全国巡回DBA技能沙龙”里,技能专家袁伟翔的讲演主题便是“Oracle毛病诊断——黑匣子解密”,这儿面包含了咱们的毛病诊断方法论和毛病办理:毛病的预警、预案,产生时的升级流程,处理过程的分工,处理完的总结,一整套的毛病闭环办理。讲演材料在这儿:http://pan.baidu.com/s/1ntE3CBv,在此我就不再赘述了。
(Q3):跟着企业的开展壮大,在线服务器的数量越来越多,软硬件毛病产生的概率也变得越来越高。假如没有好的监控体系,主机产生反常,特别关于企业的中心事务体系,将是不可承受之重。那么咱们该怎么挑选适宜的监控计划呢?常用的网络监控东西Cacti、Nagios、Zabbix有哪些优缺点?怎么挑选适宜自己的监控东西?
(A3):其实关于这个问题,国外的同行是走在前面的。许多年前,IBM TIVOLI、HP OPENVIEW、BMC 出产的都是成型的产品了,不过惋惜的是,这些产品都太厚重了,初看起来似乎包罗万象,事实上80%的功用是客户不需求的,而客户需求的另外80%的功用它们又没有。所以到目前为止,没有一款现成监控东西是用户交口称赞的。
这几年,跟着互联网职业的兴起,各种开源的监控东西也诞生了,像您说的CACTI,Nagios、Zabbix等等都归于这一类的,它们都归于半成品,这就好比小姑娘的头发任你打扮。这个时候的要点不是你用什么形状什么大小的梳子,而是你知道你要的是什么发型.大的互联网公司因为本身能力十分强,运维工程师对公司的事务能够说是一目了然,所以总能适时找到最适宜自己的监控东西加以改造,成为自己最好用的监控东西。可是传统职业的运维工程师,则因为许多要素的约束,没办法做到这点。正是因为这样,咱们在4年前根据开源软件的基础上开发了咱们自己的自动化运维东西(DATAYUN.AMP),不断的迭代用户需求和咱们的运维经验,目前在电信运营商和大型职业客户有运用。关于产品不能太揄扬,要试用的欢迎联系我.
(Q4):在大数据年代里,跟着数据量剧增,并发用户数量的添加,体系常常呈现吞吐量的下降,呼应时刻变长等功用问题,影响数据库体系功用的常见要素有哪些?怎么有用地优化Oracle数据库的功用?
(A4):功用问题从大的方面来说便是吞吐量和呼应时刻的问题,大大都是因为IO过“慢”导致的。为减轻这个问题的影响,网络方面呈现了infiniband交换机,存储方面呈现了SSD盘、闪存卡,它们相对比较贵。对现在动辄几十TB,上PB并且还在继续暴增的数据库来说,用起来也没那么简略。关于中心事务数据库来说,通常会建设BCV快照、容灾环境、应急环境、测验环境、开发环境、数据交换中心、备份等“冗余”,本钱也十分高。因而,做好数据生命周期办理是优化Oracle数据库功用必须要做,并且收效甚好的一种处理计划。其次,另一个方面的功用问题是锁争用导致的问题,其间包括一些常见原因,比方大表没有分区、分区建挑选不适宜、没有建索引、没有建适宜的索引、SQL代码没有重用、运用或许没有运用绑定变量等等都是这类问题的源头.要处理这个问题,咱们需求提早介入产品的开发,在模型设计、代码测验、版别上线前就参加和纠正。
咱们的客户相对来说都比较“大型”,动辄上百几百套Oracle数据库,怎样有用优化这些数据库确实是个难题。简略的也能够分为两类,一类是时间短紧急的问题,你不快速搞定它,或许影响面就会敏捷扩展,这类难题需求咱们敏捷判断,到底是新上线的事务导致,仍是履行计划改变导致的.经过中心SQL进行办理,这类功用问题十分简略处理。另一类问题相对来讲较为杂乱,跟着客户事务的增多,新功用越来越杂乱,压力也就更明显了.,咱们需求从长计议,做好中心体系的容量办理、数据生命周期办理及版别办理,这一类的优化往往需求多个部分达到一致后才能做,可是一旦得到有用履行,作用十分好。至于作为项目型的专题优化,能够参阅“新炬.ITPUB 全国巡回DBA技能沙龙”中的其间一个讲演,技能专家杨修国共享的《运营商中心体系优化事例解析》里从方法论、优化东西到事例都做了比较具体的解析。
(Q5):通常状况下,数据存储在内存缓冲区和磁盘中,拜访内存的速度远远快于拜访磁盘的速度,因而咱们会将频频拜访的数据放入内存中。而各大厂商也纷纷在内存数据库上锋芒毕露,各种内存新技能层出不穷,您觉得未来内存数据库会和传统数据库共舞,仍是会大幅度地冲击传统数据库?
(A5):为了处理磁盘拜访慢的问题,大内存和大闪存基本上是新的硬件选型标准,期望将尽或许多的数据装载到内存或闪存中。相关于盘大的数据量来说,内存还不是足够大。在OLTP型的数据库中,近年来比较火的内存数据库是Timesten,每个数据库通常限额在100G以内,而传统的Oracle数据库或许是几十TB,内存数据库仅仅作为传统数据库的一个补充而已。而在OLAP方面,SAP有HANA,Oracle 12C也推出了in-memory option,谁胜谁负也还很难结论。这方面我没有过分重视,个人觉得,内存数据库会推进传统数据库进化得愈加完美。
对广阔的数据库运维工程师而言,十年前和十年后的改变很大,特别是在云计算与大数据年代,面临着海量数据的高并发带来的各种压力,该怎么面临呢?
在上一年的Oracle技能嘉年华上Jonathan Lewis承受采访时说“假如你想在5年后成为Oracle DBA,你要么便是为很大的公司作业,他们自己为了维护数据的隐密性,而把数据留在自己这儿。要么便是为很大的机器作业,500台机器上运行着上百个数据库。小公司里的大都DBA,就不会存在了。”
十年之前,OCP都很少,十年之后的今日,简直要满大街都是Oracle OCM了。再过十年呢?或许Oracle都不是主流了。可是,围绕着数据的ACID应该是不会的。也便是说,咱们做数据库的运维工程师,要愈加去学习基础的、中心的东西,关怀数据库版别演进过程中新特性的改变,这些改变一方面是根据产品本身的改进,一方面是根据海量数据的需求。年代一直在变,不变的是咱们追求新知识新技能的心态。