首页>参考读物>计算机科学与技术>数据库

Oracle高性能自动化运维
作者 : 冷菠 著
丛书名 : 数据库技术丛书
出版日期 : 2017-07-04
ISBN : 978-7-111-57339-5
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 391
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

内容简介
自动化运维已成为数据库运维的重要趋势,本书是国内首部数据库自动化运维的专著。以开放式可扩展的自动化运维体系为蓝本,将数据库运维工作按需自动化,保障数据库高性能运行的同时,大大降低数据库运维成本,提高数据库管理工作效率。
一站式深入浅出地解析Oracle体系架构和优化机制,客观科学地将理论基础与实战操作有机结合,追根溯源论证;原创自动化运维技术体系,保障数据库自动化部署简单便捷,为数据库运维人员提供独具匠心的实战参考。
Oracle资深专家顾问李亚、阿里巴巴原数据库资深专家郑勇斌、支付宝原研发核心李培跃以及Oracle公司首席咨询顾问李纯香联袂推荐。
共10章,分为三个部分:
基础篇(第1~4章) 首先讲解了Linux环境下Oracle内存体系的架构组成和功能,以及Oracle的日志与回滚段内容,帮助读者深入理解Oracle知识体系的同时,为后续数据库优化以及备份恢复打下基础。
优化篇(第5~6章) 总结了Oracle SQL优化的原理和思想,结合CBO优化器对Oracle优化进行探索。其中,SQL优化原理和思想是CBO优化的基础,将两者结合就可以提供Oralce数据库优化参考。
方法篇(第7~10章) 主要讲解了Oracle备份恢复的原理以及如何制定符合自身数据库特点的Oracle备份恢复计划。同时,结合自动化运维管理系统、自动化历史分析系统以及自动化实时监控系统对数据库自动化运维进行实践,帮助数据库维护人员从大量重复繁琐的运维工作中解放出来,实现高效率自动化的数据库管理。

图书特色

深入解析Oracle体系架构和优化机制,以开放式可扩展的自动化运维体系为蓝本,原创自动化运维技术体系
数据库运维工作按需自动化,保障数据库高性能运行的同时,大大降低数据库运维成本,提高数据库管理工作效率

在中国有许多像作者这样的Oracle技术领路人,为专业领域创造技术优势的同时,也时刻分享着自己宝贵的知识经验。本书的出版能使许多人受益,他们包括且不限于DBA、应用开发人员、系统运维人员以及Oracle技术爱好者等。请仔细品读全书,领略其中的精髓,相信大家一定会对Oracle运维有更为深刻的理解。
—— 李纯香 Oracle公司首席咨询顾问,拥有多年Oracle相关咨询顾问经验

数据库管理的书不少,但还没有一本专注自动化运维的Oracle图书。在周边的朋友们陆续转向MySQL等开源数据库产品时,作者仍然坚持深耕在Oracle数据库,结合自己的实践经验从自动化运维的视角阐述了别具一格的Oracle管理理念。
随着云技术的发展,数据库也从传统的HA、集群模式转向分布式架构,使得数据库集群规模飞速扩大。这样,数据库管理员不仅需要掌握好数据库管理技能,还需要解决诸如大规模分布式服务器集群部署、监控以及管理等问题。通过本书,你将跟随作者的脚步,走入数据库自动化管理的大门,在潜移默化中成为具有DevOps能力的数据库维护专家。
—— 郑勇斌 资深运维架构师,译著《Oracle性能优化求生指南》等

本书从与Oracle紧密相关的操作系统层面入手,将操作系统架构与Oracle体系有机整合,以逐步深入的方式将Oracle基础理论运用到实际操作中,引导读者在面对故障时找到处理问题的正确方法。同时,结合开放式可扩展的自动化运维体系,将数据库运维工作按需自动化,在保障数据库高性能运行的同时,大大提高了数据库运维工作的效率。
尽管国内有关Oracle技术的书籍品类繁多,但却没有一本真正意义上介绍Oracle数据库自动化运维的。运维自动化将DBA从日常纷繁琐碎、焦头烂额的工作中解放出来,使得一边喝着咖啡,一边悠然自得地管理数据库成为现实。很高兴作者愿意将自己积累多年的经验毫无保留地分享出来,填补了这一领域的空白。本书大部分代码不经任何修改就可以直接使用,当然读者也可以根据自己的实际需求稍做调整,快速部署适合自身的自动化运维平台,提升数据库运维效率和价值。
—— 李亚 Oracle资深技术顾问,著有《Oracle Exadata技术详解》等

作者简介

冷菠 资深Oracle数据库专家,曾担任美资企业Senior DBA、支付公司数据库团队负责人,现就职于海康威视,有10年一线数据库运维和团队管理经验。
主要涉及行业有通信、金融、游戏、政府以及传统制造业等。擅长数据库的备份、恢复、性能诊断优化以及数据库自动化运维等,对于主机存储、网络、系统业务架构设计优化、大数据等领域有较为深入的研究。目前致力于Devops、大数据、智能一体化、云计算等前沿技术的最佳实践探索。
个人主页:http://www.orasky.net

内容简介
自动化运维已成为数据库运维的重要趋势,本书是国内首部数据库自动化运维的专著。以开放式可扩展的自动化运维体系为蓝本,将数据库运维工作按需自动化,保障数据库高性能运行的同时,大大降低数据库运维成本,提高数据库管理工作效率。
一站式深入浅出地解析Oracle体系架构和优化机制,客观科学地将理论基础与实战操作有机结合,追根溯源论证;原创自动化运维技术体系,保障数据库自动化部署简单便捷,为数据库运维人员提供独具匠心的实战参考。
Oracle资深专家顾问李亚、阿里巴巴原数据库资深专家郑勇斌以及Oracle公司首席咨询顾问李纯香联袂推荐。
全书共10章,分为三个部分:
基础篇(第1~4章) 首先讲解了Linux环境下Oracle内存体系的架构组成和功能,以及Oracle的日志与回滚段内容,帮助读者深入理解Oracle知识体系的同时,为后续数据库优化以及备份恢复打下基础。
优化篇(第5~6章) 总结了Oracle SQL优化的原理和思想,结合CBO优化器对Oracle优化进行探索。其中,SQL优化原理和思想是CBO优化的基础,将两者结合就可以提供Oracle数据库的优化参考。
方法篇(第7~10章) 主要讲解了Oracle备份恢复的原理以及如何制定符合自身数据库特点的Oracle备份恢复计划。同时,结合自动化运维管理系统、自动化历史分析系统,以及自动化实时监控系统对数据库自动化运维进行实践,帮助数据库维护人员从大量重复繁琐的运维工作中解放出来,实现高效率自动化的数据库管理。

图书前言

为什么要写这本书
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勘误表页面中,同时,书中的源码文件也会发布到机工新阅读网站(www.cmpreading.com)上并及时更新。如果有任何疑问或者建议,也欢迎发送邮件到我的邮箱lbyouran@163.com,期待你们真挚的意见反馈。
致谢
感谢Oracle技术社区的支持以及来自BAT等企业的同事和朋友们的技术分享,感谢Oracle小筑以及Unix DBA等技术社区的朋友们,他们包括但不限于李培跃、丁铁球、周操、文智辉、许剑锋、陶卫、贺学兵、周立明、李杰斌、罗炳森、龚明全、蹇波等。
感谢机械工业出版社华章分社的杨福川老师和李艺老师,你们的专业和热情深深地打动了我,让我能够坚持完成本书的编写。同时感谢你们对本书页面排版等方面的建议和支持。
感谢公司的同事和领导,谢谢你们给予我较为充裕的时间来完成本书。
特别感谢我的朋友李亚、李纯香、郑勇斌,谢谢你们对本书的大力支持。需要额外感谢的还有盖国强老师以及冯大辉老师等。
最后要感谢我的妻子刘杨及父母对我和孩子的照顾,因为有了你们的理解和支持,才使我有充足的时间和精力来完成本书。
谨以本书献给那些还在追逐、热爱Oracle技术,并依然坚持梦想的朋友们。

冷 菠

上架指导

计算机\数据库

封底文字

在中国有许多像作者这样的Oracle技术领路人,为专业领域创造技术优势的同时,也时刻分享着自己宝贵的知识经验。《Oracle高性能自动化运维 》一书的出版能使许多人受益,他们包括且不限于DBA,应用开发人员、系统运维人员以及Oracle技术爱好者等。那么请仔细品读全书,领略其中的精髓,相信一定会让大家对Oracle运维有更为深刻的理解。
—李纯香 现任甲骨文公司首席咨询顾问,拥有多年Oracle相关咨询顾问经验
? 数据库管理的书不少,但还没有一本专注自动化运维的Oracle图书。在周边的朋友们陆续转向MySQL等开源数据库产品时,作者仍然坚持深耕在Oracle数据库,结合自己的实践从自动化运维的视角阐述了别具一格的Oracle管理。
??? 随着云技术的发展,数据库也从传统的HA、集群模式转向分布式架构,使得数据库集群规模飞速扩大。这样,数据库管理员不仅需要掌握好数据库管理技能,还需要解决诸如大规模分布式服务器集群部署、监控以及管理等问题。通过本书,您将跟随作者的脚步,走入数据库的自动化管理的大门,在潜移默化中成就为具有DevOps能力的数据库维护专家。
—郑勇斌 资深运维架构师,译著《Oracle性能优化求生指南》等

本书从与Oracle紧密相关的操作系统层面入手,将操作系统架构与Oracle体系有机整合,以逐步深入地方式将Oracle基础理论运用到实际操作,引导读者在面对故障时找到处理问题的正确方法。同时,结合开放式可扩展自动化运维体系,将数据库运维工作按需自动化,保障数据库高性能运行的同时,大大提高了数据库运维工作的效率。
尽管国内有关Oracle技术的书籍繁多,但却没有一本真正意义上介绍Oracle数据库自动化运维的。运维自动化将DBA从日常纷繁琐碎、焦头烂额工作中解放出来,使得一边喝着咖啡,一边悠然自得地管理数据库成为现实。很高兴作者愿意将自己积累多年的经验毫无保留地分享出来,填补了这一领域的空白。本书大部分代码可以不经任何修改就可以直接使用,当然读者也可以根据自己实际需求稍作调整,就可以快速部署适合自身的自动化运维平台,提升数据库运维效率和价值。
——李亚 Oracle资深技术顾问,著有《Oracle Exadata技术详解》等

作者简介

冷菠 著:
冷菠 资深DBA,拥有近10年Oracle数据库管理与运维经验,曾担任美资企业Senior DBA职务、支付宝成都公司数据库团队负责人,现就职于上市公司海康威视重庆分公司。

图书目录

前言
第一篇 基础篇
第1章 Linux下的Oracle2
1.1 Linux简介2
1.2 Oracle简介3
1.3 Linux内存体系的优势3
1.4 Linux内存体系与Oracle内存空间5
1.4.1 Linux用户空间与内核空间5
1.4.2 Linux下的Oracle内存体系结构5
1.4.3 Linux下的Oracle内存分配6
1.5 小结9
第2章 Oracle内存体系结构10
2.1 闩(Latch)10
2.1.1 Latch简介10
2.1.2 Latch Level11
2.1.3 Latch获取模式12
2.1.4 Latch获取等待13
2.1.5 Latch资源清理回收15
2.2 队列锁(Enqueue Lock)16
2.2.1 Lock与Latch的区别16
2.2.2 常见的Lock17
2.2.3 Lock相关参数18
2.2.4 Lock先请求先服务机制18
2.3 Library Cache21
2.3.1 Library Cache与SQL游标21
2.3.2 Library Cache内存结构28
2.3.3 Library Cache Lock(Pin)31
2.4 Buffer Cache34
2.4.1 Buffer(Cache)Pool34
2.4.2 Cache Buffer Chain(Latch)37
2.4.3 Cache Buffer Pin40
2.4.4 Buffer Cache等待与优化44
2.5 小结47
第3章 Oracle重做日志(Redo)48
3.1 Redo功能用途48
3.2 Redo组成结构49
3.2.1 Redo Header49
3.2.2 Redo Record49
3.3 Redo产生场景53
3.3.1 Redo与DML事务53
3.3.2 Redo与Block Cleanout55
3.3.3 Redo与Block Write56
3.3.4 Redo与Hot Backup56
3.3.5 Redo与Direct Load56
3.3.6 Redo与Nologging57
3.4 Redo优化58
3.5 小结61
第4章 Oracle事务与回滚段62
4.1 Oracle事务62
4.1.1 Oracle事务概览62
4.1.2 Oracle事务ACID原则63
4.1.3 Oracle事务与回滚段运行机制64
4.2 Oracle回滚段70
4.2.1 回滚段与一致性读70
4.2.2 回滚段与事务锁定71
4.2.3 回滚段与块清除72
4.3 Oracle事务恢复73
4.3.1 回滚操作下的事务恢复73
4.3.2 进程崩溃下的事务恢复74
4.3.3 实例崩溃下的事务恢复75
4.3.4 数据库异常关闭下的事务恢复75
4.4 Oracle回滚段特殊恢复76
4.4.1 Oracle回滚段特殊恢复隐藏参数77
4.4.2 Oracle回滚段特殊恢复场景78
4.4.3 Oracle回滚段特殊恢复实战80
4.5 小结81
第二篇 优化篇
第5章 Oracle SQL优化84
5.1 Oracle SQL游标84
5.1.1 私有SQL游标84
5.1.2 共享SQL游标85
5.1.3 Library Cache中的SQL游标85
5.1.4 SQL游标与Session游标缓存区88
5.2 Oracle SQL解析与执行91
5.2.1 Oracle SQL解析91
5.2.2 Oracle SQL执行93
5.3 Oracle表连接查询96
5.3.1 NESTED LOOPS97
5.3.2 HASH JOIN97
5.3.3 SORT MERGE98
5.4 Oracle统计信息98
5.4.1 默认统计信息98
5.4.2 手动搜集统计信息99
5.5 Oracle直方图102
5.5.1 直方图概要102
5.5.2 直方图优化103
5.6 Oracle提示107
5.6.1 Oracle提示的语法及使用108
5.6.2 Oracle提示失效场景108
5.7 Oracle SQL跟踪109
5.7.1 10046事件跟踪109
5.7.2 SQL跟踪与Tkprof112
5.8 小结113
第6章 Oracle CBO优化114
6.1 CBO优化器模式与CPU成本114
6.1.1 CBO优化器模式114
6.1.2 CBO优化器模式下的执行计划调整115
6.1.3 CPU成本121
6.1.4 CPU成本启用124
6.2 谓词选择率与基数计算124
6.2.1 单谓词选择率与基数计算124
6.2.2 多谓词选择率与基数计算129
6.3 表连接选择率与基数计算132
6.3.1 表连接选择率与基数计算解析132
6.3.2 表连接选择率与基数计算验证134
6.4 Oracle查询转换提示136
6.4.1 dynamic_sampling提示136
6.4.2 leading与ordered提示138
6.4.3 index提示140
6.4.4 index_join提示141
6.4.5 index_ffs提示142
6.4.6 index_ss提示144
6.4.7 index_combine提示145
6.4.8 use_concat提示147
6.4.9 expand与no_expand提示148
6.4.10 merge与no_merge提示148
6.4.11 unnest与no_unnest提示150
6.4.12 push_pred与no_push_pred提示151
6.4.13 push_subq与no_push_subq提示152
6.4.14 pq_distribute提示155
6.4.15 driving_site提示158
6.5 小结159
第三篇 方法篇
第7章 Oracle备份恢复162
7.1 备份恢复与日志记录体系162
7.1.1 Oracle日志记录体系162
7.1.2 Oracle备份恢复与日志记录体系166
7.2 备份恢复与物理文件183
7.2.1 备份恢复与控制文件184
7.2.2 备份恢复与数据文件(头)201
7.2.3 备份恢复与日志文件(头)204
7.3 备份恢复实现205
7.3.1 Shutdown Clean恢复206
7.3.2 Shutdown Abort(Crash)恢复210
7.3.3 冷备恢复213
7.3.4 热备恢复216
7.4 制定RMAN备份恢复计划224
7.4.1 RMAN备份策略制定224
7.4.2 RMAN备份脚本227
7.4.3 RMAN日常备份脚本228
7.5 小结235
第8章 Oracle自动化运维管理系统236
8.1 Oracle自动化查询管理系统236
8.1.1 查询表空间使用情况237
8.1.2 查询Lock锁定信息239
8.1.3 查询事务运行状态240
8.1.4 查询LibraryCache命中率241
8.1.5 查询BufferCache命中率241
8.1.6 查询Latch命中率242
8.1.7 查询特定Latch命中率243
8.1.8 查询活动会话信息244
8.1.9 查询SQL执行情况245
8.1.10 查询SQL执行性能247
8.1.11 查询SQL执行计划248
8.1.12 查询游标使用情况249
8.1.13 查询日志切换频率251
8.1.14 查询会话等待情况252
8.1.15 查询系统等待情况253
8.1.16 查询系统平均等待255
8.2 Oracle自动化运维监控系统257
8.2.1 自动化运维监控系统架构257
8.2.2 自动化运维监控系统环境准备258
8.2.3 部署操作系统级自动化运维监控260
8.2.4 部署数据库级自动化运维监控273
8.2.5 部署Agent_All与Mail_All调度282
8.3 小结295
第9章 Oracle自动化历史分析系统296
9.1 自动化历史分析系统296
9.1.1 自动化历史分析系统架构296
9.1.2 自动化历史分析系统环境准备297
9.1.3 自动化历史分析系统部署300
9.2 自动化历史分析系统与自动化查询管理系统320
9.2.1 历史分析系统接入查询管理系统320
9.2.2 查询管理系统中的历史分析323
9.3 小结326
第10章 Oracle自动化实时监控系统327
10.1 自动化实时监控系统架构327
10.2 自动化实时监控系统环境准备328
10.2.1 服务器环境准备328
10.2.2 数据库环境准备334
10.3 自动化实时监控系统部署349
10.3.1 部署实时监控系统主体程序349
10.3.2 部署实时监控系统监控项364
10.4 自动化实时监控系统使用示例378
10.4.1 user_call实时监控378
10.4.2 redo_gen实时监控379
10.5 小结381

教学资源推荐
作者: K.P.Soman;Shyam Diwakar;V.Ajay
作者: [美]拉姆什·沙尔达(Ramesh Sharda),杜尔森·德伦(Dursun Delen),埃弗雷姆·特班(Efraim Turban) 等著
作者: [美] 查鲁·C. 阿加沃尔(Charu C. Aggarwal) 著
作者: 石彦芳 李丹 主编 赵占坤 赵滨 薛玉倩 副主编 周檬 苏默 高秀艳 石建国 参编
参考读物推荐
作者: Peter Koletzke
作者: [法]约翰·L. 维卡斯(John L. Viescas) [加]道格拉斯·J. 斯蒂尔(Douglas J. Steele)[美] 本·G. 克洛西尔(Ben G. Clothier) 著
作者: 周启海 张维 黄肖榕 黄娟禧