ITPUB名人堂采访第三期

ITPUB名人堂访谈已经开展了三期,很荣幸我可以成为第三期的嘉宾。感谢hwayw对于访谈问题的精心准备。

第一期嘉宾是《让Oracle跑得更快》的作者谭怀远 - alantany
第二期嘉宾是号称百科全书,数年如一日每日一篇技术blog的杨长老杨廷琨yangtingkun

以下是对于我的访谈内容,ITPUB链接参看 - 《ITPUB名人堂》第3期-对话嘉宾:张乐奕先生

hwayw:
您有曾经在甲骨文供职的经历,如果现在有人想到您曾经工作过的甲骨文公司工作,需要做哪些准备?有什么好的建议给大家?
Kamus:
实事求是地说,甲骨文公司在中国的技术力量并不是中国Oracle从业领域中最强的, 很多Oracle技术高手都不在甲骨文公司,这应该算是比较奇怪的事情,不过这里并没有什么别的意思,之所以提到这个,是想说如果要求职甲骨文,那么技术面试并不会很难,相反要求的可能会有一些英文读写,不过如果应聘的是国内的Team,那么对于英文的要求也是不高的,另外如果有甲骨文员工推荐那么成功率会高很多。据我所知,甲骨文(中国)公司对于传统的数据库领域要求的技术人员并不多(因为已经接近饱和),而通常需求的是较新的产品,比如Goldengate,比如Exadata,比如融合中间件的一系列产品,另外对于懂技术又懂业务(比如OracleEBS套件,BI套件等)的顾问也是很欢迎的。如果你在第三方服务公司已经工作了几年并且已经成为这个公司的技术骨干,那么应该完全可以胜任甲骨文(中国)的技术职位,去试一下吧,没有想象中那么困难。只是如果仅仅是通过网上投简历,那么在浩如烟海的简历中,HR是不是可以筛选到你,这要看运气,这也是为什么说如果有Oracle员工推荐成功率会高很多的原因。

hwayw:
凭借您这么多年的工作经历,ORACLE在大型数据库的应用中主要有哪些应用呢?有哪些优点,以及哪些方面优于其它数据库,ORACLE数据库主要应用的功能是哪些?比如存储过程?还有哪些呢?,现在一般哪些公司用这个呢,银行?还是?能否列举几个实例?
Kamus:
我觉得这个问题需要改一下,可能已经不能说主要有哪些应用采用Oracle数据库了,倒是应该反过来问,有哪些应用不选Oracle数据库呢?
据我所知,除了四大银行核心系统采用IBM大机,这是Oracle数据库没有进入的领域(实际上很多稍小的银行核心系统也是采用Oracle数据库),之外几乎没有Oracle数据库不涉猎的,当然一些大客户的系统非常多,也绝不仅仅是只采用Oracle一家的产品,比如电信行业的BI目前应该就是被IBM垄断的。另外,现在如火如荼的电子商务(Web网站)领域,也大量采用MySQL等开源数据库,甚或是如MongoDB这样NoSQL数据库,但是通常在重要的订单生成及支付环节,还是在使用Oracle数据库。
提到Oracle数据库的优点,这是见仁见智的问题,每个数据库产品在技术上都有自己的优点,我就不再品评技术上的优劣,非技术的原因其实也有很大关系,我觉得之所以Oracle数据库受欢迎,是因为其采用了免费下载的方式,迅速获得了大量技术人员的熟悉和支持,这一点跟Windows在国内的发展其实可以相提并论,说得更实在一些,盗版成就市场。我一直认为其它厂商也完全应该仿效这种模式,免费下载,免费测试,商业使用再付费。另外,每2年一次的大版本升级,也让Oracle数据库始终走在技术前沿,不管如何,混个脸熟,这是必须的。

hwayw:
在您工作的大型企业,您用得最多的灾难备份的技术或者方法是哪种呢?还有就是您工作的经历,出现过哪些数据丢失或者数据恢复,或者是某个数据服务器损坏令您印象比较深刻,谈谈您在处理完这些故障后的感想?
Kamus:
目前灾备技术仍然大量使用Oracle的Dataguard,如果说RAC也算是灾备的一种,那么就更加普遍了。如果Goldengate也算作灾备,那么近两年来在Oracle的大力推动下,也成为很多客户的选择。
数据丢失及恢复案例中,印象较为深刻的一次,是我们的一个客户在我们的建议下,准备为没有任何备份的数据库添加RMAN备份策略,但是由于空间问题,需要先添加一些磁盘,在Linux操作系统上,添加了一块磁盘,然后重启了主机,想当然的将最后一块磁盘格式化了(意思是之前有/dev/sda和/dev/sdb,添加了新硬盘以后,认为新硬盘必然是/dev/sdc,因此就直接格式化了/dev/sdc,并且创建了文件系统),但是实际上新加的盘是在机器重启以后被认成/dev/sda,而原先的sda和sdb则变成了sdb和sdc,所以格式化/dev/sdc的命令就直接将一个包含了大量数据的ASM磁盘格式化掉了。没有任何备份,磁盘被格式化,非常悲惨的一次事件。最后虽然我们通过一系列手段将大部分数据救回,但是客户也为此损失了大量财力人力和时间。
之所以印象深刻,是因为这个案例是在实施灾备的过程中破坏了数据,就好比在买保险的路上被车撞了,它告诉我们灾难时刻存在,一分一秒都可能碰上,细心+技术可以避免一些问题,但是只有完善的灾备才可以救命于水火,试想如果你的机房部署在2001年9月11日的纽约双子大厦,仅此一份,没有异地备份,前一秒可能还在洋洋自得,系统性能调整的多好,业务又得到长足发展,后一秒一切都化为乌有,再细心再有技术也于事无补。

hwayw:
现在有越来越多的人对DBA的未来担忧,随着数据库版本的升级,系统越来越稳定,功能越来越齐全,将来的DBA工作是否会被稳定的软件系统所取代,您对此有何看法?您觉得DBA的前景如何?
Kamus:
数年前,DBA的工作范畴可能还仅仅局限在Oracle数据库中,只要登录进SQL*PLUS,所有的工作都能完成了。但是如今,DBA已经远远不仅仅是数据库实例管理员了,而已经可以称为数据管理员。没有任何一个软件,可以替代行业知识,可以替代人对数据的熟悉程度,也没有任何一个软件可以用来决策系统架构,所谓逆水行舟不进则退,如果在DBA这个岗位工作了5年,却还只知道数据库的备份恢复,表空间的整理,索引的调整,那么可能确实要为自己的未来担忧一下了。
Exadata的出现,意味着DBA的角色前所未有的复杂起来,不仅需要懂数据库,还需要懂主机,存储,网络,更需要懂的是应用的特点、数据的分布特点,所以只要能跟随着技术,不断学习,同时不断积累行业知识,DBA可以做到老,哪怕在中国也是可以做到老的。当然,如果你想DBA做到年薪100万,恐怕还是要先考虑如何进入管理层。

hwayw:
曾先后任职于北京某大型软件公司,某外资电信企业,某著名咨询公司,首席DBA,要想成为一个DBA需要具备什么样的素质?该如何系统的学习ORACLE数据库。如果学习ORACLE,应该注意哪些方面,从哪些方面入手,怎样才能达到应用熟练的水平?
Kamus:
我一直认为唯一一个需要具备的素质就是兴趣,唯一一个不能缺少的素质也是兴趣。我曾经说过,如果当你看到一篇跟你技术相关的并且又很有帮助的文档,但是却完全没有兴奋感的话,那么可以考虑一下,是不是应该转型而不要再作技术了。DBA跟其它的技术工种一样,没有什么特殊需要具备的素质,能做的好还是不好,有兴趣没兴趣最重要。Oracle是值得成为兴趣的行当,而绝不应该仅仅当成谋生的手段。
如何系统学习Oracle,很多人都已经说过,而且也说得很对。阅读官方文档+自己动手做实验+论坛中参与讨论,这是学习的三部曲,也是快速提高技术的方法。如果想学习Oracle,但是从来不知道tahiti.oracle.com这个网址,那么你并没有认真在学习;如果想学习Oracle,但是自己的机器上都没有Oracle数据库,也没有几个虚拟机环境,那么你并没有认真在学习;如果想学习Oracle,却从来不知道有一个itpub.net可以用来讨论Oracle,也不知道中国有ACOUG用户组(呵呵,这是开玩笑),倒不能说你没有在认真学习,只是自己一个人学习不觉得孤独吗?如果你一直在没有兴趣地,不认真地,孤独地学习着Oracle,那么要不改变,要不放弃 。

hwayw:
Oracle ACE几乎是学习oracle数据库的人都想得到的一种荣誉,现在已经有更多的人开始关注oracle数据库,如何能成为一个OracleACE,有什么好的捷径可以分享一下?
Kamus:
任何事情都没有捷径,如果在一开始就抱着走捷径的目的去作一件事情,那么从开始就输了。OracleACE实际上也并不是一个技术上的殊荣,而更多的是考虑社区贡献的多少,一个人即使有很强的技术,但是从来不愿意分享那么仍然不符合ACE的选拔条件。
当然实际上这样的人并不会太多,特别是在当今的网络时代,既有高深技术却又不愿意分享的人真的不会太多,所以在这个层面看上去,似乎OracleACE都是技术高手,但是实际上,OracleACE应该是积极的Oracle社区分享者,分享则包括了写自己的blog,自己的著作出版,翻译出版,组织社区活动,积极在社区活动中作主题演讲等等。
按照我的经验:从认真学习Oracle开始,坚持每天学习,坚持总结心得,坚持分享体会(通过网络中的各种方式,比如blog,比如论坛,比如用户组),大约需要两年的时间,可以有所斩获,然后再坚持2年,大约就有机会成为OracleACE了,说上去似乎并不难,但是持之以恒包含热情地学习并且分享持续4年的时间,大约是现在这个浮躁的社会很少人能够做到的,但是如果你做到了,你就成功了。4年时间在一个人的职业生涯中其实并不算多,只是看你愿不愿意静下心来付出这四年。

2 Comments Add yours

  1. CrazyTony says:

    精彩!

Leave a Reply

Your email address will not be published. Required fields are marked *