在2007年ITPUB(http://www.itpub.net)香山年会上,我曾经对参会的Puber说,我想写一本关于Oracle高可用的书,一晃一年就快过去了,今年的年会即将到来,希望这本书可以在年会之前与大家见面。
其实一直有这么一个写本书的愿望,也曾经写过不少的文章,但是真正动手的时候,才发现写书与写文章的差异有多大,写文章可以哪里熟悉写哪里,但是,写书却是一个系统性的工作,需要把平常积累的点,串成线,连成面,必须具备非常全面的,系统性的知识。
本书最大的困难在于铺的面太广了,有同事开玩笑说,我可以写续集了,把每一章分开下来都可以再写一本书。写续集暂时没有想过,但是,要汇总这么多的知识量在一本书中,还是非常不容易的。所以在写作的过程中,我也是一个自我学习与完善的过程,把很多以前只是了解的东西,重新的学习,并反复的实验。>
本书所定位的读者,是公司与企业级的中高级读者,或者是以后想到公司与企业级环境中工作的中高级读者。所有描绘的场景,与实验的环境,都是基于Linux以及Unix的,硬件环境则是中高端小型机与中高端企业级存储。其实,也没有必要被企业级这三个字吓倒,或许现在,或许今后的某一天,您就是里面的系统维护员,数据库管理员,构架师甚至决策者,那么希望这本书能给您提供非常大的帮助。
本书汇集了我这些年以来的高可用性管理经验,特别是最近几年,在淘宝(www.taobao.com)中的高可用管理经验,作为数据的维护者,团队的管理者,面临系统管理,系统设计与构架,决策与支持很多角色。也正因为这么多的角色,让我学到了非常多的东西,这里要非常感谢汪海以及淘宝的环境,没有这里的环境,也就不会有这本书。
但是,需要提醒的是,作为读者,不要过分期望在本书中能找到很多具体的方法,本书更希望的是提供思想,跟很多编程思想的书一样,不会告诉大家怎么样具体的用代码实现一个什么东西,而是告诉大家怎么样正确的写代码。说到这里,我很欣赏张三丰与太级拳,无招无式,但是能克敌于无形。如果哪一天,你的脑袋中已经不需要记忆任何方法,但是,却可以举一反三,由面及里,从一个微小的表面事件看到事情的本质,并能够从根源上杜绝该事情的发生,那么,恭喜您,您的“太级拳”练成了。
初级的DBA碰到一个问题解决一个问题,永远都是在等问题,头疼医头,脚疼医脚。
中级的DBA知道怎么样去避免一些常规问题的发生,防止重复性错误。
高级的DBA知道了问题的原因与发生途径,能从流程规范等领域避免问题的出现。
资深的DBA知道了问题的本质,还能从规划设计上避免问题的出现。
顶级的DBA在问了,“什么是问题?我没有问题”。
记得禅学里面有这么一个故事,悟道者在悟道以前,见山是山,见水是水,悟道过程中,见山不是山,见水已不是水,但是,悟道了以后,见山还是山,见水还是水。
扯远了,话归正题。
最近几年,我面试了很多人,也看到很多人的简历,比如今年的毕业生招聘,一个岗位的竞聘者可以上千位。结果是,应聘的人感觉工作太难找,招聘的人却感到,合适的人更难找。这个就是差距,很多学生,成了中国教育体制下的牺牲品,上学的时候打游戏,考试的时候作弊,毕业的时候蒙混,找工作的时候就开始埋怨。
不管任何行业,高级的人总是奇缺,而低端的人总是遍地都是,永恒不变的金字塔结构持续了一年又一年。如果你不想做金字塔底端,就必须从早自我做起,当然,也希望本书能给您提供一些帮助。
在杭州站的考试中,有人在答卷上道,这些不是Oracle的题,体现不出我的优势。我给了他面试的机会,我问他,如果基本的算法题也不会,那么你觉得你的Oracle的优势在哪里?你觉得你能比别人强多少呢?回答不上来。一个连SGA分几部分,LGWR进程是怎么被触发也不知道的人,对比一个不懂Oracle的人,根本就没有优势可言。记得以前有人说过,有些毕业生只要会安装Linux,就可以说自己精通Linux,那是一个胆量!
要记住,机遇永远只给有准备的头脑,天上没有掉下来的馅饼。
也并不是所有人都这样,相对来说,另外一部分人就好得多,他们在学校里面,或者是毕业之后,有明确的方向与兴趣去学好Oracle,并能有明确的方向与目标。也收到过很多的求助信,问我怎么样能学好Oracle,说到方法,又是老生长谈了,我并不想多谈,关于怎么样学好Oracle,我只想送9个字:
多实践、多思考、多总结
除了学习Oracle如此,做任何技术,任何行业都是一样的道理。Oracle DBA是一个辛苦的活,在选择Oracle DBA之前,一定弄清楚自己是否真的愿意去做Oracle,是否适合去做Oracle,没有兴趣而仅仅是工资驱动的工作,是不会有太多的提高的。
在IT技术领域,很多人认为这里是一个吃青春饭的地方,而且最主要的是,干的是粗重活,得不到应得的尊重。对此,很多人都有比较极端的看法与讨论。但是,有一点我是需要说明的,这些情况正在好转,老的企业中可能还如此,但是在新型的,技术型的公司中,技术人员也有其宽松的环境与丰厚的待遇。
我的公司,淘宝(www.taobao.com)就是这样的公司,在这里,技术可以有最广阔的发挥空间,我在淘宝的3年多时间里面,学到了很多的东西,当然,也能最大限度的把学到的东西学以致用。我的团队,也是一个团结的,积极向上的团队,我们可以在1年多的时间中,把一个毕业生培养成一个高级DBA。我们互相帮助,共同努力,为一个公共的目标而奋斗,我们要打造中国最强大的DBA团队。
我要感谢我的公司与我的团队对我的支持,也希望有更多有理想有抱负有能力的人士,加入我们的公司,以及我们的团队,成为我们的一员。
本书最主要的话题就是高可用性,主要基于我最近一些年来的高可用数据库管理、维护、设计与构架经验。如在OLTP与OLAP不同数据类型下的高可用维护与管理,以及一些非常有用的经验总结。
所以,与高可用有关系的特性,在本书基本都可以找到,甚至是Oracle 11g的高可用特性。当时,为了补充这一部分信息,我停了2个月的写作,等8月份上海Oracle 11g的Open World之后,才继续写下去。本书最开始的时候,规划了24章,后来,很多章节都合并了,现在全书共分为16章共5个大部分。
第一部分:高可用性篇
介绍了Oracle以及周遍环境的高可用特性,包括硬件环境,存储环境,容灾与业务连续性,分级存储与信息的生命周期,Oracle RAC技术,Data guard技术,Streams技术,主机HA技术,Flash back技术,Logmnr,SQL Loader技术等等。同时,这一部分也是本书最重要的部分,占了本书绝大部分的篇幅。
第二部分:数据处理篇
介绍了在高可用环境下,怎么样规划备份与恢复策略,怎么样在高可用环境下做数据的迁移。特别是高可用环境下的数据迁移方法,是具有自主知识产权的一些新型迁移思想与方法,具有非常大的参考价值。
第三部分:系统优化篇
介绍了高可用环境下的优化方法与思路,以及优化案例。如通过对表空间的内部介绍到数据文件的规划,从优化工具的使用到优化案例的分析,解释了高可用环境中必须要注意的一些优化思想。
第四部分:系统维护篇
介绍了高可用环境下锁、阻塞以及死锁的原理,分析了高可用环境下的并发处理方法,并通过案例来说明高可用环境下大规模DML与DDL的操作方法与注意事项。
第五部分:系统监控篇
这部分只有一章,但是,这一章介绍的监控体系思想是非常不错的,解释了在高可用环境下,怎么样搭建一个自动的,高效率的,可伸缩性的监控体系结构。
在本书的编写与审编过程中,首先要感谢我老婆,虽然不懂技术,也把所有的文章读了一遍,并发现了很多错误。也要感谢我的团队,他们在工作上的支持,出色保证了系统的稳定运行。还要感谢冯春培(biti_rainy),赵林(zhaolinjnu),宁海元(ningoo),薛晓斌(blue_prince)对部分章节的审阅。
本书内容虽然很多,但是因为代码量少,页数也不算多。另外,因为本人文笔有限,书中内容不追求华丽,仅以通俗为主。虽然审阅多遍,仍然不可能避免有错误的出现,如果有任何问题,希望能多谅解。可以上我的个人网站(www.ixdba.com)提出疑问或者是直接邮件给我(piner.chen@gmail.com)。我的个人网站也随时提供对新书的支持服务与代码服务,以及更丰富,更深入的知识与内容。
最后,谨把本书献给我的宝贝女儿,作为她即将到来的周岁礼物。
2007年12月8日于杭州。
上一篇: « Raid5的xor计算问题
下一篇: 新书序言(by biti_rainy) »
- 发表评论


