书籍详情
Oracle高效设计
作者:(美)凯特;钟鸣译
出版社:机械工业出版社
出版时间:2006-01-01
ISBN:9787111178118
定价:¥68.00
购买这本书可以去
内容简介
本书通过翔实的代码实例,讲解如何用主动且高效的方法开发和调试完全依赖数据库的优化Oracle应用程序。理论知识、系统设计和实际问题紧密结合。语言流畅且浅显易懂,对问题的解释全面深入,是一本关于Oracle技术的高级手册。适合各种层次的数据库设计人员和DBA参考。本书特色■使用SQL*Plus、TKPROF、STATSPACK、JDeveloper以及其他工具■利用Oracle的可伸缩的体系结构实现■使用SPFILE、Oracle管理文件,以及自动段空间管理实现高效管理■使用ARCHIVELOG模式、RMAN和数据保护完成数据库备份与恢复■通过绑定变量和尽可能少做分析来改进语句处理■充分利用基于成本的优化程序 (CBO)■产生高效设计模式的数据结构选择■编写高效的SQL语句和高效的PL/SQL代码■跟随Oracle权威人士学习开发高效应用程序的正确方法
作者简介
暂缺《Oracle高效设计》作者简介
目录
目录:
第1章 构建应用程序的正确方法
11 团队协作
12 阅读资料文档
121 指南的指南
122 阅读路线
13 避免黑盒综合症
131 数据库独立与数据库依赖
132 黑盒综合症的危害
14 是数据库而不是一堆数据
141 使用主键和外部键
142 测试参考完整性的开销
143 中间层检查不是万能药
15 建立测试环境
151 用有代表性的数据进行测试
152 不要用单个用户进行测试
153 不要在无菌实验室中进行测试
16 设计出性能而不是调整出性能
161 不要使用通用数据模型
162 设计自己的高效数据模型
17 开始就定义性能目标
171 在清晰明确的标准下工作
172 随时收集并记录标准
173 别因为 “所有人都知道你应该做”而做某件事情
18 测试, 测试, 再测试
181 小基准测试
182 大基准测试
19 仪表化系统
191 追踪asktomoraclecom
192 远程调试仪表化
193 使用DBMSAPPLICATIONINFO
194 在PL/SQL中使用DEBUGF
195 在应用系统中打开SQLTRACE
196 使用业内标准的API
197 建立自己的例程
198 审计不仅仅是个词
110 敢于怀疑权威
1101 当心泛泛的 “最好”
1102 怀疑 “法定” 和 “神话”
111 不要走捷径
112 保持简单
1121 考虑备选方法
1122 让数据库充分发挥自己的能力
113 使用已有的功能
1131 我们听说X特性慢
1132 我们听说X特性复杂
1133 我们不想
1134 我们以前不知道
1135 我们希望数据库独立
114 本章小结
第2章 性能工具包
21 SQL*Plus
211 建立SQL*Plus
212 定制SQL*Plus环境
213 阅读文档
22 EXPLAIN PLAN
221 设置EXPLAIN PLAN
222 使用EXPLAIN PLAN
223 如何阅读查询计划
224 避免EXPLAIN PLAN陷阱
225 使用DBMSXPLAN和V$SQLPLAN
23 AUTOTRACE
231 建立AUTOTRACE
232 使用AUTOTRACE
233 格式化AUTOTRACE的输出
234 了解AUTOTRACE的输出
235 AUTOTRACE输出中感兴趣的内容
24 TKPROF
241 启用TKPROF
242 运行TKPROF
243 读TKPROF报告
244 各种群体对TKPROF的使用
25 Runstats
251 建立Runstats
252 使用Runstats
26 Statspack
261 建立Statspack
262 使用Statspack
263 使用Statspack易犯的错误
264 Statspack概览
27 DBMSPROFILER
271 为什么要使用配置文件管理器
272 配置文件管理器的资源
28 JDeveloper (及调试)
29 本章小结
第3章 体系结构选择
31 了解共享服务器与专用服务器连接
311 专用服务器如何工作
312 共享服务器连接如何工作
313 关于共享服务器配置的常见错误观点
314 专用服务器与共享服务器小结
32 利用集群
321 RAC如何工作
322 RAC的优点
323 集群小结
33 了解何时使用分区
331 分区概念
332 神秘的分区
333 为什么使用分区
334 分区小结
34 知道何时使用并行操作
341 并行神话
342 并行管理
343 并行查询
344 并行DML
345 打造自己的并行
346 并行处理小结
35 本章小结
第4章 高效的管理
41 用SPFILE启动数据库
411 PFILE的问题
412 SPFILE如何工作
413 让数据库使用SPFILE
414 保存系统参数的改动
415 PFILE过时了吗
416 求助, 我的SPFILE坏了, 我不能启动了
417 SPFILE小结
42 让Oracle来管理你的数据文件
421 何时使用OMF
422 OMF如何工作
423 OMF小结
43 可靠的恢复
431 备份准则
432 备份和恢复小结
44 使用本地管理的表空间
441 为什么要废除DMT
442 在不知道对象会变得有多大时使用系统管理的LMT
443 在知道对象的最终尺寸时使用统一的区尺寸
444 关于LMT的某些忠告
445 LMT和DMT小结
45 让Oracle管理你的段空间
451 理解可用列表和可用列表组
452 PCTFREE和PCTUSED怎样控制可用列表
453 ASSM的案例
454 ASSM小结
46 让Oracle管理回退段
461 设置UNDORETENTION
462 UNDO表空间忠告
463 UNDO表空间小结
47 本章小章
第5章 语句处理
51 理解SQL语句的类型
52 语句怎样执行
521 分析
522 优化和行资源生成
523 执行
524 语句执行小结
53 查询的处理过程
531 快速返回的查询
532 慢速返回的查询
533 一致性读取
54 DML语句的处理
55 DDL处理
56 使用绑定变量
561 绑定变量的优点
562 对Java和VB使用绑定变量
563 每项规则都有例外
564 绑定变量窥视
57 尽可能少做分析
571 分析的成本
572 使用PL/SQL减少分析
573 把SQL移出触发器以减少分析
574 准备一次; 执行多次
58 本章小结
第6章 从基于成本的优化程序获得最大输出
61 为什么停用RBO
62 使CBO发挥最大的作用
621 调整OPTIMIZERINDEXCACHING和OPTIMIZER INDEXCOSTADJ参数
622 使用SYSTEM统计数据
63 优化CBO
631 为升级设置COMPATIBLE
632 设置DBFILEMULTIBLOCK READCOUNT以减少全扫描的成本
633 设置HASHJOINENABLED控制散列连接
634 设置OPTIMIZERDYNAMICSAMPLING动态收集统计数据
635 设置OPTIMIZERFEATURESENABLE制特性选择
636 设置OPTIMIZERMAX PERMUTATIONS控制排列
637 设置OPTIMIZERMODE选择模式
638 用QUERYREWRITEENABLED和QUERYREWRITEINTEGRITYT重写查询
639 用BITMAPMERGEAREA SIZE、SORTAREASIZE、HAS HAREASIZE控制PGA内存
6310 对星查询使用STAR TRANSFORMATIONENABLED
6311 设置影响优化程序的其他几个参数
64 使用10053事件跟踪CBO选择
65 本章小结
第7章 高效的模式设计
71 基本模式设计原则
711 让数据库实现数据完整性
712 使用正确的数据类型
713 对最经常提的问题进行优化
72 表类型概述
73 B*树索引集群表
731 创建群
732 使用群
733 群小结
74 索引组织表
741 用IOT替代关联表以节省空间
742 利用IOT集中放置随机插入的数据
743 IOT小结
75 外部表
751 建立外部表
752 修改外部表
753 将外部表用于直接路径装载
754 将外部表用于并行直接路径装载
755 将外部表用于合并
756 处理外部表的错误
76 索引技术
761 使用FBI——打破常规
762 使用域索引
77 压缩
771 使用索引键压缩
772 对于只读或主要是读的表进行表压缩
773 压缩小结
78 本章小结
第8章 高效的SQL
81 编写高效SQL所需的知识
82 访问路径
821 全扫描
822 ROWID访问
823 索引扫描
824 群扫描
83 连接概念
831 嵌套循环
832 散列连接
833 排序合并连接
834 笛卡儿连接
835 反连接
836 全外部连接
84 模式问题(物理的)
85 真正理解SQL
851 ROWNUM伪列
852 标量子查询
853 分析函数
86 不调整查询
861 理解问题
862 概念验证的例子
87 其他SQL技术概览
88 本章小结
第9章 高效的PL/SQL程序设计
91 为什么要使用PL/QL
911 PL/SQL是数据操纵的最高效语言
912 PL/SQL具有可移植性和可重用性
92 尽可能少地编写代码
921 不用程序实现
922 让代码行数适合于屏幕显示
93 使用程序包
931 程序包的优点
932 断开依赖链
933 程序包小结
94 使用静态SQL
941 静态SQL的优点
942 寻找替换动态SQL的机会
943 静态SQL小结
95 批量处理
951 使用批量处理效果很好时再使用它
952 对ETL操作使用BULK处理
953 批量处理小结
96 返回数据
961 ref游标的优点
962 使用ref游标返回结果集
97 使用%TYPE和%ROWTYPE
971 基于表的记录类型
972 基于游标的记录类型
973 基于列的数据类型
98 使用调用者的权限
981 调用者权限和多模式
982 调用者权限的条件
99 使查找高效地工作
991 查找的单行取
992 查找的批量处理
993 查找的单语句操作
994 查找小结
910 当心独立事务处理
9101 独立事务处理的条件
9102 独立事务处理会影响数据完整性
911 选择使用隐式游标还是显式游标
9111 将隐式游标用于单行选择
9112 对有限行数的结果集使用隐式游标
9113 隐式/显式游标小结
912 本章小结
第10章 故障排除
101 找出差异
1011 开始收集今天的历史记录
1012 侦探性工作
102 一次只更改一样东西
103 更改一样东西要有充分理由
1031 有目标
1032 验证你的假设
104 能够恢复到更改前的状态
105 建立测试用例
1051 测试用例需求
1052 使测试用例尽可能小
106 本章小结
附录 设置和一些脚本
第1章 构建应用程序的正确方法
11 团队协作
12 阅读资料文档
121 指南的指南
122 阅读路线
13 避免黑盒综合症
131 数据库独立与数据库依赖
132 黑盒综合症的危害
14 是数据库而不是一堆数据
141 使用主键和外部键
142 测试参考完整性的开销
143 中间层检查不是万能药
15 建立测试环境
151 用有代表性的数据进行测试
152 不要用单个用户进行测试
153 不要在无菌实验室中进行测试
16 设计出性能而不是调整出性能
161 不要使用通用数据模型
162 设计自己的高效数据模型
17 开始就定义性能目标
171 在清晰明确的标准下工作
172 随时收集并记录标准
173 别因为 “所有人都知道你应该做”而做某件事情
18 测试, 测试, 再测试
181 小基准测试
182 大基准测试
19 仪表化系统
191 追踪asktomoraclecom
192 远程调试仪表化
193 使用DBMSAPPLICATIONINFO
194 在PL/SQL中使用DEBUGF
195 在应用系统中打开SQLTRACE
196 使用业内标准的API
197 建立自己的例程
198 审计不仅仅是个词
110 敢于怀疑权威
1101 当心泛泛的 “最好”
1102 怀疑 “法定” 和 “神话”
111 不要走捷径
112 保持简单
1121 考虑备选方法
1122 让数据库充分发挥自己的能力
113 使用已有的功能
1131 我们听说X特性慢
1132 我们听说X特性复杂
1133 我们不想
1134 我们以前不知道
1135 我们希望数据库独立
114 本章小结
第2章 性能工具包
21 SQL*Plus
211 建立SQL*Plus
212 定制SQL*Plus环境
213 阅读文档
22 EXPLAIN PLAN
221 设置EXPLAIN PLAN
222 使用EXPLAIN PLAN
223 如何阅读查询计划
224 避免EXPLAIN PLAN陷阱
225 使用DBMSXPLAN和V$SQLPLAN
23 AUTOTRACE
231 建立AUTOTRACE
232 使用AUTOTRACE
233 格式化AUTOTRACE的输出
234 了解AUTOTRACE的输出
235 AUTOTRACE输出中感兴趣的内容
24 TKPROF
241 启用TKPROF
242 运行TKPROF
243 读TKPROF报告
244 各种群体对TKPROF的使用
25 Runstats
251 建立Runstats
252 使用Runstats
26 Statspack
261 建立Statspack
262 使用Statspack
263 使用Statspack易犯的错误
264 Statspack概览
27 DBMSPROFILER
271 为什么要使用配置文件管理器
272 配置文件管理器的资源
28 JDeveloper (及调试)
29 本章小结
第3章 体系结构选择
31 了解共享服务器与专用服务器连接
311 专用服务器如何工作
312 共享服务器连接如何工作
313 关于共享服务器配置的常见错误观点
314 专用服务器与共享服务器小结
32 利用集群
321 RAC如何工作
322 RAC的优点
323 集群小结
33 了解何时使用分区
331 分区概念
332 神秘的分区
333 为什么使用分区
334 分区小结
34 知道何时使用并行操作
341 并行神话
342 并行管理
343 并行查询
344 并行DML
345 打造自己的并行
346 并行处理小结
35 本章小结
第4章 高效的管理
41 用SPFILE启动数据库
411 PFILE的问题
412 SPFILE如何工作
413 让数据库使用SPFILE
414 保存系统参数的改动
415 PFILE过时了吗
416 求助, 我的SPFILE坏了, 我不能启动了
417 SPFILE小结
42 让Oracle来管理你的数据文件
421 何时使用OMF
422 OMF如何工作
423 OMF小结
43 可靠的恢复
431 备份准则
432 备份和恢复小结
44 使用本地管理的表空间
441 为什么要废除DMT
442 在不知道对象会变得有多大时使用系统管理的LMT
443 在知道对象的最终尺寸时使用统一的区尺寸
444 关于LMT的某些忠告
445 LMT和DMT小结
45 让Oracle管理你的段空间
451 理解可用列表和可用列表组
452 PCTFREE和PCTUSED怎样控制可用列表
453 ASSM的案例
454 ASSM小结
46 让Oracle管理回退段
461 设置UNDORETENTION
462 UNDO表空间忠告
463 UNDO表空间小结
47 本章小章
第5章 语句处理
51 理解SQL语句的类型
52 语句怎样执行
521 分析
522 优化和行资源生成
523 执行
524 语句执行小结
53 查询的处理过程
531 快速返回的查询
532 慢速返回的查询
533 一致性读取
54 DML语句的处理
55 DDL处理
56 使用绑定变量
561 绑定变量的优点
562 对Java和VB使用绑定变量
563 每项规则都有例外
564 绑定变量窥视
57 尽可能少做分析
571 分析的成本
572 使用PL/SQL减少分析
573 把SQL移出触发器以减少分析
574 准备一次; 执行多次
58 本章小结
第6章 从基于成本的优化程序获得最大输出
61 为什么停用RBO
62 使CBO发挥最大的作用
621 调整OPTIMIZERINDEXCACHING和OPTIMIZER INDEXCOSTADJ参数
622 使用SYSTEM统计数据
63 优化CBO
631 为升级设置COMPATIBLE
632 设置DBFILEMULTIBLOCK READCOUNT以减少全扫描的成本
633 设置HASHJOINENABLED控制散列连接
634 设置OPTIMIZERDYNAMICSAMPLING动态收集统计数据
635 设置OPTIMIZERFEATURESENABLE制特性选择
636 设置OPTIMIZERMAX PERMUTATIONS控制排列
637 设置OPTIMIZERMODE选择模式
638 用QUERYREWRITEENABLED和QUERYREWRITEINTEGRITYT重写查询
639 用BITMAPMERGEAREA SIZE、SORTAREASIZE、HAS HAREASIZE控制PGA内存
6310 对星查询使用STAR TRANSFORMATIONENABLED
6311 设置影响优化程序的其他几个参数
64 使用10053事件跟踪CBO选择
65 本章小结
第7章 高效的模式设计
71 基本模式设计原则
711 让数据库实现数据完整性
712 使用正确的数据类型
713 对最经常提的问题进行优化
72 表类型概述
73 B*树索引集群表
731 创建群
732 使用群
733 群小结
74 索引组织表
741 用IOT替代关联表以节省空间
742 利用IOT集中放置随机插入的数据
743 IOT小结
75 外部表
751 建立外部表
752 修改外部表
753 将外部表用于直接路径装载
754 将外部表用于并行直接路径装载
755 将外部表用于合并
756 处理外部表的错误
76 索引技术
761 使用FBI——打破常规
762 使用域索引
77 压缩
771 使用索引键压缩
772 对于只读或主要是读的表进行表压缩
773 压缩小结
78 本章小结
第8章 高效的SQL
81 编写高效SQL所需的知识
82 访问路径
821 全扫描
822 ROWID访问
823 索引扫描
824 群扫描
83 连接概念
831 嵌套循环
832 散列连接
833 排序合并连接
834 笛卡儿连接
835 反连接
836 全外部连接
84 模式问题(物理的)
85 真正理解SQL
851 ROWNUM伪列
852 标量子查询
853 分析函数
86 不调整查询
861 理解问题
862 概念验证的例子
87 其他SQL技术概览
88 本章小结
第9章 高效的PL/SQL程序设计
91 为什么要使用PL/QL
911 PL/SQL是数据操纵的最高效语言
912 PL/SQL具有可移植性和可重用性
92 尽可能少地编写代码
921 不用程序实现
922 让代码行数适合于屏幕显示
93 使用程序包
931 程序包的优点
932 断开依赖链
933 程序包小结
94 使用静态SQL
941 静态SQL的优点
942 寻找替换动态SQL的机会
943 静态SQL小结
95 批量处理
951 使用批量处理效果很好时再使用它
952 对ETL操作使用BULK处理
953 批量处理小结
96 返回数据
961 ref游标的优点
962 使用ref游标返回结果集
97 使用%TYPE和%ROWTYPE
971 基于表的记录类型
972 基于游标的记录类型
973 基于列的数据类型
98 使用调用者的权限
981 调用者权限和多模式
982 调用者权限的条件
99 使查找高效地工作
991 查找的单行取
992 查找的批量处理
993 查找的单语句操作
994 查找小结
910 当心独立事务处理
9101 独立事务处理的条件
9102 独立事务处理会影响数据完整性
911 选择使用隐式游标还是显式游标
9111 将隐式游标用于单行选择
9112 对有限行数的结果集使用隐式游标
9113 隐式/显式游标小结
912 本章小结
第10章 故障排除
101 找出差异
1011 开始收集今天的历史记录
1012 侦探性工作
102 一次只更改一样东西
103 更改一样东西要有充分理由
1031 有目标
1032 验证你的假设
104 能够恢复到更改前的状态
105 建立测试用例
1051 测试用例需求
1052 使测试用例尽可能小
106 本章小结
附录 设置和一些脚本
猜您喜欢