书籍详情
Oracle性能优化与诊断案例精选
作者:盖国强,李轶楠 著
出版社:人民邮电出版社
出版时间:2016-10-01
ISBN:9787115438270
定价:¥79.00
购买这本书可以去
内容简介
Oracle数据库是关系型数据库领域重要的产品之一,在市场上赢得了广大用户和技术爱好者的信赖。在使用数据库产品的过程中,如何通过优化提升性能,通过诊断分析解决问题,一直是这个领域重要的议题。随着Oracle 12c版本的深入使用和云技术的蓬勃发展,关于12c的版本特性也备受关注。本书汇聚了Oracle数据库领域的一批技术专家,通过成长历程分享、技术经验讲解、诊断和优化案例分析,将其独特的经验和视角分享给广大读者。作者希望通过这些各具特色的实践分享,让读者找到对自己有益的学习方法和诊断优化思路。本书适用于对Oracle数据库技术有一定的了解,希望深入学习的数据库从业人员,尤其是希望深入研究Oracle数据库的管理人员。
作者简介
本书作者团队阵容强大,有Oracle ACE总监6人,Oracle ACE 2人,以及其他云和恩墨的高级技术专家共13人。他们掌握了Oracle的技术和发展动向,并有多年的行业经验,在这本书中,他们将自己的成长经历,技术经验和独特的视角分享给读者,希望大家找到对自己有益的学习方法和诊断优化思路。
目录
第一篇 成长之路
第1章 三十八载,Oracle伴我同行 1
1.1 缘起边陲,恰同学风华正茂 2
1.2 京师磨练,转眼已历十二载 4
1.3 笔耕不辍,年少曾怀作家梦 6
1.4 三重境界,见山见水见真我 9
1.5 云和恩墨,数据服务起征途 12
1.6 理想实践,开发运维一体化 13
1.7 快乐生活,此心安处是吾乡 16
第2章 回首向来萧瑟处,也无风雨也无晴 18
2.1 人生若只如初见 18
2.2 日久生情见真心 19
2.3 衣带渐宽终不悔 19
2.4 天下谁人不识君 20
2.5 回首向来萧瑟处,也无风雨也无晴 21
第3章 正确抉择,丰富人生 23
3.1 初闻Oracle 23
3.2 选择适合自己的路 24
3.2.1 选择合适的资料书 24
3.2.2 融入圈子 24
3.2.3 关于大学的课程 25
3.3 树立目标 26
3.3.1 参与论坛分享 26
3.3.2 写作 26
3.3.3 参加技术研讨会 27
3.4 关于认证 27
第二篇 知识基础
第4章 Oracle数据库的跟踪和分析方法 30
4.1 SQL_TRACE及10046事件 31
4.2 SQL_TRACE说明 31
4.2.1 DBMS_SYSTEM跟踪案例 32
4.2.2 系统递归调用的跟踪 36
4.3 10046与等待事件 39
4.3.1 通过跟踪理解数据库的初始化 42
4.3.2 远程支持之10046事件 50
4.3.3 通过10046事件跟踪解决未知问题 52
4.3.4 通过10046解决数据库RAC集群案例 56
4.4 Oracle跟踪总结 62
4.5 参考资料:数据类型比较规则 62
4.5.1 数值类型 62
4.5.2 日期类型 62
4.5.3 字符类型 62
4.5.4 对象类型 65
4.5.5 数组和嵌套表类型 65
第5章 兴趣、思考与实践 72
5.1 Kamus谈技术、学习与分享 72
5.1.1 Oracle的适用场景 72
5.1.2 为什么Oracle广受欢迎 73
5.1.3 如何实现灾备 73
5.1.4 数据库发展对DBA工作的影响 73
5.1.5 Oracle的学习方法 74
5.1.6 如何成为ACE 74
5.2 以12c Identity类型示范自我探索式学习方法 75
5.3 Dump Block是否会引起Block读入内存 84
5.4 Dump Block是否会引起脏数据写入磁盘 85
5.5 如何验证ASM的块头备份块的位置 88
5.6 如何利用文件句柄恢复误删除的文件 90
5.7 从一道面试题看分析问题的思路 93
5.7.1 检查被阻塞会话的等待事件 93
5.7.2 查找blocker 94
5.7.3 乙方DBA需谨慎 94
5.7.4 清除blocker 94
5.7.5 深入一步 95
5.8 涓涓细流终聚海 96
第6章 使用XTTS技术进行U2L跨平台数据迁移 97
6.1 XTTS 概述 97
6.2 XTTS技术迁移应用场景 99
6.2.1 应用场景一:全国“去IOE”战略实施 99
6.2.2 应用场景二:“云平台”数据中心建设 99
6.2.3 应用场景三:老旧环境淘汰改造 100
6.2.4 应用场景四:数据库分布式存储重构 100
6.2.5 应用场景五:其他应用场景 101
6.3 XTTS迁移步骤 101
6.4 XTTS迁移方式 101
6.4.1 方式一:dbms_file_transfer 102
6.4.2 方式二:RMAN Backup 103
6.4.3 方式三:手工XTTS迁移 104
6.5 XTTS前置条件检查 106
迁移检查 107
6.6 XTTS最佳实践方案论证 109
6.6.1 技术方案概况 109
6.6.2 技术方案实施步骤 110
6.6.3 技术方案模型 110
6.6.4 方案可行性说明 110
6.6.5 方案优缺点论述 111
6.6.6 技术方案论证结论 111
6.7 XTTS RMAN Backup步骤 111
6.8 XTTS实战案例分享 113
6.8.1 案例现状介绍 113
6.8.2 系统现状评估 114
6.8.3 迁移需求分析 114
6.8.4 迁移方案选型 115
6.8.5 迁移的具体实施 116
6.9 XTTS风险预估 122
6.10 XTTS总结 123
第7章 Oracle的参数和参数文件 124
7.1 参数的分类 124
7.1.1 推导参数 125
7.1.2 操作系统依赖参数 125
7.1.3 可变参数 126
7.1.4 不推荐参数 126
7.1.5 废弃参数 126
7.2 参数文件管理和使用 128
7.2.1 参数文件的创建 128
7.2.2 12c create spfile的警示 130
7.3 12c 参数与参数文件新特性 134
7.3.1 参数表的引入 135
7.3.2 参数表在PDB启动中的作用 138
7.4 参数修改及重置 139
7.4.1 解决参数文件的修改错误 144
7.4.2 通过event事件来跟踪对参数文件的修改 145
7.5 参数的查询 145
7.5.1 参数查询的基本方式 146
7.5.2 参数值的可选项 148
7.6 不同查询方法之间的区别 149
7.6.1 V$PARAMETER和V$PARAMETER2的区别 149
7.6.2 V$PARAMETER和V$SYSTEM_PARAMETER的区别 150
7.6.3 GV$SPPARAMETER和V$SPPARAMETER的区别 152
7.7 RAC下参数的维护 154
7.7.1 RAC下共享spfile 154
7.7.2 使用ASM存储参数文件 155
7.7.3 谨慎修改RAC参数 156
7.7.4 RAC环境下初始化参数的查询方法 156
7.8 参数文件备份 158
7.9 参数文件恢复 160
第三篇 SQL之美
第8章 学习与分享 164
8.1 对数据库开发和运维的认识 164
8.2 行业发展给DBA带来的挑战 165
8.3 个人学习经验分享 165
8.4 Oracle中的NULL剖析 166
8.4.1 NULL的基础概念和由来 167
8.4.2 NULL的布尔运算的特点 168
8.4.3 NULL的默认数据类型 173
8.4.4 空字符串’ ’与NULL的关系 176
8.4.5 NULL和索引 179
8.4.6 NULL的其他方面特点 183
第9章 诊断Cache buffers chains案例一则 185
9.1 详细诊断过程 185
9.2 总结 194
第10章 戒骄戒躁、细致入微 195
10.1 我的职业生涯 195
10.2 运维的现状及发展 196
10.3 如何提高数据库的开发水平 196
10.4 DBA面临的挑战 197
10.5 数据库优化的思考 197
10.6 提问的智慧 199
10.7 细致入微方显价值——通过真实案例认识SQL审核 200
10.7.1 案例一 仅仅是NULL的问题 200
10.7.2 案例二 想不到的优化方式 202
10.8 号段选取应用的SQL技巧 204
10.8.1 问题的提出 204
10.8.2 相关基础知识 205
10.8.3 解决问题 207
10.8.4 小结 220
10.9 connect y的作用与技巧 220
10.9.1 connect y是什么 221
10.9.2 connect y可以做什么 221
第四篇 诊断分析
第11章 抽丝剥茧——一次特殊的ORA-04030故障处理 238
11.1 聚集数据的信息采集和分析 238
11.2 聚焦疑点的跟踪测试与验证 242
11.3 解析原理的问题总结与建议 245
第12章 不积跬步,无以至千里 247
12.1 技术生涯有感 247
12.2 自我定位及规划 248
12.3 对数据库运维工作的认识 249
12.4 学习理念分享 249
12.5 RAC数据库频繁hang问题诊断案例 249
12.5.1 案例现象及概要 250
12.5.2 故障详细分析 251
12.5.3 案例总结 260
12.6 Exadata环境下SQL性能问题诊断案例 262
12.6.1 AWR报告 262
12.6.2 生成SQL报告 263
12.6.3 检查历史数据 266
12.6.4 判断问题产生的流程 268
12.6.5 查询历史数据 268
12.6.6 并列执行的序列过程 268
12.6.7 检查call tack 271
12.6.8 检查并行会话 271
12.7 关于RAC数据库load alance案例分析 276
12.8 总结 285
第13章 反思与总结:轻松从菜鸟到专家 286
13.1 一波三折:释放内存导致数据库崩溃的案例 287
13.2 层层深入:DRM引发RAC的故障分析 292
13.3 始于垒土:应用无法连接数据库问题分析 300
13.4 变与不变:应用SQL突然变慢优化分析 308
13.5 实践真知:INSERT入库慢的案例分析 314
13.6 按图索骥:Expdp遭遇ORA-07445的背后 319
13.7 城门失火:Goldengate引发的数据库故障 323
第14章 勤奋与汗水 329
14.1 我的职业生涯与思考 329
14.2 如何看待企业运维 329
14.3 对性能问题的认识 331
14.4 学习方法 332
14.5 所有奇异的故障都有一个最简单的本质 332
14.6 案例一:意料之外的RAC宕机祸首——子游标 333
14.6.1 信息采集,准确定位问题 333
14.6.2 层层分析,揪出罪魁祸首 336
14.6.3 对症下药,排除数据故障 341
14.6.4 深入总结,一次故障长久经验 342
14.7 案例二:异常诡异的SQL性能分析 342
14.7.1 信息收集 342
14.7.2 新特性分析 344
14.8 总结 345
参考文献 346
第1章 三十八载,Oracle伴我同行 1
1.1 缘起边陲,恰同学风华正茂 2
1.2 京师磨练,转眼已历十二载 4
1.3 笔耕不辍,年少曾怀作家梦 6
1.4 三重境界,见山见水见真我 9
1.5 云和恩墨,数据服务起征途 12
1.6 理想实践,开发运维一体化 13
1.7 快乐生活,此心安处是吾乡 16
第2章 回首向来萧瑟处,也无风雨也无晴 18
2.1 人生若只如初见 18
2.2 日久生情见真心 19
2.3 衣带渐宽终不悔 19
2.4 天下谁人不识君 20
2.5 回首向来萧瑟处,也无风雨也无晴 21
第3章 正确抉择,丰富人生 23
3.1 初闻Oracle 23
3.2 选择适合自己的路 24
3.2.1 选择合适的资料书 24
3.2.2 融入圈子 24
3.2.3 关于大学的课程 25
3.3 树立目标 26
3.3.1 参与论坛分享 26
3.3.2 写作 26
3.3.3 参加技术研讨会 27
3.4 关于认证 27
第二篇 知识基础
第4章 Oracle数据库的跟踪和分析方法 30
4.1 SQL_TRACE及10046事件 31
4.2 SQL_TRACE说明 31
4.2.1 DBMS_SYSTEM跟踪案例 32
4.2.2 系统递归调用的跟踪 36
4.3 10046与等待事件 39
4.3.1 通过跟踪理解数据库的初始化 42
4.3.2 远程支持之10046事件 50
4.3.3 通过10046事件跟踪解决未知问题 52
4.3.4 通过10046解决数据库RAC集群案例 56
4.4 Oracle跟踪总结 62
4.5 参考资料:数据类型比较规则 62
4.5.1 数值类型 62
4.5.2 日期类型 62
4.5.3 字符类型 62
4.5.4 对象类型 65
4.5.5 数组和嵌套表类型 65
第5章 兴趣、思考与实践 72
5.1 Kamus谈技术、学习与分享 72
5.1.1 Oracle的适用场景 72
5.1.2 为什么Oracle广受欢迎 73
5.1.3 如何实现灾备 73
5.1.4 数据库发展对DBA工作的影响 73
5.1.5 Oracle的学习方法 74
5.1.6 如何成为ACE 74
5.2 以12c Identity类型示范自我探索式学习方法 75
5.3 Dump Block是否会引起Block读入内存 84
5.4 Dump Block是否会引起脏数据写入磁盘 85
5.5 如何验证ASM的块头备份块的位置 88
5.6 如何利用文件句柄恢复误删除的文件 90
5.7 从一道面试题看分析问题的思路 93
5.7.1 检查被阻塞会话的等待事件 93
5.7.2 查找blocker 94
5.7.3 乙方DBA需谨慎 94
5.7.4 清除blocker 94
5.7.5 深入一步 95
5.8 涓涓细流终聚海 96
第6章 使用XTTS技术进行U2L跨平台数据迁移 97
6.1 XTTS 概述 97
6.2 XTTS技术迁移应用场景 99
6.2.1 应用场景一:全国“去IOE”战略实施 99
6.2.2 应用场景二:“云平台”数据中心建设 99
6.2.3 应用场景三:老旧环境淘汰改造 100
6.2.4 应用场景四:数据库分布式存储重构 100
6.2.5 应用场景五:其他应用场景 101
6.3 XTTS迁移步骤 101
6.4 XTTS迁移方式 101
6.4.1 方式一:dbms_file_transfer 102
6.4.2 方式二:RMAN Backup 103
6.4.3 方式三:手工XTTS迁移 104
6.5 XTTS前置条件检查 106
迁移检查 107
6.6 XTTS最佳实践方案论证 109
6.6.1 技术方案概况 109
6.6.2 技术方案实施步骤 110
6.6.3 技术方案模型 110
6.6.4 方案可行性说明 110
6.6.5 方案优缺点论述 111
6.6.6 技术方案论证结论 111
6.7 XTTS RMAN Backup步骤 111
6.8 XTTS实战案例分享 113
6.8.1 案例现状介绍 113
6.8.2 系统现状评估 114
6.8.3 迁移需求分析 114
6.8.4 迁移方案选型 115
6.8.5 迁移的具体实施 116
6.9 XTTS风险预估 122
6.10 XTTS总结 123
第7章 Oracle的参数和参数文件 124
7.1 参数的分类 124
7.1.1 推导参数 125
7.1.2 操作系统依赖参数 125
7.1.3 可变参数 126
7.1.4 不推荐参数 126
7.1.5 废弃参数 126
7.2 参数文件管理和使用 128
7.2.1 参数文件的创建 128
7.2.2 12c create spfile的警示 130
7.3 12c 参数与参数文件新特性 134
7.3.1 参数表的引入 135
7.3.2 参数表在PDB启动中的作用 138
7.4 参数修改及重置 139
7.4.1 解决参数文件的修改错误 144
7.4.2 通过event事件来跟踪对参数文件的修改 145
7.5 参数的查询 145
7.5.1 参数查询的基本方式 146
7.5.2 参数值的可选项 148
7.6 不同查询方法之间的区别 149
7.6.1 V$PARAMETER和V$PARAMETER2的区别 149
7.6.2 V$PARAMETER和V$SYSTEM_PARAMETER的区别 150
7.6.3 GV$SPPARAMETER和V$SPPARAMETER的区别 152
7.7 RAC下参数的维护 154
7.7.1 RAC下共享spfile 154
7.7.2 使用ASM存储参数文件 155
7.7.3 谨慎修改RAC参数 156
7.7.4 RAC环境下初始化参数的查询方法 156
7.8 参数文件备份 158
7.9 参数文件恢复 160
第三篇 SQL之美
第8章 学习与分享 164
8.1 对数据库开发和运维的认识 164
8.2 行业发展给DBA带来的挑战 165
8.3 个人学习经验分享 165
8.4 Oracle中的NULL剖析 166
8.4.1 NULL的基础概念和由来 167
8.4.2 NULL的布尔运算的特点 168
8.4.3 NULL的默认数据类型 173
8.4.4 空字符串’ ’与NULL的关系 176
8.4.5 NULL和索引 179
8.4.6 NULL的其他方面特点 183
第9章 诊断Cache buffers chains案例一则 185
9.1 详细诊断过程 185
9.2 总结 194
第10章 戒骄戒躁、细致入微 195
10.1 我的职业生涯 195
10.2 运维的现状及发展 196
10.3 如何提高数据库的开发水平 196
10.4 DBA面临的挑战 197
10.5 数据库优化的思考 197
10.6 提问的智慧 199
10.7 细致入微方显价值——通过真实案例认识SQL审核 200
10.7.1 案例一 仅仅是NULL的问题 200
10.7.2 案例二 想不到的优化方式 202
10.8 号段选取应用的SQL技巧 204
10.8.1 问题的提出 204
10.8.2 相关基础知识 205
10.8.3 解决问题 207
10.8.4 小结 220
10.9 connect y的作用与技巧 220
10.9.1 connect y是什么 221
10.9.2 connect y可以做什么 221
第四篇 诊断分析
第11章 抽丝剥茧——一次特殊的ORA-04030故障处理 238
11.1 聚集数据的信息采集和分析 238
11.2 聚焦疑点的跟踪测试与验证 242
11.3 解析原理的问题总结与建议 245
第12章 不积跬步,无以至千里 247
12.1 技术生涯有感 247
12.2 自我定位及规划 248
12.3 对数据库运维工作的认识 249
12.4 学习理念分享 249
12.5 RAC数据库频繁hang问题诊断案例 249
12.5.1 案例现象及概要 250
12.5.2 故障详细分析 251
12.5.3 案例总结 260
12.6 Exadata环境下SQL性能问题诊断案例 262
12.6.1 AWR报告 262
12.6.2 生成SQL报告 263
12.6.3 检查历史数据 266
12.6.4 判断问题产生的流程 268
12.6.5 查询历史数据 268
12.6.6 并列执行的序列过程 268
12.6.7 检查call tack 271
12.6.8 检查并行会话 271
12.7 关于RAC数据库load alance案例分析 276
12.8 总结 285
第13章 反思与总结:轻松从菜鸟到专家 286
13.1 一波三折:释放内存导致数据库崩溃的案例 287
13.2 层层深入:DRM引发RAC的故障分析 292
13.3 始于垒土:应用无法连接数据库问题分析 300
13.4 变与不变:应用SQL突然变慢优化分析 308
13.5 实践真知:INSERT入库慢的案例分析 314
13.6 按图索骥:Expdp遭遇ORA-07445的背后 319
13.7 城门失火:Goldengate引发的数据库故障 323
第14章 勤奋与汗水 329
14.1 我的职业生涯与思考 329
14.2 如何看待企业运维 329
14.3 对性能问题的认识 331
14.4 学习方法 332
14.5 所有奇异的故障都有一个最简单的本质 332
14.6 案例一:意料之外的RAC宕机祸首——子游标 333
14.6.1 信息采集,准确定位问题 333
14.6.2 层层分析,揪出罪魁祸首 336
14.6.3 对症下药,排除数据故障 341
14.6.4 深入总结,一次故障长久经验 342
14.7 案例二:异常诡异的SQL性能分析 342
14.7.1 信息收集 342
14.7.2 新特性分析 344
14.8 总结 345
参考文献 346
猜您喜欢