为什么要写这本书2008年的某一天,我怀着激动的心情参加了支付宝公司的面试,这次面试让我对国内最前沿的数据库自动化运维技术有了初步的认识,对我的职业生涯影响非常大,时刻激励着我以后不管遇到什么困难或者诱惑,Oracle始终都是我追逐的爱好和目标。
在接下来几年的工作中,我较为深入地研究了C语言数据结构、Linux操作系统原理以及Shell(PHP/Java)编程等知识,这些技术能够很好地支撑Oracle运维管理。同时,多年的经验告诉我,对集运维与开发于一体的Oracle运维管理体系来而言,精通一门开发语言是相当有必要的,因为只有这样才可以更为深入地了解数据库与业务程序之间的架构设计,并能够更为精确地把控Oracle管理优化,从而在面对各种疑难问题时找到解决的突破口。
2014年,我有幸与来自支付宝开发团队和淘宝运维团队的伙伴共事,学习交流了来自阿里的系统架构设计及运维管理理念,这使我编写自动化数据库运维书籍的想法更加强烈,并希望通过书籍与大家分享自己多年的工作经验。
本书主要特色由于Oracle运维管理的专业性门槛较高,导致Oracle运维管理成本增加。在这种情况下,如何深入掌握Oracle,如何提高数据库运维效率成为许多数据库管理者的困扰。尽管国内有关Oracle方面的书籍繁多,但却没有一本真正意义上介绍Oracle数据库运维自动化的书。本书从与Oracle紧密相关的操作系统层面入手,将操作系统架构与Oracle体系有机整合,以逐步深入的方式将Oracle基础理论运用到实际操作中,引导读者在面对故障时找到处理问题的正确方法。同时,结合开放式可扩展的自动化运维体系,将数据库运维工作按需自动化,在保障数据库高性能运行的同时,大大提高了数据库运维工作的效率。
本书读者对象根据本书的内容特点,可以将阅读对象分为以下几类:
Oracle数据库管理人员;Oracle数据库开发人员;应用架构师;数据库架构师;系统集成架构师;运维管理维护人员;数据库技术爱好者。
如何阅读本书阅读本书前需要对Oracle基础知识有一定的了解和掌握,只有这样才能保证阅读的畅通性。如果对某些知识点存在困惑,可以查阅Oracle在线官方文档(http://docs.oracle.com)获取帮助。
本书共10章,分为三篇:基础篇、优化篇、方法篇。
基础篇(第1~4章)主要介绍了Linux环境下Oracle内存体系架构的组成和功能,同时对Oracle日志与回滚段内容进行了讲解,在帮助读者深入理解Oracle知识体系的同时,为后续数据库优化及备份恢复打下基础。
优化篇(第5~6章)主要介绍了Oracle SQL优化的原理和思想,并结合CBO优化器对Oracle优化进行探索。其中,SQL优化原理和思想是CBO优化的基础,将两者结合即可提供Oracle数据库优化参考。
方法篇(第7~10章)主要讲解了Oracle备份恢复的原理,以及如何制订符合自身数据库特点的Oracle备份恢复计划。同时,结合自动化运维管理系统、自动化历史分析系统及自动化实时监控系统对数据库自动化运维进行实践,帮助数据库维护人员从大量重复烦琐的运维工作中解放出来,实现高效率、自动化的数据库管理。
勘误和资源由于本人水平有限,编写时间也比较仓促,书中难免有错误或者不准确的地方,在此恳请读者朋友批评指正。你可以 将书中的错误发送到Bug勘误表页面中,同时,书中的源码文件也会发布到华章公司的网站上并及时更新。如果有任何疑问或者建议,也欢迎发送邮件,期待你们真挚的意见反馈。
致谢感谢Oracle技术社区的支持以及来自BAT等企业的同事和朋友们的技术分享,感谢Oracle小筑以及Unix DBA等技术社区的朋友们,他们包括但不限于李培跃、丁铁球、周操、文智辉、许剑锋、陶卫、贺学兵、周立明、李杰斌、罗炳森、龚明全、蹇波等。
感谢机械工业出版社华章公司的杨福川老师和李艺老师,你们的专业和热情深深地打动了我,让我能够坚持完成本书的编写。同时感谢你们对本书页面排版等方面的建议和支持。
感谢公司的同事和领导,谢谢你们给予我较为充裕的时间来完成本书。
特别感谢我的朋友李亚、李纯香、郑勇斌,谢谢你们对本书的大力支持。需要额外感谢的还有盖国强老师以及冯大辉老师等。
最后要感谢我的妻子刘杨及父母对我和孩子的照顾,因为有了你们的理解和支持,才使我有充足的时间和精力来完成本书。
谨以本书献给那些还在追逐、热爱Oracle技术,并依然坚持梦想的朋友们。
冷 菠
冷菠,DBA,有近10年Oracle数据库管理与运维经验,曾担任美资企业Senior DBA职务、支付宝成都公司数据库团队负责人,现就职于上市公司海康威视重庆分公司。
擅长数据库备份恢复、数据库性能诊断优化以及数据库运维自动化等,对于主机存储、网络、系统业务架构、大数据有较为深入的研究。目前致力于大数据、智能一体化、开源云计算等领域的佳实践探索。主要涉及领域有通信、金融、游戏、政府部门以及传统制造业领域。
网名悠然,活跃于国内外Oracle、Unix技术交流群。