2009年4月2日,51CTO技术人频道邀请了资深Oracle DBA、《Oracle数据库精讲与疑难解析》的作者赵振平老师作客嘉宾聊天室,与我们共同探讨如何成为一名优秀的DBA。
赵振平:生于20世纪末中国西南的一个边陲小镇。公元2001年,我正式主攻数据库和数据仓库。开始的岁月,Sybase、Oracle与SQL Server三座大山压得我无法喘息,从不低头的我们仍然要继续前行的路。N年以后,我们越过了Sybase、Oracle、SQL Server、MySQL、DB2这几座大山。但是,中国至今仍然没有自主知识产权的数据库,路还很远…很长…还需要更多的人与我们一起努力!! ...
以下为聊天实录,51CTO略有整理
DBA应具备哪些素质
51CTO:今天来到我们51CTO聊天室做客的嘉宾是《Oracle数据库精讲与疑难解析》一书作者,资深Oracle DBA赵振平老师。和我们聊聊如何成为一名优秀的DBA。请赵振平老师介绍一下自己的职业经历。
赵振平: 作为一个在DBA工作很长时间的人士,我想和大家一起分享我的经验。 首先介绍一下我自己,我叫赵振平,2000年左右进入IT业,那时候IT业很容易找到工作。很多华尔街金融家认为IT具有投资价值,所以他们大量引入了IT业,导致当时的网络泡沫。刚开始的时候,我作为开发人员进如IT业,我觉得开发人员转DBA,对我日后发展非常重要。作为一个开发人员,我了解整个开发流程,包括应用程序怎么部署,软件开发生命周期,还有数据库如何和应用程序如何和数据库进行交互。通过一段时间磨炼,我知道很多东西,大概2002年以后,就正式的转到DBA角色,完全脱离开发,在那个时候看DBA这个行业是很有发展前景的,不管从美国还是其他一些地方,DBA这个行业的薪酬,发展远景都非常好。
2002年我正式成为DBA后,一直从事DBA工作,到现在为止我还工作在DBA第一线。03年我获得了美国Oracle公司的证书,那时候很不容易,国内计算机书籍很少,特别是Oracle数据库这方面,应对考试的书非常少。要想通过考试除了对计算机有所了解,英文也要非常好,尤其阅读能力。要想获得第一手资料,很全的资料,必须能够阅读Oracle公司官方文档,包括翻译书,很多东西是Oracle公司官方文档翻译的。获得OCP证书以后,06年,电子工业出版社的侯老师想出版Oracle的书,我在DBA这个行业做了很多年,积累了很多工作经验,很想把我的一些心得跟广大读者一起分享,我就从那时候开始写书,一直到08年Oracle数据库这本书才上市,这就是我这几年的一些经历。
51CTO:请赵振平老师给我们讲一讲很多网友关心的问题,就是DBA这个职业发展的前景怎么样,尤其薪资水平怎么样。
赵振平: DBA在2000年左右确实是一个高薪行业,DBA薪水跟普通开发人员薪水拉得非常大,到现在很多人士都觉得DBA是一个高薪行业,导致DBA这个行业有很多人加入,竞争非常激烈,但是现在DBA行业还是薪水比较高,在国外在美国,加拿大一般可以拿到75K到80K这个水平。在国内DBA薪水拉的得开,主要看个人能力,有拿5000,8000,25万到35万的,一些高级的DBA,如果是首席DBA,在一些大公司首席DBA他们薪水可能比这要高得多。 国内平均水平8K到10K水平,这就是DBA当前薪水情况。
关于DBA发展前景,我觉得这个行业还是不错的。我们放眼世界除了美国以外,世界还有很多发展中国家,这些发展中国家还需要大量的DBA,为什么?因为随着世界发展,经济发展,网络的普及,我们计算机应用在世界上越来越广,只要人类有活动,就会产生数据、信息,只要有信息数据就有需要对这些数据进行管理,只要对数据进行管理我们就需要DBA这个角色。
DBA这个行业要考虑远一点,不要紧紧把眼光放在中国,要相信某一天我不在中国找这个工作,我可能会到一个中东国家或者到北美、加拿大、日本。所以我觉得DBA这个行业我感觉还是很有前景的行业,而且这个行业随着以后的发展,这个职位从它产生那天开始,一直非常有活力,而且根据计算机在世界各个地方普及,这个职位会越来越重要,越受到人们的尊重,所以我觉得这个职位会非常有前途。
51CTO:金融危机对DBA有影响吗?
赵振平:影响非常大,DBA这个职位,在很多人眼里面就是IT职位。其实DBA这个职位分布在很多行业、领域,尤其是金融、证券业、石化,还有中国电信、中国联通,这些职位分布在这些企业,尤其是大型的金融机构,花旗银行等等,他们DBA也很厉害,他们DBA也很多。
我们知道银行数据是最重要,要保密的,所以说银行对DBA非常重视,当前金融危机对金融业的影响非常大。美国很多大银行,大证券公司,他们关闭了很多海外机构,导致很多DBA的失业,对于工作在金融领域这个行业的DBA来说,对他们影响是非常大,对于工作在其他行业的小一点。金融业受到重创,金融业传导到其他实体经济,其他实体经济受到影响也很大,在实体经济DBA他们薪水、职位能不能保住,对他们影响也是非常大。
我觉得当前金融危机对金融行业,对那些实体经济影响非常大,但是从往后看的角度,不管金融危机如何影响,总有一天金融危机会过去,而且就是说人类的活动、需求不断产生,所以说在这种前提下,这个世界很多行业还是不断需要DBA的,所以我觉得虽然受影响,但是DBA这个行业还是有前途。
51CTO:您觉得要想成为一个优秀的DBA应该具备哪些素质呢?
赵振平:我觉得分两个层次,一个从技术角度,另外一个文化的角度。作为一名DBA必须有全面知识,从技术角度来说,我们会分成两大块,硬件和软件支持。数据库运行到的设备都是大型设备,便宜一点像一些PC服务器,小的十几万,一些小型级50、60万,一些大型机价钱更贵了。我们要对硬件,主机比较了解,因为数据库直接运行在主机上,如果一个DBA对主机不熟悉,你怎么能说从何管理数据库,所以我们对主机这块必须非常了解。
另外除了对主机我们对磁盘阵列也必须了解,因为当前虽然技术发展,很多银行、证券公司,一些大的网站,他们都是提供7×24小时,7天24小时不间断运转,所以他们的设备,要提供一种高可用性,需要一些大型设备,磁盘阵列也要大型的。
另外DBA对网络也应该有一定了解,现在全球经济是你中有我,我中有你,为什么在这个金融危机发展的前期,各个国家都是各自为政来处理金融危机,但是各个国家包括美国,加拿大,其他国家采取一些措施对金融危机没有产生多大的效果。这次金融危机和美国以前发生的金融危机不一样,以前美国金融危机仅仅是美国一个国家的金融危机,而现在金融危机是全球性,一个公司在全球有很多分公司,它的网络在逻辑上是联在一起,作为一个DBA要管理可能不仅仅是你本地数据库,或者是你中国的数据库,可能你管理是全世界,这些数据库物理可能是分布在韩国日本,所以你对网络也有一定的了解,作为一个DBA硬件层次必须了解这几个方面。
赵振平:软件方面我们也要了解,首先就是操作系统,我们数据库大部分运行在Linux等平台上,如果我们DBA对他们的系统不了解,那么我们无从管理他们的数据库,因为数据库是运行在操作系统之上,操作系统就是轴,轴功能不好,其他怎么能好的。软件包括操作系统,另外就是应用程序,我们一个数据库运行最终目的,是为了给外面人或者客户提供服务,就存在就是说我们要给其他应用程序提供一个交互,如果就是说你对应用程序如何访问数据库我们连这个原理都不了解,那么我们对数据库进行管理呢?
另外重要就是我们了解运用程序如何访问数据库,为什么这点非常重要,因为我们了解这个机制,我们才能知道如何提高我们数据库性能,如何提高我们数据库的最大化,这块其实我也想多讲一下,因为其实数据库经常会发生性能下降的问题,根据我这几年的经验分析,数据库性能降低60%,是和我们硬件有关,我们硬件已经达到极限,包括内存,CPU计算能力,网络传输能力已经达到极限,这些是40%。60%是我们数据库设置不当导致效率低下,我们进行数据库性能调整,第一点首先要着眼于60%的软件问题,40%是发展我们的硬件。
我们从大的方面讲了技术层面,但要想成为一个优秀DBA有两个方面,一个是技术,一个是文化层面。文化层面就是作为一个优秀的DBA,第一必须冷静,为什么呢,数据库经常发生一些问题,当你用数据库最新版本,把最新应用用到实际工作当中去会遇到很多问题,而且这些问题你在以前没有看到过,谷歌或者百度也找不到答案,遇到这种情况必须保持冷静。另外就是必须谨慎,当你在一个公司管理一个很重要数据库,出现问题的时候,首先你的客户,同事正在等待你解决问题,老板正在催促你,CTO在督促你,这个时候必须保持冷静,因为保持冷静才能静下心来,想方设法解决问题,找到这个问题答案。如果这个时候不冷静,找不到答案,还会给公司带来损失,或导致一些其他的故障。所以作为DBA冷静、谨慎这两点是非常重要的。
另外就是DBA必须有沟通的技巧,这也是非技术问题。大家知道作为一个DBA他要服务的对象很多,大家有时候觉得他是一个很神圣的角色,其实不是这样,DBA其实是一个很下面的角色,为什么呢?因为这个角色为很多人提供服务,你要为客户提供服务,要为其他客户提供支持,你要给开发人员提供技术培训,你要给你的CTO提供整个公司数据库的硬件和软件规划,还有要给你CTO提供性能方面咨询。所以作为一个DBA你要为很多人服务,还有特别是对市场人员,在竞标一个项目的时候,DBA需要为市场人员提供一些数据方面技术支持,所以DBA也需要和市场人员沟通,所以一个DBA做得好做不好,技术是一个层次,沟通也非常重要,跟客户沟通不好,得罪公司客户;和开发人员沟通不好,开发人员可能写不出来高效的程序,不和开发人员进行合作可能导致公司整个项目往后推了;不和市场人员沟通好,市场人员得出数据不利于这个公司发展;不和自己CTO沟通好,不知道你的CTO到底让你做什么,完成什么任务。所以DBA的沟通能力是非常重要的。
另外一点,作为一个DBA必须有挑战精神,为什么必须有挑战精神,因为数据库在不断发展,公司在不断壮大。当公司业务壮大,数据量不断壮大,我们需要一些高端设备,包括硬件软件,我们需要应用新的技术解决我们面临的问题,如果一个DBA没有挑战精神,几年以后你发觉你已经被整个IT业远远落在后面了,所以说一个DBA必须有挑战性,想方设法运用最新技术解决公司问题,新的技术能够让我们业务提高好几倍,所以说DBA另外一个精神就是必须有挑战精神。这就是说作为一个DBA必须要技术全面,第二就是必须谨慎,小心,有挑战精神。这仅仅是我作为一个DBA的感受。
DBA如何提升能力
51CTO:现在还没有做DBA,但是想做DBA的网友问,DBA工作非常重视经验,如果没有工作经验很难获得一份DBA工作,但是这就是形成了一个恶性循环,没有经验就找不到工作,找不到工作怎么会有经验?所以有网友想问,在没有实践条件情况下,怎么获得DBA的工作的经验呢?
赵振平:你问的问题是很多网友关心的问题,其实也是很多大学毕业生很感兴趣的问题。关于这个问题我的想法有一点奇怪,我觉得作为一个毕业生,刚刚进入社会的时候,不要在乎这个社会给你多少,而是应该想想你能为社会提供多少,你没有为社会服务,社会是没有办法回报你的。所以我觉得应该从你成长的角度考虑,进入一个新公司目的,不是要挣多少钱,你是想从这个公司让自己快速成长起来。
对于没有经验又想从事DBA工作的人我有点建议。现在PC已经很发达了,我们不一定非要到很真实的环境才能获得一些经验,我们在平时的学习中我们也可以学到一些经验。比如说数据库这块,我在家可以先学习一些数据库理论知识,这些理论知识非常重要,为你以后在工作中解决问题打下一定基础,在你学了一些理论知识以后,你要进行一些实验,比如说有朋友说我要到真实环境才可以进行实验,其实不是这样。在数据库管理中,80%的问题在我们学习阶段也可以碰到。比如说你不知道数据库down机以后是怎么回事,很简单,里把你机械的电源拔掉,或者你把操作系统直接关掉,或者你把数据库某些重要文件删掉。可以模拟一些故障来解决,你会想这些问题是怎么产生的,把以前学习的内容调动起来,你会想我要解决这些问题需要用哪些知识,是基础知识网络结构还是一些备份,在解决问题发觉你学到知识往往不是数据库,引起数据库故障有很多,有硬件,操作系统本身的原因,当你制造一个故障解决了故障以后,你会发觉你成长非常快,硬件知识、数据库知识补上来了。对于想入行DBA的朋友,平时可以在自己实验中获得很多经验,当正式工作时,会发觉很多问题是你遇到过的,这些解决起来会很简单,不会战战兢兢的。
51CTO:有网友问OCP对DBA有用吗?
赵振平:大家觉得现在OCP大街上满大街都是,恰恰我不是这样想的,我们考OCP,并不仅仅为了拿到一个证书,在考试过程中我们完全了解整个Oracle体系结构。有朋友会问,为什么必须了解这个体系结构呢?其实了解Oracle体系结构非常重要,作为一个DBA特别是当你用到一些最前沿的技术,当数据库发生问题的时候,我们解决过程是这样的,先看一下自己能不能解决这个问题,想一下,如果找不到档案,再去百度搜索一下,如果找不到再去国外网站进行搜索,我们用最前沿技术自己想不出办法,在百度搜不到,国外网站也找不到,这个时候怎么办,这个时候Oracle体系结构是非常重要,可能你是第一个碰到这个问题的人,这个时候要完全靠你自己,用你学到理论知识,结合发生故障的一些现象找到一个解决方案,所以你学习过程中理论知识很重要。我为什么建议大家要去考,要求考OCP和没有考的人是不太一样的。如果你考过OCP人,你有很强的理论知识,你对整个数据库体系结构非常了解,所以OCP对于DBA意义是很大的。
另外,正如大家说这是获得一张入场券,一些公司很看中这个证书。但是关于这个问题我还有一些看法,对于小的公司很重视OCP证书,对于大的公司连你的OCP证书都不看,他不需要这个,因为OCP证书仅仅代表,你对Oracle有很深的了解,不代表你实力很强,大的公司不会看重你这个证书,所以这是我对OCP证书的一些看法。
51CTO:您在工作当中怎么充实自己,在成为DBA以后,怎么在工作中得到锻炼提升自己。
赵振平:这几年我觉得崇尚技术至上,IT业就是就是技术至上的行业,所以这几年我一直工作在IT技术的第一线,其实我喜欢工作在DBA技术第一线,为什么呢?因为只有工作在DBA第一线,才能从题中吸取教训。工作在第一线的时候,当我每接触到一个东西,或者到一个单位的时候,我很喜欢给自己一些挑战。到一个新的单位,公司业务发生了变化,为了服务这个业务,我们硬件发生了变化,软件发生了变化,这个时候我们你要面临很多挑战。
DBA这个职位需要有挑战精神,我们要面对这些挑战,我们通过克服这些挑战,不断让自己提高很快,特别是作为一个Oracle DBA来说,当你遇到一个问题的时候,这个问题很难,解决整个技术的过程和矛盾的,在这个各个当中压力非常大,你要让所有的人满意,而且DBA的另外一个特性就是反映必须快速,因为一个公司不可能把机器停24小时,你需要在很短时间内把故障排除了,但是当你解决这个问题以后,你发觉你的进步非常大,你从一个高点又进入了另外一个高点,所以在工作以后,应该不断充实自己。
另外就是给大家一个建议,你到一个新的公司,如果这个公司有新的硬件的时候,在这些硬件没有成为正式的,运作生产中,你可以利用这些硬件设备或者软件设备进行一些 实验,因为对于DBA来说,我们应用软件和硬件,它的成本很昂贵,便宜的十几万,小型20、30万,还有更贵的,对这些硬件对我们个人根本就买不起,当你到一个单位,这个单位有这些设备,但是这些设备还未投入到生产中,你可以利用这些设备,这是一个很难得的机会,没有比这个更好的学习机会了,这时候我们可以利用这些硬件软件进行学习不断提高,所以我觉得在工作过程就是要不断挑战。
51CTO:您觉得在这个过程当中遇到的最大困难是什么?
赵振平:我觉得最大的困难就是自己。因为在挑战过程中,很多时候会非常沮丧,因为当我们遇到一个问题的时候,可能我们自己解决不了,我们会想办法向别人求救, 我们可能用百度,谷歌搜索,当你所有的努力没有得到正确答案的时候最沮丧,也是最困难的时候,你必须强迫自己继续努力,当你重复了一次又一次,失败了以后,最大的敌人就是你自己。继续走下去,很多问题可以想出答案,可以想到一种间接的解决方法,我们是自己的最大的敌人,如果我们能够克服自己我们就能够往前走。
51CTO:我们知道您之前写过一本书叫《Oracle数据库精讲与疑难解析》,很多网友反映这本书定价比较高,您能谈谈为什么定这个价格吗?
赵振平: 很多读者反映这个问题,觉得这本书定价偏高了,相对国内的同行出的书,或者相对一些国外大师出的书高一点点,我也觉得挺高,但是从我个人角度,我觉得高还是正常的。因为这本书和其他书不一样,它的原创性非常高,尽管一本书有它的优点和缺点,很多读者对我的书有批评,我也接受大家建议,但是这本书也有很多精华。
从我工作起很多案例都在这本书里面,我做DBA这么多年,Oracle 7我用过,Oracle 8,Oracle 10,一直到11g我都用过,在写书以前这段时间积累的东西,有关Oracle 8、Oracle 9到Oracle10 g有很多经典都放在这本书里面,这本书90%的例子都是我自己遇到的,另外这本书的例子我基本上反复验证了,我能找到条件,我在我的PC机或者服务器把这故障重新模拟了,所以说大部分例子都是经过我自己实验过。现在读者朋友要求很高,首先里这本书必须严谨,我把这本书的很多东西全部实验了。
另外这本书写的时间非常长,有的朋友说你这本书写了这么长时间代表你没有水平,大家可以看一下,这本书很厚,耗时我接近3年的时间,虽然有的读者觉得这个时间太长了,但是在写书的过程中,包括策划,写,包括试验,这些都非常耗费时间。
像这本书里面例子,有的例子可能我写的时候,我只需要两个小时,我就能把这个例子完完全全呈现给大家,但是为了这个例子,我要从不同角度把这个例子呈现给读者,写这个例子的时候我要想到方方面面的问题,不能说在这个环境下这个例子可以,换一个环境就不行了,所以我做这方面实验非常多,这就是写这本书花那么长时间,为什么这本书值那么高的价位。这本书第一版销售已经接近尾声了,根据大家反映非常不错。
另外一点这本书亮点是什么,大家看了,这本书非常厚,非常贵,买一本书相当于买其它书两三本。它其实也适合那些没有经验,又想成为DBA的读者,因为作为一个DBA来说,很多问题在入行以前不可能遇到,我这本书里就写了这些故障如何产生,如何解决这些问题,增加你们的经验。另外一个好处就是说我告诉你的是一种解决问题的方法。并不是解决了这个问题换一种问题你就解决不了。
比如说客户端连接上数据库这个问题,教给大家的是一种方法,首先一点你要先用Oracle TS,看客户端是不是能连接数据库,TS可以通数据库,说明客户端到接听是通,只是说在连接数据库的时候有问题,属于TS不通。我们先要看操作系统问题,首先操作系统用命令看能不能通,如果能通我们进入Oracle层面,如果不通有两个问题,一个是操作系统设置问题,另外可能是我们硬件问题,在这两块不通,我们解决操作系统问题和硬件问题;如果能通我们进入到Oracle的问题。进入到Oracle问题以后,是我们端口不正确,还有我们IP地址有措施,整个过程基本上是遇到任何的Oracle的网络问题,基本上大概都是这么走,你只要按照我这个步骤,基本上可以排除,到底客户端连接不上数据库可以找出原因,这本书告诉大家不仅仅是一些例子,而是告诉你如何解决的方法。另外一点,我想补充是,这本书耗费时间特别长,耗费大量的时间,精力,我付出了很多心血,虽然也接到了一些网友的批评,我希望大家给我提出更多的建议,我不断改进自己,以后为读者提供更好的书。
网友问答
鹏:想从开发转到DBA应该从哪学起?
赵振平:我觉得如果想做DBA最好从开发做起。最好开始要做一两年开发,因为在开发过程中你能了解,数据库是为前端应用程序服务的。如果一个DBA不了解这个应用程序如何运行的,如何开发出来的,如何和数据库进行交互,当我们数据库出现问题的时候我们可能不知道这个故障怎么产生的,特别是当这个数据库出现性能的时候,我们不知道如何解决这个问题,如何和开发人员协作解决这个问题,我的建议是最好从开发做起
另外就是SQL是怎么写出来,怎么应用,在应用程序里面怎么运行,在数据库服务端怎么运行,你只要了解整个机制,当你以后成为一个DBA的时候,里发现数据库慢的时候,你能从数据库端跟踪到服务器,我的建议要从开发做起,做一两年再转到DBA。
当你已经做了一两年开发的时候,想转到DBA,做了一段开发对数据库有一些了解,这时候里要静下来看一些理论性的东西,你想让自己DBA职业生涯走得很远你必须对这些理论知识非常了解,因为虽然技术不断更新,但是再怎么更新还是脱离不了数据库,更新以后里也只是需要花小小的时间,让你的水平站在前沿的水平。要做一个专业DBA,体系结构这块必须了解。 学了很多理论知识以后,需要一个平台,应用这些知识,验证这些知识,当我们看书的时候,当我们学Oracle或者其他数据库理论知识的时候,虽然它自称是体系结构,在我们大脑里面这些知识并不是一个完整的体系结构,这时候如果我们有一个平台,进入到一个实验,我们就能把一些知识联结在一起,所以对它的理论知识必须彻底的了解,不是只知道大概,知道大概作为一个开发人员没有问题,但是作为一个DBA要解决问题是很难的,***理论知识以后再结合一些实验,获得一些实际工作经验。当我们学理论知识的时候,这些理论知识虽然我们理解,但是这些理论知识在我们大脑里面还是比较模糊,当我们实验以后让这些理论知识在我们大脑里面更加清晰,所以理论知识必须吃透,进行大量的试验,大胆一点,虽然你解决问题很困难,但是你发觉你进步很大。
DDBBAA:学哪个数据库有前途?SQL Server还是DB2还是Oracle
赵振平:这个问题挺好回答,但是挺难做。现在DBA不像以前的DBA,前几年有Oracle,在DB2方面很擅长,就很容易找到工作,可以拿很高薪水,现在其实DBA这个行业发展到今天,已经有一个质的变化了,现在的DBA,特别在大的公司对数据库有一个积累的过程,早先可能用Oracle,发现 SQL Server便宜就用 SQL Server,再用 MY SQL,在一个公司应用集成了很多数据库,这时候对DBA提出了很多要求,一个DBA不仅要会Oracle,会Oracle只是一个DBA其中一个要求之一,还要会其他的,这些数据库之间要进行交互,在数据进行交互的时候,或者是进行数据库访问的时候,我们要把这些数据库综合,这时候对于一个DBA不仅要了解Oracle,要了解 MY SQL,也要了解 SQL Server,你对各种数据库平台必须了解。
就是对每个数据平台都要有一些了解,另外对操作系统每个平台你也要了解,你做DBA没有办法选择你的数据库运行在哪个平台,有的数据库运行在Windows,有的运行在Linux,作为DBA没有办法选择,你只能接受。在操作系统层面不仅要懂Windows,Linux等等都要懂,当前对DBA要求更高,对各种数据库都要了解,各个版本操作系统都要了解,这是对当前DBA一个很高的要求。
john:dba这个行业是否和英语能力有很大的关联
赵振平:有关学习数据库的过程,很多朋友遇到就是英语问题,因为我们虽然学英语学了很多年,但是我感觉对我来说,我的英文水平也不怎么样,所以接触Oracle的时候,各种数据库,都来自于美国或者欧洲国家,他们是用英语表述他们的技术,所以我们在我们想掌握他们技术,领会他们技术精神,走在技术最前沿,这时候我们第一手资料都是英文的,所以我们必须学英文,特别是我考OCP的时候,英语成了我最大的障碍。
开始的时候,三天读一页,我记得很清楚当时英语实在太差了。开始的时候三天看一页,对我们来说不仅要了解它的字面意思,这篇文章到底告诉我们什么东西,什么技术,除了字面意思,必须领会技术精神。但是因为没有太多参考资料,没有办法只有坚持,大概一个月以后就发生了一些变化。开始的时候,我是三天看一页,一个月以后我们是一天看三页,一个月以后我发觉我的阅读速度比以前提高了,三个月以后,我一天可以读7、8页也没有问题了。所以我就发觉在英语和技术结合这一块,主要看你能不能坚持下来,开始的时候非常困难,像我说的三天看一页,但是你坚持很长时间以后,恰恰反过来,一天看十几页都是很正常的,你坚持了三个月,半年或者一年以后,你发觉可能你的口语水平没有什么变化,但是你的阅读能力已经发生了翻天覆地的变化,所以我觉得无论是DBA还是其他开发人员都会遇到这个问题,因为你要走在技术最前沿,你必须很快速浏览英文资料,并且知道人家告诉你意思,应用人家最新的技术,所以无论是开发人员还是网络工程师,必须能快速阅读英语,开始很困难,如果大家能坚持下去半年以后,大家阅读能力一般来说绝对不是问题。
鲜橙加冰:关心DBA目前的工作压力问题。请赵老师方便的话说一说。
赵振平: 确实是,DBA压力是非常大的,这个不同于开发人员,不同于IT业其他职位,作为一个DBA你管理数据库是7×24小时运转的,大家想一下,一个公司其实最核心的东西是数据库,如果数据库down了我们业务人员没有办法开展工作,开发人员也无法工作整个公司所有业务基本上全部停顿。
我记得是05年,我给一家公司遇到过一种情况,当时我们数据库突然down了,当时压力非常大,因为整个公司业务全部停顿了,业务、开发人员停止工作,CTO不断打电话来,老板不断打电话来,我当时一边在打电脑,一边跟我们的CTO打电话,我说快了,就快解决了,我的CTO一会儿一个电话。当时压力非常大,但是压力大的情况下,你还必须保持冷静,在你解决问题过程当中,如果你不冷静可能造成新的问题,让公司造成更巨大的损失,这些年我感觉到做一个DBA,压力非常大,做一个公司DBA基本上没有时间限制的,即使就是说大半夜你在睡梦中,一个电话你也得起来,赶到公司去,解决这些问题,以前我工作的时候,我们老板给我们提出了三个A的要求,无论你哪个地方,无论你在什么时候,无论你用任何方式,你必须给我管理我公司数据库,无论你在北京,广州还是在哪,我公司数据库出了问题你必须解决,无论里在网吧里面还是在家里面,公司,公司数据库出了问题,你也必须能够连接到公司的数据库,解决问题所以说压力非常大。当我压力很大的时候,当我遇到的问题时候,当有很多人催促解决问题的时候,无论压力多大,我都会告诉自己,不要感他们对你大呼还是小叫,当我遇到压力的时候及我会抛开压力。