Oracle高效设计


Oracle高效设计

文章插图
Oracle高效设计【Oracle高效设计】《Oracle高效设计》是2006年机械工业出版社出版的图书,作者是凯特 。
基本介绍书名:Oracle高效设计
作者:凯特
译者:钟鸣、郝玉洁
ISBN:9787111178118
页数:496页
定价:68.0
出版社:机械工业出版社
出版时间:2006-01-01
装帧:平装
内容简介本书对Oracle及资料库的知识进行了全面深入的讲解,是一本关于Oracle的高级手册 。本书从开发应用程式的正确方法角度,讲述Oracle的重要概念和特性,包括:性能工具包,体系结构选择,语句处理,从基于成本的最佳化器中获得儘可能多的信息,故障排除等内容 。还包括如何编写好的Oracle应用程式所涉及的关键问题:高效的管理,高效的设计模式,高效的SQL,高效的PL/SQL程式设计 。附录给出了设定和很多常用的脚本 。本书内容翔实,实例丰富,语言流畅且浅显易懂,适合作为从事Oracle开发人员的参考手册 。《Oracle高效设计》特色使用SQL*Plus、TKPROF、STATSPACK、JDeveloper以及其他工具利用Oracle的可伸缩的体系结构实现使用SPFILE、Oracle管理档案,以及自动段空间管理实现高效管理使用ARCHIVELOG模式、RMAN和数据保护完成资料库备份与恢复通过绑定变数和儘可能少做分析来改进语句处理充分利用基于成本的最佳化程式 (CBO)产生高效设计模式的数据结构选择编写高效的SQL语句和高效的PL/SQL代码跟随Oracle权威人士学习开发高效应用程式的正确方法 。作者简介Thomas Kyte,oracle专业领域世界上最权威的专家之一 。他是oracle核心技术小组(管理、教育和健康)副主席,兼《oracle magazine》及其线上论坛“asktom”专栏作家,撰写过多部设计和构建高性能、可伸缩oracle应用程式的指南 。他回答过数以千计的技术问题,也正是这些问题激发了他写作这本书的灵感 。目录译者序前言第1章 构建应用程式的正确方法1.1 团队协作1.2 阅读资料文档1.2.1 指南的指南1.2.2 阅读路线1.3 避免黑盒综合症1.3.1 资料库独立与资料库依赖1.3.2 黑盒综合症的危害1.4 是资料库而不是一堆数据1.4.1 使用主键和外部键1.4.2 测试参考完整性的开销1.4.3 中间层检查不是万能药1.5 建立测试环境1.5.1 用有代表性的数据进行测试1.5.2 不要用单个用户进行测试1.5.3 不要在无菌实验室中进行测试1.6 设计出性能而不是调整出性能1.6.1 不要使用通用数据模型1.6.2 设计自己的高效数据模型1.7 开始就定义性能目标1.7.1 在清晰明确的标準下工作1.7.2 随时收集并记录标準1.7.3 别因为“所有人都知道你应该做”而做某件事情1.8 测试.测试.再测试1.8.1 小基準测试1.8.2 大基準测试1.9 仪表化系统1.9.1 追蹤asktom.oracle.com1.9.2 远程调试仪表化1.9.3 使用dbms_application_info1.9.4 在pl/sql中使用debug.f1.9.5 在套用系统中打开sql_trace1.9.6 使用业内标準的api1.9.7 建立自己的例程1.9.8 审计不仅仅是个词1.10 敢于怀疑权威1.10.1 当心泛泛的“最好”1.10.2 怀疑“法定”和“神话”1.11 不要走捷径1.12 保持简单1.12.1 考虑备选方法1.12.2 让资料库充分发挥自己的能力1.13 使用已有的功能1.13.1 我们听说x特性慢1.13.2 我们听说x特性複杂1.13.3 我们不想1.13.4 我们以前不知道1.13.5 我们希望资料库独立1.14 本章小结第2章 性能工具包2.1 sql * plus2.1.1 建立sql * plus2.1.2 定製sql * plus环境2.1.3 阅读文档2.2 explain plan2.2.1 设定explain plan2.2.2 使用explain plan2.2.3 如何阅读查询计画2.2.4 避免explain plan陷阱2.2.5 使用dbms_xplan和v$sql_plan2.3 autotrace2.3.1 建立autotrace2.3.2 使用autotrace2.3.3 格式化autotrace的输出2.3.4 了解autotrace的输出2.3.5 autotrace输出中感兴趣的内容2.4 tkprof2.4.1 启用tkprof2.4.2 运行丁tkprof2.4.3 读tkprof报告2.4.4 各种群体对tkprof的使用2.5 runstats2.5.1 建立runstats2.5.2 使用runstats2.6 statspack2.6.1 建立statspack2.6.2 使用statspack2.6.3 使用statspack易犯的错误2.6.4 statspack概览2.7 dbms_profiler2.7.1 为什幺要使用配置档案管理器2.7.2 配置档案管理器的资源2.8 jdeveloper(及调试)2.9 本章小结第3章 体系结构选择3.1 了解共享伺服器与专用伺服器连线3.1.1 专用伺服器如何工作3.1.2 共享伺服器连线如何工作3.1.3 关于共享伺服器配置的常见错误观点3.1.4 专用伺服器与共享伺服器小结3.2 利用集群3.2.1 rac如何工作3.2.2 rac的优点3.2.3 集群小结3.3 了解何时使用分区3.3.1 分区概念3.3.2 神秘的分区3.3.3 为什幺使用分区3.3.4 分区小结3.4 知道何时使用并行操作3.4.1 并行神话3.4.2 并行管理3.4.3 并行查询3.4.4 并行dml3.4.5 打造自己的并行3.4.6 并行处理小结3.5 本章小结第4章 高效的管理4.1 用spfile启动资料库4.1.1 pfile的问题4.1.2 spfile如何工作4.1.3 让资料库使用spfile4.1.4 保存系统参数的改动4.1.5 pfile过时了吗4.1.6 求助.我的spfile坏了.我不能启动了4.1.7 spfile小结4.2 让oracle来管理你的数据档案4.2.1 何时使用omf4.2.2 omf如何工作4.2.3 omf小结4.3 可靠的恢复4.3.1 备份準则4.3.2 备份和恢复小结4.4 使用本地管理的表空间4.4.1 为什幺要废除dmt4.4.2 在不知道对象会变得有多大时使用系统管理的lmt4.4.3 在知道对象的最终尺寸时使用统一的区尺寸4.4.4 关于lmt的某些忠告4.4.5 lmt和dmt小结4.5 让oracle管理你的段空间4.5.1 理解可用列表和可用列表组4.5.2 pctfree和pctused怎样控制可用列表4.5.3 assm的案例4.5.4 assm小结4.6 让oracle管理回退段4.6.1 设定undo retention4.6.2 undo表空间忠告4.6.3 undo表空间小结4.7 本章小结..第5章 语句处理5.1 理解sql语句的类型5.2 语句怎样执行5.2.1 分析5.2.2 最佳化和行资源生成5.2.3 执行5.2.4 语句执行小结5.3 查询的处理过程5.3.1 快速返回的查询5.3.2 慢速返回的查询5.3.3 一致性读取5.4 dml语句的处理5.5 ddl处理5.6 使用绑定变数5.6.1 绑定变数的优点5.6.2 对java和vb使用绑定变数5.6.3 每项规则都有例外5.6.4 绑定变数窥视5.7 儘可能少做分析5.7.1 分析的成本5.7.2 使用pl/sql减少分析5.7.3 把sql移出触发器以减少分析5.7.4 準备一次;执行多次5.8 本章小结第6章 从基于成本的最佳化程式获得最大输出6.1 为什幺停用rbo6.2 使cbo发挥最大的作用6.2.1 调整optimizer_index_caching和optimizer_index_cost_adj参数6.2.2 使用system统计数据6.3 最佳化cbo6.3.1 为升级设定compatible6.3.2 设定db_file_multiblock_read_count以减少全扫描的成本6.3.3 设定hash_join_enabled控制散列连线6.3.4 设定optimizer_dynamic_sampling动态收集统计数据6.3.5 设定offimizer_features_enable控制特性选择6.3.6 设定optimizer_max_permutations控制排列6.3.7 设定optimizer_mode选择模式6.3.8 用query_rewrite_enabled和query_rewrite_integrityt重写查询6.3.9 用bitmap_merge_area_size、sort_area_size、hash_area_size控制pga记忆体6.3.10 对星查询使用star_transformation_enabled6.3.11 设定影响最佳化程式的其他几个参数6.4 使用10 053事件跟蹤cbo选择6.5 本章小结第7章 高效的模式设计7.1 基本模式设计原则7.1.1 让资料库实现数据完整性7.1.2 使用正确的数据类型7.1.3 对最经常提的问题进行最佳化7.2 表类型概述7.3 b*树索引集群表7.3.1 创建群7.3.2 使用群7.3.3 群小结7.4 索引组织表7.4.1 用iot替代关联表以节省空间7.4.2 利用iot集中放置随机插入的数据7.4.3 iot小结7.5 外部表7.5.1 建立外部表7.5.2 修改外部表7.5.3 将外部表用于直接路径装载7.5.4 将外部表用于并行直接路径装载7.5.5 将外部表用于合併7.5.6 处理外部表的错误7.6 索引技术7.6.1 使用fbi——打破常规7.6.2 使用域索引7.7 压缩7.7.1 使用索引键压缩7.7.2 对于唯读或主要是读的表进行压缩7.7.3 压缩小结7.8 本章小结第8章 高效的sql8.1 编写高效sql所需的知识8.2 访问路径8.2.1 全扫描8.2.2 rowid访问8.2.3 索引扫描8.2.4 群扫描8.3 连线概念8.3.1 嵌套循环8.3.2 散列连线8.3.3 排序合併连线8.3.4 笛卡儿连线8.3.5 反连线8.3.6 全外部连线8.4 模式问题(物理的)8.5 真正理解sql8.5.1 rownum伪列8.5.2 标量子查询8.5.3 分析函式8.6 不调整查询8.6.1 理解问题8.6.2 概念验证的例子8.7 其他sql技术概览8.8 本章小结第9章 高效的pl/sql程式设计9.1 为什幺要使用pl/sql9.1.1 pl/sql是数据操纵的最高效语言9.1.2 pl/sql 。具有可移植性和可重用性9.2 儘可能少地编写代码9.2.1 不用程式实现9.2.2 让代码行数适合于萤幕显示9.3 使用程式包9.3.1 程式包的优点9.3.2 断开依赖链9.3.3 程式包小结9.4 使用静态sql9.4.1 静态sql的优点9.4.2 寻找替换动态sql的机会9.4.3 静态sql小结9.5 批量处理9.5.1 使用批量处理效果很好时再使用它9.5.2 对etl操作使用bulk处理9.5.3 批量处理小结9.6 返回数据9.6.1 ref游标的优点9.6.2 使用ref游标返回结果集9.7 使用%type和%rowtype9.7.1 基于表的记录类型9.7.2 基于游标的记录类型9.7.3 基于列的数据类型9.8 使用调用者的许可权9.8.1 调用者许可权和多模式9.8.2 调用者许可权的条件9.9 使查找高效地工作9.9.1 查找的单行取9.9.2 查找的批量处理9.9.3 查找的单语句操作9.9.4 查找小结9.10 当心独立事务处理9.10.1 独立事务处理的条件9.10.2 独立事务处理会影响数据完整性9.11 选择使用隐式游标还是显式游标9.11.1 将隐式游标用于单行选择9.11.2 对有限行数的结果集使用隐式游标9.11.3 隐式/显式游标小结9.12 本章小结第10章 故障排除10.1 找出差异10.1.1 开始收集今天的历史记录10.1.2 侦探性工作10.2 一次只更改一样东西10.3 更改一样东西要有充分理由10.3.1 有目标10.3.2 验证你的假设10.4 能够恢复到更改前的状态10.5 建立测试用例10.5.1 测试用例需求10.5.2 使测试用例儘可能小10.6 本章小结附录 设定和一些脚本