新書推薦:
《
石油帝国的兴衰:英国的工业化与去工业化
》
售價:HK$
97.9
《
古典的回響:溪客舊廬藏明清文人繪畫
》
售價:HK$
437.8
《
根源、制度和秩序:从老子到黄老学(王中江著作系列)
》
售價:HK$
121.0
《
索恩丛书·北宋政治与保守主义:司马光的从政与思想(1019~1086)
》
售價:HK$
75.9
《
掌故家的心事
》
售價:HK$
85.8
《
农为邦本——农业历史与传统中国
》
售價:HK$
74.8
《
郊庙之外:隋唐国家祭祀与宗教 增订版 (三联·哈佛燕京学术丛书)
》
售價:HK$
105.6
《
小麦文明:“黄金石油”争夺战
》
售價:HK$
97.9
|
編輯推薦: |
Oracle资深专家力作
以真实案例贯穿始终
感悟DBA思想精髓
|
內容簡介: |
数据库的性能优化一直是DBA日常工作中非常重要的组成部分,然而很多DBA在学习了大量技术,参加了大量培训后,仍然会在实际工作中遇到难以下手的问题。实际上,在数据库优化工作中,方法和思路远比技术实现重要得多。
本书重在介绍Oracle数据库的性能调优方法及相应的工作思路,但并不拘泥于技术细节。作者通过大量真实案例,深度剖析了相关技术原理,同时还阐述了理论知识在实践中的应用方法。优化工作的本质其实就是透过表象探寻根源,解决问题实现调优,正所谓“思路是道,操作方法是技”,得道是极大的提升,也是DBA的思想精髓。
|
關於作者: |
白鳝
Oracle
ACE。从事IT工作20年,曾供职于DEC、赛格计算机、长天集团、联想金融事业部等,担任过技术总监、应用体系总监等技术职务。长期从事应用软件开发、设计与性能优化工作,1996年主持设计了国内首套电信级长话联机实时计费系统,荣获福建省科技进步三等奖;1998年主持设计了首套三检合一的检验检疫综合管理系统,荣获深圳市科技进步三等奖。2002年起从事专业IT运维与技术支撑服务工作,在系统优化领域有十分丰富的工作经验,参与过数十个大型优化项目。著有《Oracle
优化日记》、《Oracle RAC日记》等技术书籍。
储学荣
1992年毕业于南京大学计算机系,曾供职于得实集团、长天集团、联想集团等知名IT企业,担任程序员、软件架构师等职务。从事过电信、金融、政府等行业核心系统研发工作,参与过UNIX内核开发工作并独立开发了类自然语言的电信计费专用语言ABC的编译器和P代码运行虚拟机。2005年开始专门从事IT咨询与性能优化工作,在Oracle数据库性能优化方面有很深的造诣,并对Oracle数据库的内部结构有较深的研究,编写有大量的数据拯救工具。
|
目錄:
|
目录
第一部分 基础原理篇
第1章 理解Oracle数据库和实例
1.1 什么是Oracle数据库
1.2 Oracle数据库的物理结构
1.2.1 Inventory
1.2.2 口令文件
1.2.3 参数文件
1.2.4 控制文件
1.2.5 在线日志文件
1.2.6 数据文件
1.2.7 归档日志文件
1.3 实例和多实例数据库
1.3.1 什么是数据库实例
1.3.2 多实例数据库
1.4 数据库后台进程
1.4.1 进程结构
1.4.2 后台进程的功能作介绍
1.4.3 哪些后台进程可以杀
1.4.4 是谁在执行SQL
第2章 理解DB Cache
2.1 什么是DB Cache
2.2 DB Cache的分配和DBWR的相关算法
2.2.1 DB_WRITER_PROCESSES参数
2.2.2 DB Cache的几个主要的链和CKPT算法
2.2.3 检索某个DB BLOCK的模拟算法
2.3 DB Cache相关的参数闩锁和等待事件
2.4 DB Cache优化的一些探讨
2.4.1 DB Cache和热块冲突
2.4.2 使用KEEP POOL能改善CBC争用吗
2.4.3 如何判断DB Cache是否足够
2.4.4 DB Cache优化要点
第3章 理解共享池
3.1 共享池堆的内部结构
3.1.1 进一步了解共享池
3.1.2 共享池的子池技术
3.1.3 字典缓存
3.1.4 库缓存和游标
3.2 共享池和游标
3.2.1 游标与游标共享
3.2.2 游标与SQL的执行
3.2.3 游标共享和绑定变量
3.2.4 OPEN CURSOR和OPEN_CURSORS参数
3.2.5 CURSOR_SPACE_FOR_TIME参数
3.2.6 SESSION_CACHED_CURSORS参数和OPEN_CURSORS
3.2.7 CURSOR_SHARING和游标共享
3.2.8 游标的关闭
3.2.9 互斥锁和游标
3.3 共享池的相关参数
3.4 共享池故障处理
3.4.1 著名的ORA-4031
3.4.2 其他共享池常见故障
3.5 共享池优化的主要思路
第4章 理解控制文件
4.1 控制文件的内部结构
4.1.1 控制文件和控制文件事务
4.1.2 控制文件自动扩展
4.1.3 如何转储和分析控制文件
4.1.4 文件头和控制文件信息
4.2 故障处理和优化
4.2.1 丢失或者损坏控制文件的处理方法
4.2.2 控制文件的优化
第5章 理解REDO日志
5.1 什么是REDO日志
5.2 REDO的基本原理
5.2.1 介质恢复和实例恢复的基本概念
5.2.2 变化矢量和REDO记录
5.2.3 日志缓冲和LGWR
5.2.4 日志切换和REDO日志文件
5.2.5 事务提交和回滚的过程
5.3 REDO优化
5.3.1 BULK操作能减少REDO吗
5.3.2 如何优化LOG FILE SYNC等待事件
5.3.3 SHUTDOWN ABORT无害吗
5.3.4 关于REDO日志优化的建议
第6章 理解UNDO
6.1 UNDO的基本原理
6.1.1 UNDO表空间和回滚段
6.1.2 ITL和UNDO
6.1.3 如何转储UNDO
6.1.4 UNDO自动管理是如何工作的
6.1.5 系统回滚段的作用
6.1.6 著名的ORA-1555
6.1.7 回滚段手工管理
6.2 如何分析和优化UNDO
第7章 理解PGA、临时表空间和排序
7.1 基本概念
7.1.1 临时表空间和临时段
7.1.2 PGA和排序
7.1.3 PGA和PGA_AGGREGATE_ TARGET
7.1.4 你应该知道的PGA自动管理内幕
7.2 PGA优化的要点
第8章 理解ASM的结构
8.1 什么是ASM
8.2 ASM的结构
8.2.1 ASM DISKHEADER的结构
8.2.2 ASM FILE DIRECTORY文件结构
8.2.3 ASM ALIAS DIRECTORY文件结构
8.2.4 ASM DISK DIRECTORY文件结构
8.2.5 从ASM存储结构谈ASM日常维护的要点
8.3 如何使用KFED分析和修改ASM数据
8.4 如何使用AMDU导出ASM文件
第9章 理解数据块结构
9.1 理解数据块头结构
9.2 理解ITL
9.3 理解记录结构
9.4 解析Oracle字段的内部数据存储格式
9.5 理解LOB的存储结构
第10章 理解表的结构
10.1 到底什么是“表”
10.1.1 PCTFREE和行链
10.1.2 那些逝去的老参数
10.1.3 减少热块冲突的方法
10.2 从数据块结构看目前主流容灾技术
10.3 案例——简单任务
第11章 理解索引
11.1 反转键索引的误区
11.2 索引访问的方式
11.2.1 小表用索引有意义吗
11.2.2 位图索引为什么不适合大并发量环境
11.3 重建索引的作用
11.4 索引使用的“三大纪律八项注意”
11.5 案例——索引危机
第12章 理解分区表
12.1 什么是分区表
12.2 分区表对海量数据的意义
12.2.1 分区表和历史数据归档
12.2.2 分区表和高水位推进
12.2.3 分区表和RAC环境
12.2.4 分区主键和分区粒度的选择
第13章 理解序列
13.1 什么是序列
13.2 序列的使用和优化
第二部分 分析思路篇
第14章 问题分析综述
14.1 如何抓住蝴蝶效应中的那只蝴蝶
14.2 为什么要强调基础概念
14.3 工作中的好习惯带来的福利
第15章 DBA分析思路的探讨
15.1 问题分析总路线图
15.2 普通故障的分析路线
15.3 性能问题的分析路线
15.4 SQL语句的分析路线
15.5 利用你知道的原理缩小问题的范围
15.6 关闭问题的条件
15.7 灵活运用你的知识
15.8 DBA需要与时俱进
15.9 多表连接的优化技巧
15.10 理论如何联系实践
第三部分 典型案例篇
第16章 RAC故障分析
16.1 LOG_ARCHIVE_MAX_PROCESS导致的RAC脑裂
16.2 RAC系统故障的处理过程
16.3 三天两次严重故障
第17章 ORA-600故障
17.1 ORA-600 [12700]错误的分析过程
17.2 ORA-600 [kdsgrp1]的处理案例
第18章 性能问题分析
18.1 压力测试遇到的问题
18.2 IMP导入性能问题的分析
18.3 并行操作为什么无法执行
第19章 SQL优化
19.1 一个常用的SQL优化方法
19.2 一个查找IP所属区域的SQL优化思路
结束语
|
|