描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111684336丛书名: 数据库技术丛书
本书是美创科技资深Oracle、MySQL技术专家呕心沥血之作,积作者多年的经验结晶和实践经验,也是目前市场上为数不多Oracle和MySQL相结合的数据库技术书籍。
书中内容主要分为Oracle和MySQL两大部分。第 一部分介绍Oracle的日常运维,该部分主要由四个章节构成,内容由浅入深逐步展开。包括生产环境搭建,上线前的压力测试,日常运维以及故障处理,迁移升级,SQL的优化技巧等内容;第二部分是MySQL的运维实战,主要介绍MySQL常用的运维操作及实践,包括软件安装、备份恢复、迁移升级、架构设计、监控和性能优化等。书中提供了全面、实用的建议及具体的操作案例,以保证在复杂的核心生产环境中,能帮助读者可靠且高效地运行Oracle和MySQL数据库。
前言
部分 Oracle实战攻略
第1章 Oracle安装实践2
1.1 正确安装数据库软件2
1.1.1 安装过程中容易忽视的点2
1.1.2 常见安装问题的处理7
1.1.3 集群安装实践9
1.2 上线前的压力测试19
1.2.1 I/O测试19
1.2.2 RDBMS层I/O测试21
1.2.3 模拟应用程序层测试25
1.3 本章小结30
第2章 Oracle故障诊断31
2.1 日常维护31
2.1.1 TX锁处理31
2.1.2 高峰期谨慎编译业务对象35
2.1.3 数据误删恢复37
2.2 数据库连接故障诊断38
2.2.1 数据库连接缓慢44
2.2.2 间接性连接报错49
2.3 数据库日常案例精析52
2.3.1 存储链路引起的性能问题52
2.3.2 操作系统内存泄漏的案例56
2.3.3 详解log file sync等待62
2.3.4 10053跟踪诊断69
2.4 集群故障诊断75
2.4.1 集群软件权限修复75
2.4.2 RAC节点驱逐分析77
2.4.3 DRM特性引起的RAC节点宕机79
2.4.4 row cache lock性能诊断85
2.5 本章小结89
第3章 数据库迁移升级90
3.1 如何选择迁移方式91
3.2 逻辑迁移升级91
3.2.1 使用数据泵的注意事项92
3.2.2 数据泵常用参数93
3.2.3 参数使用案例93
3.3 逻辑DataGuard滚动升级96
3.3.1 生产端前期准备97
3.3.2 备端前期准备98
3.3.3 将逻辑DG升级至Oracle 12c99
3.3.4 次主备切换102
3.3.5 升级原生产库103
3.3.6 升级失败回退措施104
3.4 XTTS迁移升级技术104
3.4.1 环境说明104
3.4.2 源端环境准备105
3.4.3 目标端环境准备114
3.4.4 数据同步116
3.4.5 正式迁移117
3.4.6 迁移失败回退122
3.4.7 迁移备忘录122
3.5 OGG的迁移升级案例122
3.5.1 源端环境准备123
3.5.2 目标端环境准备128
3.5.3 数据比对安装配置130
3.5.4 正式迁移前的准备134
3.5.5 正式迁移138
3.5.6 迁移失败的回退措施140
3.6 如何保证数据一致性140
3.7 迁移前后如何保证性能146
3.7.1 数据库重放146
3.7.2 SQL性能分析157
3.8 本章小结163
第4章 SQL性能优化164
4.1 读懂执行计划164
4.1.1 获取执行计划165
4.1.2 读懂执行计划171
4.2 收集统计信息176
4.3 访问路径190
4.3.1 全表扫描190
4.3.2 ROWID扫描191
4.3.3 索引扫描191
4.3.4 索引范围扫描192
4.3.5 索引跳跃扫描192
4.3.6 全索引扫描193
4.3.7 快速全索引扫描195
4.4 连接方式196
4.4.1 嵌套循环连接196
4.4.2 哈希连接198
4.4.3 排序合并连接199
4.4.4 笛卡儿连接201
4.5 查询转换201
4.5.1 视图合并202
4.5.2 谓词推入203
4.5.3 子查询展开205
4.5.4 物化视图查询重写207
4.6 异常SQL处理209
4.6.1 定位问题SQL209
4.6.2 SQL健康检查210
4.6.3 SQL PROFILE212
4.6.4 SQL 计划管理213
4.7 SQL优化案例集216
4.7.1 常用索引优化方法216
4.7.2 隐式转换无法使用索引220
4.7.3 直方图引起执行计划偏差221
4.7.4 驱动表选择优化224
4.7.5 联合索引优化228
4.7.6 谓词推入优化231
4.7.7 大型表格更新删除优化237
4.7.8 程序不足SQL来凑240
4.8 本章小结244
第二部分 MySQL实战之旅
第5章 MySQL安装实践246
5.1 几种常见的安装方式246
5.1.1 操作系统基础配置248
5.1.2 RPM包安装与介绍251
5.1.3 二进制包安装与介绍255
5.1.4 源码编译安装与介绍258
5.1.5 安装实践263
5.2 常用的连接方式277
5.2.1 建立MySQL连接277
5.2.2 简化MySQL连接279
5.3 数据库系统账户改密的几种方法285
5.3.1 两阶段认证285
5.3.2 系统账户密码重置287
5.4 SSL与RSA实践291
5.4.1 创建SSL、RSA证书和密钥291
5.4.2 配置加密连接294
5.5 本章小结297
第6章 MySQL备份与恢复技术298
6.1 备份与恢复概述298
6.2 企业级MEB物理备份与恢复299
6.2.1 MEB软件介绍299
6.2.2 MEB备份与恢复示例301
6.3 开源级PXB物理备份与恢复317
6.3.1 PXB软件介绍317
6.3.2 PXB工作原理概述318
6.3.3 PXB备份与恢复示例320
6.4 MySQLDUMP逻辑备份与恢复330
6.4.1 MySQLDUMP软件介绍331
6.4.2 SQL格式转储与加载332
6.4.3 分隔文本格式转储与加载340
6.5 MySQLPUMP逻辑备份与恢复343
6.5.1 MySQLPUMP软件介绍343
6.5.2 MySQLPUMP并行处理344
6.5.3 MySQLPUMP转储特定对象346
6.5.4 MySQLPUMP压缩转储347
6.6 本章小结348
第7章 MySQL迁移与升级技术349
7.1 MySQL迁移概述349
7.2 使用MEB实现零RPO迁移350
7.2.1 MEB全量与增量迁移350
7.2.2 MEB全量与复制迁移351
7.2.3 迁移小结353
7.3 使用PXB实现零RPO迁移354
7.3.1 PXB全量与增量迁移354
7.3.2 PXB全量与复制迁移356
7.3.3 迁移小结357
7.4 使用MySQLDUMP迁移357
7.4.1 MySQLDUMP全量迁移357
7.4.2 MySQLDUMP全量迁移与Binlog增量迁移359
7.4.3 MySQLDUMP全量与复制迁移361
7.4.4 迁移小结362
7.5 使用MySQLPUMP迁移363
7.5.1 MySQLPUMP全量迁移363
7.5.2 MySQLPUMP全量与复制迁移366
7.5.3 迁移小结367
7.6 使用MyDumper迁移367
7.6.1 安装MyDumper软件367
7.6.2 MyDumper全量迁移368
7.6.3 迁移小结372
7.7 MySQL版本升级实战373
7.7.1 MySQL升级概述373
7.7.2 确认升级路径373
7.7.3 升级前的准备工作373
7.7.4 原地升级方式374
7.7.5 逻辑升级方式377
7.8 本章小结378
第8章 MySQL经典复制架构379
8.1 复制介绍379
8.1.1 MySQL复制线程380
8.1.2 MySQL复制版本兼容性382
8.2 基于传统模式部署复制382
8.3 基于GTID模式部署复制388
8.3.1 离线启用GTID模式388
8.3.2 在线设置GTID模式390
8.3.3 GTID复制模式的限制394
8.4 多源复制395
8.5 SBR和RBR的特点398
8.5.1 SBR的优势与劣势398
8.5.2 RBR的优势与劣势399
8.6 复制过滤规则400
8.7 延迟复制406
8.8 复制报错处理流程407
8.9 复制切换409
8.9.1 复制拓扑手动切换409
8.9.2 复制拓扑自动切换414
8.10 优化复制延迟424
8.11 本章小结428
第9章 MySQL组复制实践429
9.1 组复制技术介绍429
9.1.1 传统复制429
9.1.2 组复制430
9.2 组复制要求和限制432
9.2.1 组复制实例要求432
9.2.2 组复制限制434
9.3 部署单主模式组复制436
9.3.1 跨主机部署MGR436
9.3.2 同主机部署MGR445
9.4 单主模式切换成多主模式447
9.5 故障检测与处理449
9.5.1 检测分区449
9.5.2 丢失仲裁450
9.5.3 解锁分区451
9.5.4 重启新复制组452
9.6 组复制调优453
9.6.1 优化组复制恢复453
9.6.2 微调组通信线程454
9.6.3 消息压缩454
9.6.4 流量控制455
9.7 本章小结457
第10章 MySQL监控与可视化458
10.1 部署Zabbix Server458
10.2 部署Zabbix Agent2462
10.3 创建自定义Keys464
10.4 创建自定义项与触发器476
10.5 启用Zabbix告警通知492
10.6 创建Zabbix自定义模板494
10.7 自定义资产发现规则496
10.8 部署Grafana可视化软件498
10.9 定制MySQL监控大屏499
10.10 本章小结510
为什么要写本书
不知不觉间,二十一世纪已过去了五分之一的时间。近二十年来,互联网在全球范围内蓬勃发展,带动整个IT行业快速向前推进,如今已进入万物互联时代。Oracle、IBM、微软等巨头企业基本上垄断了国内早期的数据库市场,不过,随着国力的强大及高等教育的普及,国内IT界已经涌现出了大量的专业人才,Oracle系的达梦DM、MySQL系的巨杉、TiDB等国产数据库纷纷登上历史舞台。用户不再是被动接受,而是可以主动选型,这标志着国内数据库市场正逐步进入百家争鸣的时代。虽然各大开源类数据库百花齐放,然而,在的DB-Engines全球数据库排行榜上,Oracle和MySQL依然是世界上受欢迎的商业和开源类数据库,而且领跑优势还在继续扩大。
Oracle在金融、电信、交通、医疗、制造业、能源等诸多领域的使用非常广泛,其拥有完善的生态体系,多样化的数据库选件,在高可用性、高性能、高安全性、高数据服务能力等方面都得到了用户的广泛认可。
而随着互联网的兴起,MySQL在数据库领域的地位也日益凸显。随着用户群体规模的不断扩大,MySQL已经逐渐渗透到通信、制造、金融、政府和能源等领域。在数字化转型的进程中,企业级的商用数据库Oracle、DB2不再是必选项,MySQL凭借开源、灵活和操作简便等特性,获得了国内外市场和用户的青睐。
Oracle和MySQL在国内市场的占有率高达60%以上,因此国内需要大量具有综合能力的数据库管理人才。市面上绝大多数的数据库相关书籍和资料只介绍了其中一类数据库,且大多只介绍基础原理或只阐述深奥的方法论,质量参差不齐,极少有同时涵盖Oracle和MySQL这两种数据库的书籍。如果有这样一本书,既能兼顾传统的Oracle,又能顺应当前的趋势介绍MySQL,并能详细讲解这两大数据库的运维技巧及实践,那么对于很多公司的IT技术人员和DBA来说,该书将能提供很好的参考价值。
基于上述背景,作为第三方数据库的专业运维团队,我们有着运维数以千计生产环境的经验,自然在创作这样一本书方面具有极大的先天优势。团队多名核心人员多年来积累了上千篇高质量原创技术文章,经过不断筛选和提炼,终将精华内容凝聚成书。
本书提供的建议全面且实用,为在复杂的核心生产环境中可靠且高效地运行Oracle或MySQL数据库提供帮助。本书既有避免大家走弯路的实践,也有实用的运维技巧。书中不会直接讲解深奥的理论,而是以案例为载体,一切从实际出发,将晦涩的原理分解到一个个真实、生动的案例中,从现象到本质进行剖析,其中所展现的经验、思路和方法具有极大的参考价值。
读者对象
本书适用于Oracle、MySQL领域的初中级读者,学习本书需要具备一定的关系型数据库基础。本书虽然不会重点讲述什么是SGA、InnoDB,什么是数据文件、日志文件等基本原理,但是会为读者提供相关运维场景的实践。阅读本书,读者可以快速掌握Oracle、MySQL运维核心的内容、实用的技巧,少走弯路,从而降低学习成本。本书的读者对象大致可以划分为以下几类:
运维工程师
开发工程师
测试工程师
系统工程师
集成工程师
实施工程师
安全工程师
数据库管理员
数据库架构师
解决方案工程师
如何阅读本书
本书主要分为Oracle和MySQL两大部分。部分介绍Oracle的日常运维,该部分由第1~4章构成,内容由浅入深地逐步展开。第1章主要介绍初的生产环境搭建,以及上线前的压力测试,并有针对性地讲解各环节的注意事项和实践,帮助读者构建出一套稳健的生产环境。第2章主要介绍上线后的日常运维及故障处理方案,通过由点到面的丰富案例,为读者提供有效的解决方法和应对思路。第3章主要介绍数据库的迁移升级,通过实际案例讲解各种主流方法,从而应对不同的停机时间,以及迁移前后如何保证性能和数据一致性。第4章主要介绍SQL的优化技巧,比如如何运用20%的知识处理80%的SQL性能问题。第二部分介绍MySQL的日常运维,该部分由第5~10章构成。第5章主要是深入浅出地介绍MySQL常使用的几种安装方式,并有针对性地告诉读者一些注意事项及实践。第6章主要讲解如何充分利用备份和恢复的各种手段,规避企业核心数据丢失的风险。此章重点介绍了XtraBackup、Mysqldump等几款集功能、性能、可用性于一体的实用工具,以应对企业各种复杂需求。第7章主要讲解基于跨地域机房数据中心搬迁、硬件设备迭代、业务爆发式增长下现有硬件资源不足等场景的底层数据迁移。本章会兼顾用户停机窗口和成本,提供解决方案。第8章主要围绕传统模式和GTID模式讲解复制拓扑部署的实践及日常运维的生态建设,以及如何使用复制技术构建双活或容灾等高可用方案。第9章主要讲解MySQL 5.7版本引入的支持多节点写入的分布式高可用架构,此架构基本无复制延迟,并且能保证数据强一致性,支持动态横向扩展以对读写业务进行负载均衡。第10章主要介绍Zabbix代理模式,可将功能强大且易于扩展的Zabbix代理批量自动化部署在要监控的目标上,以便主动监控本地资源和应用程序。后,结合Grafana等开源软件,终实现对MySQL数据库及其运行主
评论
还没有评论。