具体描述
《深入理解Oracle Exadata》深入地诠释了Exadata的各项特性,如智能扫描、混合列式存储、存储索引、智能闪存、IO资源管理;系统地介绍了如何安装、配置和管理Exadata;完美地阐述了Exadata的等待事件、性能监控和调优方法;详细地剖析了计算节点和存储节点的内部原理;全面地分享了作者们在实际项目中所获得的宝贵经验,如怎样进行大数据的高效移植、Exadata上的一些常见误区、数据库资源管理,等等。《深入理解Oracle Exadata》是实践经验的总结和升华,可读性极强,不仅有对Exadata深入的研究,还有对它们优雅的展现,它将带领读者进入Exadata的殿堂。
作者简介
Kerry Osborne自1982年Oracle V2开始就开始使用Oracle,担任过开发人员和DBA。在过去的几年中,他一直专注于理解Oracle内部机制和解决Oracle性能问题。他是OakTable Network成员(译者注:OakTable是Oracle数据库领域内最高端的一个技术组织,它由一群热爱Oracle技术并爱刨根问底的家伙所组成,现有大约70位成员,他们都是最顶尖的技术专家)和Oracle ACE Director,作为演讲者频繁出现在各种Oracle会议上。Kerry还是Enkitec公司的联合创始人,这是一家专注于Oracle咨询的公司,总部在德克萨斯州的达拉斯。他的博客是kerryosborne.oracle-guy.com。
目录信息
技术审校者 xxxiii
致谢 xxxv
前言 xxxvii
第1章 exadata是什么 1
1.1 exadata概览 2
1.2 exadata的历史 3
1.3 不同的视角 4
1.3.1 数据仓库设备 4
1.3.2 联机事务处理机器 5
1.3.3 合并平台 5
1.4 可选配置 6
1.4.1 exadata database machine x2-2 6
1.4.2 exadata database machine x2-8 7
1.5 硬件组件 8
1.5.1 操作系统 9
1.5.2 数据库服务器 9
1.5.3 存储服务器 9
1.5.4 infiniband 10
.1.5.5 闪存 10
1.5.6 磁盘 10
1.5.7 其他杂项 10
1.6 软件组件 11
1.6.1 数据库服务器软件 11
1.6.2 存储服务器软件 14
1.7 软件架构 16
1.8 总结 20
第2章 卸载/智能扫描 21
2.1 为何卸载如此重要 21
2.2 卸载包含了什么 25
2.2.1 字段投影 25
2.2.2 谓词过滤 30
2.2.3 存储索引 32
2.2.4 简单连接(布隆过滤) 33
2.2.5 函数卸载 36
2.2.6 压缩/解压缩 38
2.2.7 加密/解密 40
2.2.8 虚拟列 40
2.2.9 数据挖掘模型评分 43
2.2.10 非智能扫描类型的卸载 44
2.3 智能扫描的先决条件 45
2.3.1 全扫描 45
2.3.2 直接路径读取 45
2.3.3 exadata存储 46
2.4 无法使用智能扫描的情况 49
2.4.1 未实现的功能 49
2.4.2 转换为块运输模式 49
2.4.3 跳过某些卸载操作 50
2.5 如何验证智能扫描确实发生 50
2.5.1 10046跟踪 52
2.5.2 性能统计(v$sessstat) 53
2.5.3 卸载适用字节 55
2.5.4 sql监控 60
2.6 参数 63
2.7 总结 67
第3章 混合列式压缩 69
3.1 oracle存储概述 69
3.2 oracle压缩机制 72
3.2.1 basic 72
3.2.2 oltp 72
3.2.3 hcc 72
3.3 hcc工作机制 76
3.4 hcc性能 77
3.4.1 加载性能 77
3.4.2 查询性能 82
3.4.3 dml性能 88
3.5 预期压缩率 98
3.5.1 压缩助手 98
3.5.2 真实案例 101
3.6 限制与挑战 107
3.6.1 迁移数据到非exadata平台 107
3.6.2 关闭串行直接路径读取 108
3.6.3 锁的问题 108
3.6.4 单行访问 109
3.7 常见的使用场景 110
3.8 总结 111
第4章 存储索引 113
4.1 结构 113
4.2 监控存储索引 114
4.2.1 数据库统计值 115
4.2.2 跟踪 116
4.2.3 总结 119
4.3 控制存储索引 119
4.3.1 _kcfis_storageidx_disabled 120
4.3.2 _kcfis_storageidx_diag_mode 120
4.3.3 _cell_storidx_mode 120
4.3.4 存储软件参数 121
4.4 行为 121
4.5 性能 122
4.5.1 为空值进行特殊优化 124
4.5.2 字段值的物理分布 125
4.6 潜在问题 127
4.6.1 不正确的结果 127
4.6.2 类型转换 128
4.6.3 分区大小 131
4.6.4 不兼容的编程技巧 131
4.7 总结 133
第5章 exadata智能闪存 135
5.1 硬件 135
5.2 cache vs. flash disk 136
5.2.1 使用闪存作为缓存 137
5.2.2 如何创建esfc 142
5.2.3 控制esfc的使用 144
5.3 监控 145
5.3.1 存储监控 145
5.3.2 数据库监控 148
5.4 性能 149
5.5 总结 151
第6章 exadata并行操作 153
6.1 参数 153
6.2 存储层的并行 154
6.3 自动并行度 155
6.3.1 操作和配置 155
6.3.2 i/o基准测试 158
6.3.3 自动并行度调整小结 162
6.4 并行语句队列 162
6.4.1 老方法 162
6.4.2 新方法 163
6.4.3 控制并行队列 167
6.4.4 并行语句队列小结 175
6.5 内存并行执行 176
6.6 总结 186
第7章 资源管理 187
7.1 数据库资源管理器 188
7.1.1 使用者组 189
7.1.2 计划指令 193
7.1.3 资源计划 194
7.1.4 资源管理器视图 195
7.1.5 等待事件:resmgr:cpu quantum 196
7.1.6 一个dbrm的例子 197
7.1.7 测试资源计划 202
7.2 实例隔离 210
7.2.1 配置和测试实例隔离 211
7.2.2 过量分配 215
7.3 i/o 资源管理器 216
7.3.1 iorm如何工作 218
7.3.2 exadata管理i/o的方法 221
7.3.3 把所有的一切组合在一起 227
7.3.4 iorm监控和指标 230
7.4 总结 244
第8章 exadata的配置 245
8.1 exadata的网络组件 245
8.1.1 管理网络 246
8.1.2 客户端访问网络 246
8.1.3 私有网络 247
8.2 关于配置过程 248
8.3 配置exadata 250
8.3.1 第1步:配置工作 250
8.3.2 第2步:dbm配置器 259
8.3.3 第3步:上传参数和部署文件 260
8.3.4 第4步:checkip(checkip.sh) 263
8.3.5 第5步:第一次引导firstboot 265
8.3.6 第6步:准备安装介质 268
8.3.7 第7步:运行onecommand 269
8.4 升级exadata 273
8.4.1 创建一个新的rac集群 273
8.4.2 升级现有的群集 275
8.5 总结 278
第9章 exadata的恢复 279
9.1 exadata的诊断工具 279
9.1.1 sun diagnostics:sundiag.sh 280
9.1.2 健康检查healthcheck 282
9.1.3 cellcli 283
9.2 exadata的备份 287
9.2.1 数据库服务器的备份 288
9.2.2 存储节点的备份 292
9.3 数据库的备份 298
9.3.1 基于磁盘的备份 298
9.3.2 基于磁带的备份 298
9.3.3 从standby数据库上进行备份 299
9.3.4 exadata对rman的优化 300
9.4 exadata的恢复 301
9.4.1 数据库服务器的恢复 301
9.4.2 存储节点的恢复 305
9.5 总结 325
第10章 exadata等待事件 327
10.1 exadata特有的事件 327
10.1.1 节点事件 328
10.1.2 触发事件的执行计划步骤 329
10.2 用户i/o类别中的exadata等待事件 331
10.2.1 cell smart table scan 332
10.2.2 cell smart index scan 335
10.2.3 cell single block physical read 337
10.2.4 cell multiblock physical read 339
10.2.5 cell list of blocks physical read 340
10.2.6 cell smart file creation 341
10.2.7 cell statistics gather 342
10.3 系统i/o类别中的exadata等待事件 343
10.3.1 cell smart incremental backup 343
10.3.2 cell smart restore from backup 344
10.4 其他类别和空闲类别中的exadata等待事件 346
10.4.1 cell smart flash unkeep 346
10.5 旧事件 347
10.5.1 direct path read 347
10.5.2 enq: ko—fast object checkpoint 348
10.5.3 reliable message 349
10.6 资源管理事件 350
10.6.1 resmgr:cpu quantum 350
10.6.2 resmgr:pq queued 351
10.7 总结 352
第11章 理解exadata的性能指标 353
11.1 exadata性能指标的衡量 353
11.2 重温exadata智能扫描的先决条件 354
11.2.1 exadata智能扫描的性能 354
11.2.2 理解exadata智能扫描指标和性能计数器 358
11.3 exadata的动态性能计数器 359
11.3.1 何时及如何使用性能计数器 359
11.3.2 exadata的性能计数器的含义和说明 363
11.3.3 exadata的性能计数器参考 366
11.4 了解sql语句的性能 383
11.5 总结 386
第12章 exadata性能监控 387
12.1 系统方法论 387
12.2 sql语句的响应时间监控 388
12.2.1 利用实时的sql 监控报告对sql语句进行监控 389
12.2.2 使用v$sql和v$sqlstats监控sql语句 400
12.3 监控存储节点 403
12.3.1 在存储节点利用cellcli访问性能指标 403
12.3.2 使用grid control的exadata存储服务器插件访问性能指标 404
12.3.3 使用哪些性能指标 413
12.3.4 监控exadata 存储节点的os性能 414
12.4 总结 427
第13章 迁移到exadata 429
13.1 迁移策略 430
13.2 逻辑迁移 430
13.2.1 抽取和加载 431
13.2.2 通过数据库链复制数据 437
13.2.3 基于同步复制的迁移 454
13.2.4 逻辑迁移小结 461
13.3 物理迁移 461
13.4 备份和恢复 462
13.4.1 全备份和恢复 462
13.4.2 增量备份 464
13.4.3 传输表空间(和跨平台传输表空间xtts) 465
13.4.4 物理standby 468
13.4.5 asm重平衡 470
13.4.6 迁移后的任务 473
13.4.7 物理迁移小结 474
13.5 总结 475
第14章 存储设计 477
14.1 exadata 磁盘架构 477
14.1.1 失效组 478
14.1.2 网格盘 480
14.1.3 存储分布 482
14.2 创建网格盘 486
14.2.1 创建网格盘 487
14.2.2 网格盘大小 488
14.2.3 创建基于闪存盘的网格盘 491
14.3 存储策略 493
14.3.1 配置选项 493
14.3.2 隔离存储节点访问 494
14.4 节点安全策略 496
14.4.1 节点安全策略的术语 496
14.4.2 节点安全策略最佳实践 497
14.4.3 配置asm范围安全策略 497
14.4.4 配置数据库范围安全策略 499
14.4.5 删除节点安全策略 501
14.5 总结 503
第15章 计算节点设计 505
15.1 配置考虑 505
15.2 non-rac环境配置 507
15.3 rac集群 511
15.4 exadata典型配置 514
15.5 exadata集群 515
15.6 总结 516
第16章 忘记已知 517
16.1 双系统记 517
16.2 类型负载 517
16.2.1 exadata smart flash cache (esfc) 518
16.2.2 可扩展性 519
16.2.3 写密集型oltp负载 519
16.3 dw类型负载 519
16.3.1 启用智能扫描 520
16.3.2 阻碍智能扫描的因素 522
16.3.3 其他注意事项 533
16.4 混合负载 535
16.4.1 要索引还是不要? 535
16.4.2 优化器的局限 536
16.4.3 使用资源管理器 540
16.5 总结 540
附录a cellcli和dcli 541
附录b exadata在线资源 553
附录c 诊断脚本 555
· · · · · · (收起)
读后感
用户评价
在我看来,一本真正能够“深入理解”的书,一定能够超越简单的技术介绍,触及到更深层次的哲学和设计理念。《深入理解Oracle Exadata》如果能探讨Exadata的设计哲学,比如为什么Oracle选择了一体化的硬件软件集成方案,这种方案背后有哪些权衡和考量?我希望书中能够分享一些作者在设计和实现Exadata过程中的思考,这些思考往往比纯粹的技术细节更能启发人。对技术背后的“道”的理解,能够帮助我将Exadata的技术优势迁移到其他领域,或者在面对新问题时,能够从更本质的角度去思考解决方案,这本书的深度和广度,将是我衡量其价值的关键。
随着云计算和分布式技术的飞速发展,传统数据库的形态也在不断演变。《深入理解Oracle Exadata》如果能对Exadata在云环境下的部署和应用有所阐述,那将是与时俱进的。我希望书中能够探讨Exadata在混合云、私有云等不同部署模式下的特性和优势,以及它如何与Oracle Cloud Infrastructure(OCI)等云平台协同工作。我对于如何将Exadata的强大性能和可靠性带入云端,以及在云环境中如何进行Exadata的管理和优化,都充满了好奇。这本书能否为我提供这方面的指引,将是我非常看重的部分,它将帮助我了解Exadata在未来的发展趋势。
对于我这样一名对Oracle技术怀有深厚感情的读者来说,《深入理解Oracle Exadata》的出现,无疑是Extension of my existing knowledge and a gateway to new horizons。 我希望这本书能够将Oracle数据库的深厚底蕴与Exadata的创新技术完美融合,呈现出一幅数据库技术发展的宏伟画卷。我特别期待书中能够探讨Exadata在Oracle数据库生态系统中的地位,以及它与其他Oracle产品的协同作用。例如,它与GoldenGate、Data Guard等产品结合,能带来哪些新的可能性?这种宏观的视角,将有助于我更全面地理解Exadata的战略意义和技术价值。
这本书的封面设计就充满了力量感,那种深邃的蓝色背景,配合着银色、闪耀的Exadata字样,瞬间就吸引了我的目光。我之前接触过不少数据库相关的书籍,但说实话,很多都停留在“知其然”的层面,讲一些基本概念和操作。然而,当我翻开《深入理解Oracle Exadata》的扉页,一股强烈的好奇心就油然而生。我一直对Oracle这个品牌的数据库产品充满了敬畏,而Exadata更是被誉为“数据库一体机”的巅峰之作,它的出现无疑是数据库架构领域的一场革命。我最期待的是,这本书能像剥洋葱一样,一层一层地揭开Exadata的神秘面纱,让我不仅仅是了解到它的存在,而是真正理解它为什么能如此强大,它的底层架构究竟是怎样的精妙,以及它在实际生产环境中是如何工作的。
在技术日新月异的今天,拥抱新技术,拥抱更高效的解决方案,是每个技术从业者的必修课。《深入理解Oracle Exadata》的出现,正是Oracle在数据库领域不断创新和突破的有力证明。我希望这本书能够清晰地展示Exadata相对于传统数据库部署的优势,不仅仅是性能上的飞跃,更是在管理、维护、部署等方面的简化和优化。我个人对Exadata的管理特性非常感兴趣,比如它的集中管理、自动化部署以及监控能力。一本优秀的著作,应该能够帮助读者理解一项技术是如何改变工作方式,如何提升效率的,我希望这本书能给我带来这样的启发。
在我看来,一本真正的好书,不仅仅是信息的堆砌,更是作者智慧的结晶,是他们多年实践经验的提炼。《深入理解Oracle Exadata》的作者在Oracle领域深耕多年,这份厚积薄发的专业知识,我想一定能通过这本书淋漓尽致地展现出来。我尤其关注书中对Exadata核心组件的讲解,比如它的存储(Storage Cell)是如何工作的,如何实现智能的I/O卸载,以及它与数据库服务器(Database Machine)之间的协同机制。我曾经遇到过一些性能瓶颈,但往往难以找到根本原因,很多时候都像是雾里看花,而Exadata这样的一体化解决方案,我认为它的优势就体现在了各个环节的深度优化和无缝集成,这本书能否将这些“黑科技”般的实现细节娓娓道来,是我最看重的部分,我期待它能让我对数据库性能的理解提升到新的高度。
我一直认为,对于任何一项复杂的技术,深入理解其架构和原理,是解决问题、优化性能的关键。《深入理解Oracle Exadata》如果能够提供对Exadata内部工作机制的细致分析,那么它将极具价值。我希望书中能够详细介绍Exadata是如何实现存储和计算的紧密集成的,以及这种集成带来的具体好处。例如,智能存储(Smart Storage)的概念在Exadata中是如何体现的?它又是如何影响SQL查询的执行过程的?我期待这本书能够像一位经验丰富的老者,用循序渐进的方式,将Exadata复杂的内部运作展现得一清二楚,让我能够真正地“懂”它。
作为一名长期与数据库打交道的工程师,性能始终是我的关注焦点,而Exadata被誉为性能的“神话”,我迫切想知道这个神话是如何炼成的。《深入理解Oracle Exadata》是否能够深入剖析Exadata在查询优化、数据访问、并行处理等方面的独特之处?我希望书中能详细阐述Exadata的智能扫描(Smart Scan)是如何工作的,如何将过滤和聚合操作推送到存储层,从而极大地减少网络传输和CPU开销。此外,Exadata的硬件架构,比如它的网络设计、内存配置以及CPU的并行能力,都必然是其高性能的基石。这本书能否将这些硬件特性与数据库软件的特性巧妙结合,进行一个全面而深入的解读,是我判断其价值的重要标准,我希望它能给我带来一些全新的思路和解决方案。
在企业级应用中,数据的可靠性和可用性是至关重要的。《深入理解Oracle Exadata》如果能在这个方面有所建树,那将是一大亮点。我希望书中能详细介绍Exadata在数据保护、灾难恢复、高可用性方面的设计和实现。例如,Exadata是如何利用其特殊的存储架构来保证数据的冗余和一致性的?它在RAC(Real Application Clusters)环境下是如何协同工作的,以提供无缝的故障转移和持续可用性?我曾经历过一些系统宕机带来的巨大损失,因此,对于这种能够最大程度保障业务连续性的技术,我总是抱着极大的兴趣和期望。这本书能否为我提供关于Exadata在这些关键领域的深刻见解,是我非常期待的。
在实际的IT工作中,我们往往面临各种各样的性能挑战,而Exadata被广泛认为是解决这些挑战的利器。《深入理解Oracle Exadata》是否能够提供丰富的案例分析,展示Exadata在不同场景下的应用和优化实践?我非常希望能看到书中分析一些典型的性能瓶颈是如何在Exadata环境中得到解决的,比如大数据量的OLAP查询、高并发的OLTP交易,甚至是复杂的混合负载。通过具体的案例,我不仅能学习到Exadata的理论知识,更能将其与实际工作中的问题联系起来,获得可操作的经验,这本书的实操性和指导性,将是我衡量其价值的重要维度。
内容其实并不多,但是看上去写得比较充实
该书第2版基于X5的要发布出来了。 销售卖1套exadata就发财了。
该书第2版基于X5的要发布出来了。 销售卖1套exadata就发财了。
只读了 2-3 章, offloading 译成卸载真让人接受不了...
内容其实并不多,但是看上去写得比较充实