本书总结了作者多年来管理Oracle高可用数据库的经验,特别是近些年来在淘宝网(www.taobao.corn)工作的大量实战经验。全书共分为五篇,依次为高可用性篇、数据处理篇、性能优化篇、系统维护篇和监控体系篇,其中对管理Oracle高可用数据库的讲解尤为细致,在帮助您学习Oracle高可用性方面极具参考价值。本书不仅适合有高可用需求的Oracle DBA参考和阅读,部分章节还适合有Oracle高可用需求的系统管理员、系统构架师,以及管理者和决策者参考和阅读。
第1篇 高可用性篇\r\n 第1章 什么是Oracfe高可用环境\r\n 1.1 理解Oracle数据库\r\n 1.2 Oracle高可用特性(HighAvailability)\r\n 1.3 搭建高可用的周边辅助环境\r\n 1.4 高可用应用设计\r\n 1.5 高可用数据库设计\r\n 1.6 高可用性案例\r\n 1.7 总结\r\n 第2章 OracIe高可用性之辅助环境\r\n 2.1 存储的选择与规划\r\n 2.2 网络存储技术\r\n 2.3 主机的选择与规划\r\n 2.4 操作系统与存储管理\r\n 2.5 高可用环境硬件选型案例分析\r\n 2.6 总结\r\n 第3章 Oracle高可用之容灾与分级存储\r\n 3.1 容灾\r\n 3.2 容灾案例分析\r\n 3.3 分级存储\r\n 3.4 总结\r\n 第4章 OracIe高可用之RAC介绍\r\n 4.1 RAC:的构架\r\n 4.2 Oracle 10g/11g中RAC的新特性\r\n 4.3 RAC的负载均衡\r\n 4.4 RAC的内部结构与优化\r\n 4.5 RAC的维护管理\r\n 4.6 ASM介绍\r\n 4.7总结\r\n 第5章 OracIe高可用之StaNdby介绍\r\n 5.1 备用数据库(Standby/Data guard)简介\r\n 5.2 决定归档的一些参数说明\r\n 5.3 最大保护模式与最大可用模式\r\n 5.4 日常管理\r\n 5.5 主库与备用库的切换\r\n 5.6 逻辑备用(Logical Standby)库\r\n 5.7 Standby其他高可用特性\r\n 5.8 总结\r\n 第6章 Oracle之Sfrearns介绍\r\n 6.1 Streams介绍\r\n 6.2 Streams特性\r\n 6.3 Streams简单配置\r\n 6.4 SharePlex与DSG RealSync\r\n 6.5 总结\r\n 第7章 高可用性之主机HA\r\n 7.1 主机HA简介\r\n 7.2 IBM HACMP简介\r\n 7.3 Veritas VCS简介\r\n 7.4 是否应当选择主机HA\r\n 7.5 总结\r\n 第8章 Oracle其他高可用特性\r\n 8.1 Oracle Flashback\r\n 8.2 Oracle高可用之Logmnr\r\n 8.3 在线表重定义\r\n 8.4 总结\r\n第2篇 数据处理篇\r\n 第9章 高可用环境备份方案与策略\r\n 9.1 高可用环境的备份体系构架\r\n 9.2 使用导出/导入构建逻辑备份策略\r\n 9.3 使用RMAN构造物理备份策略\r\n 9.4 其他RMAN高可用特性\r\n 9.5 总结\r\n 第10章 高可用环境下数据迁移\r\n 10.1 数据迁移方案讨论\r\n 10.2 数据迁移案例分析\r\n 10.3 其他迁移方法\r\n 10.4 总结\r\n ……\r\n 第11章 高可用环境数据规划\r\n第3篇 性能优化篇\r\n 第12章 高可用环境下性能优化\r\n 第13章 高可用环境下优化案例\r\n第4篇 系统维护篇\r\n 第14章 高可用环境锁与并发控制\r\n 第15章 高可用环境之在线维护\r\n第5篇 监控体系篇\r\n 第16章 高可用环境监控构架设计\r\n附录A 常见专有名称解释\r\n附录B 公共代码
推荐序
Oracle的专业书籍,或强调概念,或强调经验,内容基本都在Oracle自身范畴之内。有些概念与经验并重的书籍也基本都偏重于某方面的技术,如备份恢复或者数据库优化。很少有书籍跨主机、存储、数据库编写,其原因是多方面的,如国外专业分工明确,三个方面基本都由专业的team各负其责,DBA一般很少需要去通晓三方面的内容。这也是数据库书籍作者比较少涉足主机和存储的重要原因。对大多数国内技术从业者来讲,也是这样的分工情况,三个方面其实都需要倾注非常多的精力才能做好,这样同时驾驭三个方面内容的人就更少了。不少Oracle技术从业者逐渐转向去了主机或者与存储相关的公司,有很多人则热心于架构或者售前工作,对技术细节把握的兴趣逐渐淡化。种种现实使得能分享自己在多个领域相关联的知识和经验的人很少,而写作出书,更需要勇气,需要能坚持下来的勇气。
与作者相识快5年了,几年来这一代Oracle技术爱好者之间频繁的沟通交流,使得大家快速地成长。作者从数据库开发到管理,然后涉足主机和存储领域,基于对技术工作的热爱,坚持下来,最后对三个领域的专业知识融会贯通。很高兴现在作者有这个勇气,将自己的经验和知识写下来,分享给大家,这是众多不局限于Oracle数据库的技术从业者的福音。但横跨三大领域的知识,对初学者有相当大的难度,万事开头难,只要努力并坚持下去,最终学有所成、学有所用是必然的结果。
最后感佩作者对技术锲而不舍的钻研精神,对写作不畏艰辛的执着勇气,终于让独具匠心的技术巨著得以完成并出版。在此表示最衷心的祝贺! 冯春培(biti-rainy)
2007年12月
陈吉平,现任职于淘宝网(WWW.taobao.COM),拥有多年的OracLe数据库开发管理经骀。2000年大学毕业后就从事于数据库开发,后转向数据库管理。2004年来到淘宝网,见证了淘宝网由小到大的成长历程。现任淘宝DBA团队管理者,负责后台数据库(OLTP)以及数据仓库(OLAP)的维护和开发支持,并决心带领冈队成员一起打造中国最强大的DBA团队。
PIner实战经验丰富,精通数据库管理、备份与恢复、容灾等高可用性设计与规划 精通高可用环境下的数据库优化与维护,特别是高并发、高压力访问下的OLTP数据库环境的优化与维护。具备优秀的数据库构架设计能力与创新能力,自主研发的技术曾获得国家专利保护。
2001-2002年,在csDN担任“Oracle数据库版”大版主,并多次在《程序员》杂志上发表文章。
2002年,获Oracle 8i OCP证书。
2004年,撰写《Oracle数据库DBA专题技术精粹》其中三章 同年正式入职淘宝网,并任ITPuB“数据库管理版”版主,在此期问多次担任ITPuB讲师,传授Oracle管理与Oracle高可用性知识。
2005年,撰写《Oracle数据审库性能优化》其中两章。
2007年,被Oracle公司授予Oraclc ACE称号。
在2007年ITPUB(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章,后来,很多章节都合并了,现在全书分5篇共16章。
第1篇:高可用性篇
介绍了Oracle及周边辅助环境的高可用特性,包括硬件环境,存储环境,容灾与业务连续性,分级存储与信息的生命周期,Oracle RAC技术,Data guard技术,Streams技术,主机HA技术,Flash back技术,Logmnr,SQL Loader技术,等等。同时,这一篇也是本书最重要的部分,占了本书大部分篇幅。
第2篇:数据处理篇
介绍在高可用环境下,怎样规划备份与恢复策略,怎样在高可用环境下做数据的迁移与数据规划。特别是高可用环境下的数据迁移方法,是具有自主知识产权的一些新思想与新方法,具有较大的参考价值。
第3篇:性能优化篇
介绍了高可用环境下的优化方法与思路,以及优化案例。如从优化工具的使用到优化案例的分析,解释了高可用环境中必须注意的一些优化思想。
第4篇:系统维护篇
介绍了高可用环境下锁、阻塞以及死锁的原理,分析了高可用环境下的并发处理方法,并通过案例来说明高可用环境下大规模DML与DDL的操作方法与注意事项。
第5篇:监控体系篇
本篇只有一章,但是,这一章介绍的监控体系思想是非常不错的,解释了在高可用环境下如何构建一个自动的、高效的、可伸缩的监控体系架构。
在本书的写作过程中,首先要感谢我的妻子,她虽然不懂技术,但也把全部书稿读了一遍,并发现了很多错误。也要感谢我的团队,他们在工作上的支持,出色保证了系统的稳定运行,给了我写书的可能。还要感谢冯春培(biti_rainy)、赵林(zhaolinjnu)、宁海元(ningoo)、薛晓斌(blue_prince)对部分章节的审阅。
本书内容虽然很多,但是因为代码量少,页数也不算多。由于作者时间精力和能力有限,虽然审阅多遍,恐仍难免有错误存在,如果读者发现任何问题,希望不吝指教。可以上我的个人网站(www.ixdba.com)提出质疑或直接发邮件给我(piner.chen@gmail.com)。我的个人网站也随时提供对新书的勘误及其他支持服务与代码服务,以及更丰富、更深入的知识与内容。
最后,谨把本书献给我的宝贝女儿,作为她即将到来的周岁礼物。
陈吉平
2007年12月于杭州
无封面