资源名称:Oracle高效设计 内容简介: 本书对Oracle及数据库的知识进行了全面深入的讲解,是一本关于Oracle的高级手册。本书从开发应用程序的正确方法角度,讲述Oracle的重要概念和特性,包括:性能工具包,体系结构选择,语句处理,从基于成本的优化器中获得尽可能多的信息,故障排除等内容。还包括如何编写好的Oracle应用程序所涉及的关键问题:高效的管理,高效的设计模式,高效的SQL,高效的PL/SQL程序设计。附录给出了设置和很多常用的脚本。本书内容翔实,实例丰富,语言流畅且浅显易懂,适合作为从事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 本章小结 附录 设置和一些脚本 资源截图:
资源名称:Oracle高效设计 内容简介: 本书对Oracle及数据库的知识进行了全面深入的讲解,是一本关于Oracle的高级手册。本书从开发应用程序的正确方法角度,讲述Oracle的重要概念和特性,包括:性能工具包,体系结构选择,语句处理,从基于成本的优化器中获得尽可能多的信息,故障排除等内容。还包括如何编写好的Oracle应用程序所涉及的关键问题:高效的管理,高效的设计模式,高效的SQL,高效的PL/SQL程序设计。附录给出了设置和很多常用的脚本。本书内容翔实,实例丰富,语言流畅且浅显易懂,适合作为从事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 本章小结 附录 设置和一些脚本 资源截图:
历史检测记录
添加微信,反馈问题
微信及时反馈问题,方便沟通,请备注 ❤️