本书清晰地讲述了DB2复杂而精深的内容,详细介绍了DB2版本6的主要功能和新的特性。本书包括七个部分:SQL工具、技巧和秘诀,DB2应用程序的开发,DB2的深入研究,DB2性能监视,DB2性能调优,DB2的实用程序和命令,理想的DB2环境以及分布式DB2等内容。本书层次清晰、内容翔实,深入揭示了DB2成功的秘密。在如何设计高性能的DB2应用方面向读者提出了良好的建议。因此,本书不但适合初学者阅读,更是DB2开发人员和系统管理人员实现优化的DB2系统的一本不可多得的参考书。\r\n
\r\n
\r\nDB2版本6新特性\r\n第一部分 SQL工具. 技巧和秘诀\r\n第1章 魔力词汇 2\r\n1.1 SQL语言概述 3\r\n1.1.1 SQL语言的特性 4\r\n1.1.2 一次一个集合的数据处理 5\r\n1.1.3 SQL类型 8\r\n1.2 SQL工具 10\r\n1.2.1 选择和投影 10\r\n1.2.2 连接和子查询 11\r\n1.2.3 合并 17\r\n1.2.4 外连接 19\r\n1.2.5 排序和分组 21\r\n1.2.6 HAVING和WHERE的区别 21\r\n1.2.7 关系除法 22\r\n1.2.8 CASE表达式 22\r\n1.2.9 SQL函数 24\r\n1.2.10 DB2中数据结构的定义 25\r\n1.2.11 DB2数据结构的安全控制 27\r\n1.3 静态SQL 28\r\n1.4 动态SQL 30\r\n1.5 影响SQL的性能因素 30\r\n1.5.1 优化器简介 31\r\n1.5.2 影响访问路径 31\r\n1.5.3 DB2优化器“提示” 33\r\n1.5.4 DB2性能特征 34\r\n1.6 小结 36\r\n第2章 数据操作指南 37\r\n2.1 大量的技巧 37\r\n2.2 SQL访问使用指南 39\r\n2.3 复杂SQL的使用指南 53\r\n2.4 日期和时间指南 63\r\n2.5 数据修改指南 66\r\n2.6 小结 69\r\n第3章 使用DB2函数 70\r\n3.1 列函数 70\r\n3.1.1 AVG函数 71\r\n3.1.2 COUNT函数 71\r\n3.1.3 COUNT_BIG函数 72\r\n3.1.4 MAX函数 72\r\n3.1.5 MIN函数 72\r\n3.1.6 STDDEV函数 73\r\n3.1.7 SUM函数 73\r\n3.1.8 VARIANCE函数 73\r\n3.2 标量函数 74\r\n3.3 RAISE_ERROR函数 80\r\n3.4 内置函数指南 80\r\n3.4.1 使用函数而不用程序逻辑 80\r\n3.4.2 避免使用同义词 81\r\n3.4.3 用UPPER函数代替TRANSLATE 81\r\n3.4.4 使用HAVAING子句来查询列函数\r\n 的结果 82\r\n3.5 小结 82\r\n第4章 用户自定义函数和用户自定义\r\n 数据类型 83\r\n4.1 什么是用户自定义函数 83\r\n4.2 用户自定义函数的类型 83\r\n4.2.1 模式 84\r\n4.2.2 创建用户自定义函数 84\r\n4.2.3 函数如何执行 86\r\n4.2.4 表函数 89\r\n4.2.5 有源函数 90\r\n4.2.6 用户定义函数指南 90\r\n4.3 什么是用户定义数据类型 97\r\n4.4 用户定义数据类型和强类型 97\r\n4.4.1 用户定义单值类型和LOB 98\r\n4.4.2 使用UDT满足业务需要 99\r\n4.4.3 赋值和用户定义函数 101\r\n4.4.4 用户定义单值类型指南 101\r\n4.5 小结 103\r\n第5章 数据定义指南 104\r\n5.1 命名规范 104\r\n5.2 数据库. 表空间和表的指南 109\r\n5.2.1 数据库定义 113\r\n5.2.2 使用简单表空间 115\r\n5.2.3 使用分段的表空间 116\r\n5.2.4 使用LOB表空间 117\r\n5.2.5 使用分区的表空间 117\r\n5.2.6 表空间参数 120\r\n5.2.7 每个分段表空间定义多个表 132\r\n5.3 表定义指南 135\r\n5.3.1 更改表名 135\r\n5.3.2 全局临时表 135\r\n5.3.3 规范化 136\r\n5.3.4 非规范化 136\r\n5.4 行和列的指南 144\r\n5.5 DB2表参数 152\r\n5.6 索引指南 162\r\n5.7 其他的DDL指南 168\r\n5.8 小结 169\r\n第6章 使用触发器来实现一致性 170\r\n6.1 什么是触发器 170\r\n6.1.1 模式 170\r\n6.1.2 触发器与其他DB2对象类似 170\r\n6.1.3 为什么使用触发器 171\r\n6.1.4 什么时候触发器会被触发 172\r\n6.1.5 创建触发器 173\r\n6.1.6 触发器包 177\r\n6.1.7 触发器可以触发其他触发器 178\r\n6.2 触发器使用指南 179\r\n6.3 小结 182\r\n第7章 大对象和对象/关系数据库 183\r\n7.1 对象/关系的定义 183\r\n7.2 什么是大对象 183\r\n7.2.1 大对象列与VARCHAR和VARG-\r\n RAPHIC的比较 184\r\n7.2.2 创建含有大对象列的表 185\r\n7.2.3 访问LOB数据 187\r\n7.3 LOB指南 189\r\n7.4 DB2扩展器 192\r\n7.5 小结 197\r\n第8章 其他方面的实用指南 198\r\n8.1 安全性和权限使用指南 198\r\n8.2 视图使用和实现指南 205\r\n8.2.1 视图使用规则 205\r\n8.2.2 不为每个基本表创建一个视图的原因 209\r\n8.2.3 其他的视图指南 212\r\n8.3 通用的SQL编码指南 214\r\n8.4 小结 215\r\n第二部分 DB2应用程序开发\r\n第9章 在应用程序中使用DB2 218\r\n9.1 嵌入式SQL基础 219\r\n9.2 嵌入式SQL使用指南 220\r\n9.3 宿主变量 229\r\n9.3.1 宿主结构 231\r\n9.3.2 空指示变量和结构 231\r\n9.3.3 宿主变量使用指南 233\r\n9.4 使用游标编程 235\r\n9.5 嵌入式SELECT和游标编码指南 238\r\n9.6 用嵌入式SQL修改数据 241\r\n9.7 批处理程序指南 249\r\n9.8 联机编程指南 256\r\n9.9 小结 261\r\n第10章 动态SQL程序 262\r\n10.1 动态SQL的性能 262\r\n10.2 动态SQL指南 263\r\n10.3 你应该了解动态SQL的原因 269\r\n10.4 EXECUTE IMMEDIATE 269\r\n10.5 非SELECT语句的动态SQL 271\r\n10.6 固定列表SELECT 274\r\n10.7 可变列表SELECT 276\r\n10.8 小结 279\r\n第11章 程序的准备 280\r\n11.1 程序准备的步骤 280\r\n11.1.1 发布DCLGEN命令 280\r\n11.1.2 对程序预编译 283\r\n11.1.3 使用BIND命令 283\r\n11.1.4 编译程序 284\r\n11.1.5 链接程序 285\r\n11.2 运行DB2程序 285\r\n11.3 准备一个DB2程序 286\r\n11.3.1 使用DB2I进行的程序的准备 286\r\n11.3.2 使用批处理过程准备程序 292\r\n11.3.3 使用CLIST或REXX EXEC 准备程序 294\r\n11.3.4 使用多种方法准备程序 294\r\n11.4 什么是DBRM 297\r\n11.5 什么是计划 298\r\n11.6 什么是包 298\r\n11.6.1 使用包的优点 299\r\n11.6.2 包的管理问题 300\r\n11.6.3 包的性能 301\r\n11.7 什么是集合 302\r\n11.7.1 集合的大小 303\r\n11.7.2 包列表的大小 303\r\n11.8 版本 303\r\n11.9 程序准备的对象 303\r\n11.10 程序准备指南 304\r\n11.11 DCLGEN准则 304\r\n11.12 预编译程序指南 306\r\n11.13 BIND指南 307\r\n11.14 链接编辑程序指南 319\r\n11.15 小结 320\r\n第12章 DB2应用开发的其他方法 321\r\n12.1 仅使用SQL语言来开发应用 321\r\n12.2 使用客户机/服务器编程语言 323\r\n12.2.1 连接DB2 323\r\n12.2.2 客户机/服务器指南 324\r\n12.3 使用第四代语言 326\r\n12.4 使用CASE 327\r\n12.5 使用报表书写器 330\r\n12.6 使用ODBC 331\r\n12.7 使用Java:SQLJ和JDBC 334\r\n12.8 小结 335\r\n第13章 使用DB2存储过程 336\r\n13.1 什么是存储过程 336\r\n13.1.1 实现DB2的存储过程 337\r\n13.1.2 为什么要使用存储过程 337\r\n13.2 实现DB2存储过程 339\r\n13.2.1 开发一个存储过程 339\r\n13.2.2 创建存储过程 343\r\n13.2.3 管理存储过程 345\r\n13.2.4 运行存储过程 345\r\n13.2.5 存储过程使用指南 346\r\n13.3 过程化DBA 349\r\n13.4 过程化SQL 349\r\n13.4.1 IBM的SQL存储过程语言 350\r\n13.4.2 过程化SQL的优点 354\r\n13.4.3 过程化SQL的缺点 355\r\n13.5 存储过程生成器 355\r\n13.6 小结 356\r\n第14章 过程化DBA 357\r\n14.1 传统DBA的作用 357\r\n14.2 过程化DBA的作用 358\r\n14.3 小结 361\r\n第15章 DB2与Internet 362\r\n15.1 Internet现象 362\r\n15.1.1 万维网 362\r\n15.1.2 Usenet新闻组 364\r\n15.1.3 邮件列表 364\r\n15.1.4 在Internet中使用DB2 365\r\n15.2 通过Internet访问DB2 365\r\n15.2.1 使用Net.Data连接Internet 365\r\n15.2.2 Net.Data指南 367\r\n15.2.3 提供Net.Data宏语言的培训 367\r\n15.2.4 Java Applets和JavaScript 367\r\n15.2.5 使用良好的编程技巧 367\r\n15.3 使用Java和DB2 368\r\n15.4 使用Internet查找DB2相关信息 373\r\n15.4.1 Internet资源 373\r\n15.4.2 Internet指南 381\r\n15.5 小结 384\r\n第三部分 DB2深入研究\r\n第16章 DB2之门 386\r\n16.1 TSO 388\r\n16.1.1 TSO/DB2的参数 389\r\n16.1.2 使用TSO批处理方式存取DB2 389\r\n16.1.3 使用前台的TSO存取DB2 390\r\n16.1.4 联机TSO/DB2设计技术 391\r\n16.1.5 DB2I和SPUFI 392\r\n16.1.6 查询管理设施 402\r\n16.1.7 其他基于TSO的DB2工具 406\r\n16.1.8 TSO指南 406\r\n16.2 CICS 408\r\n16.2.1 CICS术语和操作 409\r\n16.2.2 CICS表 409\r\n16.2.3 CICS/DB2程序准备 410\r\n16.2.4 CICS挂接机制 411\r\n16.2.5 线程的类型 413\r\n16.2.6 RCT参数 414\r\n16.2.7 RCT指南 420\r\n16.2.8 两阶段提交 423\r\n16.2.9 CICS设计指南 424\r\n16.3 信息管理系统 428\r\n16.3.1 信息管理系统的程序类型 429\r\n16.3.2 信息管理系统挂接机制 429\r\n16.3.3 联机环境附加的注意事项 431\r\n16.3.4 资源转换表 432\r\n16.3.5 IMS/TM线程使用 432\r\n16.3.6 两阶段提交 433\r\n16.3.7 重新启动 435\r\n16.3.8 IMS/DB2的死锁 435\r\n16.3.9 IMS SYSGEN指南 436\r\n16.3.10 DL/I批处理接口 436\r\n16.3.11 IMS/TM设计指南 438\r\n16.4 CAF 439\r\n16.4.1 线程的产生与使用 440\r\n16.4.2 CAF的优点和缺点 441\r\n16.4.3 第三方工具 441\r\n16.4.4 CAF代码的样本 441\r\n16.5 RRSAF 442\r\n16.6 环境对比 442\r\n16.6.1 资源可用性 442\r\n16.6.2 可行性 443\r\n16.6.3 批处理中应考虑的问题 444\r\n16.6.4 关键部分 445\r\n16.7 小结 445\r\n第17章 数据共享 447\r\n17.1 数据共享的好处 447\r\n17.2 数据共享的需求 448\r\n17.2.1 DB2数据共享组 449\r\n17.2.2 应用程序的影响 450\r\n17.3 DB2连接设施 451\r\n17.3.1 定义连接设施 451\r\n17.3.2 全局锁定管理 451\r\n17.3.3 全局系统间通信 452\r\n17.3.4 全局数据缓存 452\r\n17.4 数据共享的命名规范 453\r\n17.5 数据共享管理 454\r\n17.5.1 数据共享组的创建 455\r\n17.5.2 备份和恢复 455\r\n17.5.3 子系统的可用性 456\r\n17.5.4 监视数据共享组 456\r\n17.5.5 连接设施的恢复 456\r\n17.6 数据共享指南 457\r\n17.7 小结 458\r\n第18章 后台的DB2 459\r\n18.1 数据的物理存储 459\r\n18.1.1 表空间数据页 463\r\n18.1.2 LOB页 464\r\n18.1.3 索引页 465\r\n18.1.4 记录标记符 471\r\n18.2 DB2操作原理 471\r\n18.3 小结 474\r\n第19章 优化器 475\r\n19.1 物理数据的独立性 476\r\n19.2 优化器的工作方式 477\r\n19.2.1 CPU成本 477\r\n19.2.2 I/O成本 477\r\n19.2.3 DB2编目统计信息 477\r\n19.2.4 SQL语句 479\r\n19.3 过滤因子 479\r\n19.4 访问路径的策略 481\r\n19.4.1 扫描 481\r\n19.4.2 顺序预取 483\r\n19.4.3 索引访问 486\r\n19.4.4 查询并行性 495\r\n19.4.5 连接的方法 498\r\n19.4.6 并行连接 503\r\n19.5 优化器执行的其他操作 504\r\n19.6 小结 508\r\n第20章 DB2的基于表的结构 510\r\n20.1 DB2编目 510\r\n20.1.1 什么是DB2编目 510\r\n20.1.2 规则一个的特例 514\r\n20.1.3 活动编目的好处 515\r\n20.1.4 DB2编目的结构 515\r\n20.2 DB2目录 518\r\n20.2.1 SCT02 518\r\n20.2.2 SPT01 519\r\n20.2.3 DBD01 519\r\n20.2.4 SYSUTILX 519\r\n20.2.5 SYSLGRNX 519\r\n20.3 QMF管理表 519\r\n20.4 小结 520\r\n第21章 锁定DB2数据 521\r\n21.1 DB2管理锁定的方式 521\r\n21.2 锁定和锁存器 523\r\n21.3 锁定的持续时间 524\r\n21.3.1 影响表空间锁定的BIND参数 524\r\n21.3.2 影响页和行锁定的BIND参数 524\r\n21.4 表空间锁定 526\r\n21.5 表锁定 528\r\n21.6 页锁定 529\r\n21.7 行锁定 530\r\n21.8 锁定挂起. 超时和死锁 532\r\n21.9 分区独立性 533\r\n21.9.1 声明 534\r\n21.9.2 放弃 534\r\n21.10 锁定的避免 536\r\n21.11 数据共享全局锁定的管理 537\r\n21.11.1 全局锁定 537\r\n21.11.2 锁定结构 537\r\n21.11.3 分层锁定 537\r\n21.11.4 P锁定和L锁定 538\r\n21.12 LOB和锁定 538\r\n21.12.1 LOB锁定的类型 539\r\n21.12.2 LOB锁定的持续时间 539\r\n21.12.3 LOB表空间锁定的注意事项 540\r\n21.13 DB2锁定的准则 540\r\n21.14 其他DB2组件 544\r\n21.15 大图片 545\r\n21.16 小结 546\r\n第四部分 DB2性能监视\r\n第22章 传统的DB2性能监视 549\r\n22.1 DB2跟踪 549\r\n22.1.1 账户跟踪 550\r\n22.1.2 审核跟踪 551\r\n22.1.3 全局跟踪 551\r\n22.1.4 监视器跟踪 551\r\n22.1.5 性能跟踪 552\r\n22.1.6 统计跟踪 552\r\n22.2 跟踪目标 552\r\n22.3 跟踪指南 553\r\n22.4 DB2-PM 554\r\n22.4.1 账户报告集 555\r\n22.4.2 审核报告集 567\r\n22.4.3 解释报告集 568\r\n22.4.4 I/O活动报告集 568\r\n22.4.5 锁定报告集 569\r\n22.4.6 记录跟踪报告集 570\r\n22.4.7 SQL跟踪报告集 571\r\n22.4.8 统计报告集 571\r\n22.4.9 汇总报告集 576\r\n22.4.10 系统参数报告集 576\r\n22.4.11 通行时间报告集 576\r\n22.5 使用DB2-PM 577\r\n22.6 联机DB2性能监视器 580\r\n22.6.1 传统的VTAM性能监视器 580\r\n22.6.2 基于代理的性能管理 581\r\n22.6.3 联机性能监视的汇总 582\r\n22.7 查看DB2控制台消息 582\r\n22.8 显示DB2资源的状态 586\r\n22.9 监视OS/390和MVS 586\r\n22.10 小结 587\r\n第23章 使用EXPLAIN 588\r\n23.1 EXPLAIN的工作方式 588\r\n23.2 访问路径和PLAN_TABLE 589\r\n23.2.1 查询PLAN_TABLE 591\r\n23.2.2 PLAN_TABLE列 592\r\n23.2.3 样本访问路径 597\r\n23.3 成本估计和DSN_STATEMNT_TABLE 601\r\n23.4 函数解析和DSN_FUNCTION_TABLE 603\r\n23.5 EXPLAIN指南 604\r\n23.6 小结 608\r\n第24章 使用DB2编目监视DB2对象 609\r\n24.1 导航查询 610\r\n24.2 物理分析查询 615\r\n24.3 分区统计信息查询 620\r\n24.4 程序员的帮助查询 621\r\n24.5 应用有效性查询 624\r\n24.6 权限查询 625\r\n24.7 DB2编目查询指南 627\r\n24.8 小结 629\r\n第五部分 DB2的性能调整\r\n第25章 调整DB2环境 633\r\n25.1 调整OS/390与MVS环境 633\r\n25.1.1 调整内存使用 633\r\n25.1.2 调整CPU使用 639\r\n25.1.3 调整I/O 641\r\n25.1.4 调整各种MVS参数与选项 645\r\n25.2 调整远程处理环境 648\r\n25.3 小结 648\r\n第26章 调整DB2组件 649\r\n26.1 调整DB2子系统 649\r\n26.1.1 调整DB2编目 649\r\n26.1.2 DSNZPARM 651\r\n26.1.3 进入眼泪缓冲池 654\r\n26.1.4 缓冲池参数 657\r\n26.1.5 确定缓冲池尺寸 659\r\n26.1.6 DB2缓冲池指导 661\r\n26.1.7 高性能池 662\r\n26.1.8 数据共享组缓冲池 664\r\n26.1.9 数据共享缓冲池指导 666\r\n26.1.10 IRLM调整选项 667\r\n26.2 调整数据库设计 667\r\n26.3 调整应用程序 668\r\n26.3.1 分析访问路径 669\r\n26.3.2 干预优化器 670\r\n26.3.3 各种指导 680\r\n26.3.4 考虑删除不规则分布式统计信息 681\r\n26.3.5 DB2参照完整性的使用 681\r\n26.3.6 一般应用程序调整 682\r\n26.4 引起DB2性能问题的原因 682\r\n26.5 小结 686\r\n第27章 DB2资源管理 687\r\n27.1 DB2资源限制设施 687\r\n27.1.1 “反应”管理 687\r\n27.1.2 “预兆”管理 687\r\n27.1.3 定义RLST 688\r\n27.2 QMF管理器 691\r\n27.3 QMF F参数 692\r\n27.4 小结 693\r\n第六部分 DB2实用程序和命令\r\n第28章 DB2实用程序介绍 696\r\n第29章 数据一致性实用程序 702\r\n29.1 CHECK实用程序 703\r\n29.2 CHECK DATA选项 703\r\n29.2.1 引用完整性检查 703\r\n29.2.2 检查约束的检测 704\r\n29.2.3 LOB引用的检测 705\r\n29.2.4 估计CHECK DATA的工作数据\r\n 集的大小 706\r\n29.2.5 CHECK DATA的锁定考虑 707\r\n29.2.6 CHECK DATA指南 707\r\n29.3 CHECK LOB选项 709\r\n29.3.1 CHECK LOB的各个阶段 710\r\n29.3.2 CHECK LOB的锁定考虑 711\r\n29.3.3 EXCEPTIONS参数 711\r\n29.4 CHECK INDEX选项 711\r\n29.4.1 CHECK INDEX的各个阶段 712\r\n29.4.2 估计CHECK INDEX工作数据\r\n 集的大小 712\r\n29.4.3 CHECK INDEX的锁定考虑 713\r\n29.4.4 CHECK INDEX指南 713\r\n29.5 REPAIR实用程序 714\r\n29.6 REPAIR DBD选项 714\r\n29.7 REPAIR LOCATE选项 716\r\n29.7.1 REPAIR LOCATE的锁定考虑 717\r\n29.7.2 REPAIR LOCATE指南 717\r\n29.8 REPAIR SET选项 718\r\n29.9 REPORT实用程序 720\r\n29.9.1 REPORT TABLESPACE选项 720\r\n29.9.2 REPORT TABLESPACESET指南 721\r\n29.10 DIAGNOSE实用程序 721\r\n29.11 小结 722\r\n第30章 备份与恢复实用程序 723\r\n30.1 COPY实用程序 723\r\n30.1.1 COPY的各个阶段 725\r\n30.1.2 计算SYSCOPY数据集的大小 725\r\n30.1.3 COPY的锁定准则 726\r\n30.1.4 COPY指南 727\r\n30.2 MERGECOPY实用程序 731\r\n30.2.1 MERGECOPY的各个阶段 732\r\n30.2.2 估计SYSUT1和SYSCOPY数据\r\n 集的大小 732\r\n30.2.3 并发性 733\r\n30.2.4 MERGECOPY指南 733\r\n30.3 QUIESCE实用程序 734\r\n30.3.1 QUIESCE的各个阶段 735\r\n30.3.2 QUIESCE的锁定考虑 735\r\n30.3.3 QUIESCE实用程序指南 736\r\n30.4 RECOVER 实用程序概述 737\r\n30.5 RECOVER实用程序 738\r\n30.5.1 RECOVER TABLESPACE实用程序 738\r\n30.5.2 RECOVER INDEX(或RECOVER\r\n INDEXSPACE)实用程序 740\r\n30.5.3 RECOVER的各个阶段 741\r\n30.5.4 RECOVER的锁定考虑 741\r\n30.5.5 RECOVER指南 741\r\n30.6 REBUILD INDEX实用程序 744\r\n30.6.1 REBUILD INDEX的各个阶段 745\r\n30.6.2 估计REBUILD INDEX的工作数\r\n 据集的大小 745\r\n30.6.3 REBUILD INDEX的锁定考虑 746\r\n30.6.4 REBUILD INDEX指南 746\r\n30.7 REPAIR实用程序 747\r\n30.8 REPORT RECOVERY实用程序 747\r\n30.8.1 REPORT RECOVERY的锁定考虑 748\r\n30.8.2 REPORT RECOVERY指南 748\r\n30.9 小结 748\r\n第31章 数据组织实用程序 749\r\n31.1 LOAD实用程序 749\r\n31.1.1 表的装载方式 749\r\n31.1.2 估计LOAD工作数据集的大小 752\r\n31.1.3 LOAD的各个阶段 753\r\n31.1.4 在LOAD期间创建一个内嵌复制 753\r\n31.1.5 在LOAD期间收集内嵌统计信息 754\r\n31.1.6 LOAD重新运行/重启的过程 754\r\n31.1.7 LOAD的锁定考虑 757\r\n31.1.8 LOAD指南 757\r\n31.2 REORG实用程序 763\r\n31.2.1 建议的重组标准 763\r\n31.2.2 重组原则 763\r\n31.2.3 重组的频率 766\r\n31.2.4 重组作业流 767\r\n31.2.5 估计REORG工作数据集的大小 767\r\n31.2.6 REORG INDEX的各个阶段 768\r\n31.2.7 REORG TABLESPACE的各个阶段 769\r\n31.2.8 LOB表空间的REORG TABL-\r\n ESPACE阶段 769\r\n31.2.9 REORG的重新运行/重启的过程 769\r\n31.2.10 在REORG期间收集内嵌统计信息 772\r\n31.2.11 REORG和SHRLEVEL参数 772\r\n31.2.12 使用SHRLEVEL CHANGE\r\n 完成联机重组 773\r\n31.2.13 REORG TABLESPACE的锁定考虑 775\r\n31.2.14 REORG INDEX的锁定考虑 777\r\n31.2.15 REORG指南 777\r\n31.2.16 应在何时重组DB2 编目和DB2目录 781\r\n31.2.17 DB2编目重组的细节 783\r\n31.2.18 编目重组的限制 785\r\n31.3 小结 786\r\n第32章 编目处理实用程序 787\r\n32.1 CATMAINT实用程序 787\r\n32.2 MODIFY实用程序 787\r\n32.3 MODIFY RECOVERY实用程序 788\r\n32.3.1 MODIFY RECOVERY的锁定考虑 789\r\n32.3.2 MODIFY RECOVERY指南 789\r\n32.4 RUNSTATS实用程序 790\r\n32.4.1 RUNSTATS实用程序的各个阶段 794\r\n32.4.2 RUNSTATS实用程序的锁定考虑 795\r\n32.4.3 通过RUNSTATS实用程序更新\r\n DB2编目表 795\r\n32.4.4 RUNSTATS实用程序指南 796\r\n32.5 STOSPACE实用程序 799\r\n32.5.1 STOSPACE的各个阶段 800\r\n32.5.2 STOSPACE的锁定考虑 800\r\n32.5.3 STOSPACE实用程序指南 800\r\n32.6 小结 801\r\n第33章 各种各样的实用程序 802\r\n33.1 脱机实用程序 802\r\n33.1.1 变化日志清单实用程序(DSNJU003) 802\r\n33.1.2 打印日志映像实用程序\r\n (DSNJU004) 803\r\n33.1.3 日志实用程序指南 803\r\n33.1.4 DSNJLOGF指南 804\r\n33.2 服务帮助 804\r\n33.2.1 编目完整性验证实用程序\r\n (DSN1CHKR) 804\r\n33.2.2 DSN1CHKR指南 805\r\n33.2.3 压缩分析器(DSN1COMP) 806\r\n33.2.4 DSN1COMP指南 807\r\n33.2.5 脱机表空间复制服务帮助\r\n (DSN1COPY) 807\r\n33.2.6 DSN1COPY指南 810\r\n33.2.7 DB2转储和跟踪程序(DSN1SDMP) 811\r\n33.2.8 DSN1SDMP数据集 812\r\n33.2.9 DSN1SDMP指南 812\r\n33.2.10 恢复日志抽取器(DSN1LOGP) 812\r\n33.2.11 DSN1LOGP准则 813\r\n33.2.12 DB2数据集转储创建器\r\n (DSN1PRNT) 813\r\n33.2.13 DSN1PRNT指南 814\r\n33.3 DB2样本程序 814\r\n33.3.1 动态SQL处理器(DSNTEP2) 815\r\n33.3.2 DSNTEP2指南 816\r\n33.3.3 动态的SQL更新程序(DSNTIAD) 817\r\n33.3.4 DSNTIAD指南 818\r\n33.3.5 样本卸载程序(DSNTIAUL) 818\r\n33.3.6 DSNTIAUL指南 819\r\n33.3.7 解释DSNTIAUL. DSNTIAD和\r\n DSNTEP2返回码 820\r\n33.4 小结 821\r\n第34章 DB2命令 822\r\n34.1 DB2环境命令 822\r\n34.2 信息收集命令 824\r\n34.3 管理命令 832\r\n34.4 环境控制命令 837\r\n34.5 DSN命令 838\r\n34.6 IMS命令 839\r\n34.7 CICS命令 840\r\n34.8 TSO命令 841\r\n34.9 IRLM命令 841\r\n34.10 小结 842\r\n第35章 DB2实用程序和命令准则 843\r\n35.1 实用程序指南 843\r\n35.2 DB2实用程序的编目竞争 844\r\n35.3 分区级别的操作 846\r\n35.4 编码实用程序控制卡 846\r\n35.5 指定BUFNO JCL参数 847\r\n35.6 为DFSORT分配足够的分类工作空间 847\r\n35.7 当装载或重组织时, 设定LOG NO 848\r\n35.8 当装载或重组织时, 执行内嵌\r\n 实用程序 848\r\n35.9 使用COPY实用程序或DFSMS备份数据 848\r\n35.10 REBUILD INDEX与CREATE INDEX 848\r\n35.11 挂起状态 848\r\n35.11.1 为什么会发生挂起状态 849\r\n35.11.2 怎样来改正挂起状态 849\r\n35.12 小结 850\r\n第36章 DB2应急计划 851\r\n36.1 什么是一个灾难 851\r\n36.1.1 判定和管理风险 851\r\n36.1.2 灾难恢复要求 852\r\n36.1.3 灾难打击 853\r\n36.1.4 DB2恢复的基础 853\r\n36.1.5 策略#1:“大锤” 853\r\n36.1.6 策略#2:“解剖刀” 854\r\n36.1.7 策略#3:DSN1COPY 857\r\n36.2 DB2环境考虑 858\r\n36.3 DB2紧急计划指南 858\r\n36.4 小结 860\r\n第七部分 理想的DB2环境\r\n第37章 一个完整DB2方案的各个组件 862\r\n37.1 DB2工具 862\r\n37.1.1 表改变工具(ALT) 863\r\n37.1.2 审查工具(AUD) 865\r\n37.1.3 DB2编目查询和分析工具(CAT) 867\r\n37.1.4 压缩工具(COM) 868\r\n37.1.5 DB2相关的客户/服务器工具(C/S) 869\r\n37.1.6 数据库分析工具(DBA) 869\r\n37.1.7 数据库建模和设计工具(DES) 870\r\n37.1.8 DASD和空间管理工具(DSD) 871\r\n37.1.9 DB2表编辑器 871\r\n37.1.10 索引分析工具(IDX) 872\r\n37.1.11 整合工具(INT) 873\r\n37.1.12 DB2对象迁移工具(MIG) 873\r\n37.1.13 数据移动工具(MOV) 874\r\n37.1.14 杂项工具(MSC) 874\r\n37.1.15 Internet使能工具(NET) 874\r\n37.1.16 操作支持工具(OPR) 875\r\n37.1.17 基于PC的DB2模拟产品(PC) 875\r\n37.1.18 计划分析工具(PLN) 876\r\n37.1.19 性能监视器(PM) 877\r\n37.1.20 提高性能的产品(PRF) 878\r\n37.1.21 DB2编程和开发工具(PRG) 879\r\n37.1.22 QMF增强工具(QMF) 879\r\n37.1.23 查询工具(QRY) 879\r\n37.1.24 知识库(REP) 881\r\n37.1.25 安全工具(SEC) 882\r\n37.1.26 实用程序增强工具(UTL) 884\r\n37.2 DB2工具供应商 885\r\n37.2.1 供应商列表 886\r\n37.2.2 评估DB2工具供应商 895\r\n37.3 小结 901\r\n第38章 组织的问题 902\r\n38.1 教育 902\r\n38.2 标准和过程 907\r\n38.2.1 角色和责任 908\r\n38.2.2 数据管理 910\r\n38.2.3 数据库管理向导 910\r\n38.2.4 系统管理向导 911\r\n38.2.5 应用开发向导 911\r\n38.2.6 DB2安全向导 911\r\n38.2.7 SQL性能向导 912\r\n38.2.8 QMF向导 912\r\n38.2.9 命名规范 912\r\n38.2.10 迁移和反转过程 913\r\n38.2.11 设计评审指南 913\r\n38.3 操作性支持 916\r\n38.4 行政问题 917\r\n38.5 环境支持 918\r\n38.6 工具要求 918\r\n38.7 小结 918\r\n第八部分 分布式的DB2\r\n第39章 DRDA 921\r\n39.1 什么是DRDA 921\r\n39.1.1 DRDA的优点 921\r\n39.1.2 什么是RDA 922\r\n39.2 DRDA功能 922\r\n39.2.1 应用请求程序 923\r\n39.2.2 应用服务器 923\r\n39.2.3 数据库服务器 923\r\n39.2.4 返回的内容 923\r\n39.3 DRDA体系结构与标准 924\r\n39.3.1 高级的程序到程序的通信 924\r\n39.3.2 分布式数据管理 924\r\n39.3.3 格式化的数据:目标内容体系结构 925\r\n39.3.4 字符数据表示法体系结构 925\r\n39.4 五个DRDA级别 925\r\n39.4.1 用户帮助的分布 926\r\n39.4.2 远程请求 926\r\n39.4.3 远程工作单元 926\r\n39.4.4 分布式工作单元 926\r\n39.4.5 分布式请求 927\r\n39.5 集成各个站点 927\r\n39.6 小结 929\r\n第40章 分布式DB2 930\r\n40.1 用DB2分布数据 930\r\n40.1.1 基本原理 930\r\n40.1.2 通信数据库 930\r\n40.1.3 分布式术语 931\r\n40.2 DB2对DRDA级别的支持 931\r\n40.2.1 远程请求 931\r\n40.2.2 远程工作单元 932\r\n40.2.3 分布式工作单元 932\r\n40.3 访问分布式数据的方法 932\r\n40.3.1 应用程序定向的数据访问 932\r\n40.3.2 系统定向的数据访问 934\r\n40.4 系统定向与应用定向的比较 936\r\n40.5 静态SQL程序包 937\r\n40.6 两阶段提交 937\r\n40.7 两阶段提交的专用术语 937\r\n40.7.1 什么是两阶段 938\r\n40.7.2 分布式线程支持 939\r\n40.8 各种各样的分布式主题 941\r\n40.8.1 把DRDA与专用协议请求结合起来 941\r\n40.8.2 联合DB2的释放 941\r\n40.8.3 工作站级别的DB2 942\r\n40.8.4 开发客户/服务器应用程序 942\r\n40.8.5 ASCII服务器支持 942\r\n40.8.6 自身的TCP/IP支持 943\r\n40.9 小结 943\r\n第41章 分布指南 944\r\n41.1 分布的背景知识 944\r\n41.2 块获取 946\r\n41.2.1 编码游标来促进块获取 946\r\n41.2.2 最新数据 947\r\n41.2.3 限制的块获取和连续块获取的比较 948\r\n41.3 动态游标的预打开 949\r\n41.4 分布式性能问题 950\r\n41.4.1 分析分布式吞吐量 950\r\n41.4.2 分析分布式响应时间 951\r\n41.4.3 一般的分布式性能指南 951\r\n41.5 分布式数据库设计问题 953\r\n41.5.1 分裂 953\r\n41.5.2 复制 954\r\n41.5.3 快照 955\r\n41.6 分布式数据放置 955\r\n41.7 分布式优化 956\r\n41.8 分布式安全指南 957\r\n41.8.1 “出生”检查 957\r\n41.8.2 权限ID的翻译 957\r\n41.8.3 其他安全指南 958\r\n41.9 各种分布式指南 958\r\n41.10 小结 960\r\n第42章 DB2数据仓库 961\r\n42.1 定义基本术语 961\r\n42.1.1 什么是数据仓库 961\r\n42.1.2 可操作性数据与数据仓库 962\r\n42.1.3 什么是数据集市 962\r\n42.1.4 什么是可操作性数据商店 963\r\n42.1.5 什么是OLAP 963\r\n42.2 设计一个数据仓库 964\r\n42.2.1 元数据的作用 965\r\n42.2.2 星型模式 965\r\n42.3 填充数据到一个数据仓库 967\r\n42.3.1 复制与传播 967\r\n42.3.2 快照 968\r\n42.3.3 数据变换 968\r\n42.4 访问数据仓库 971\r\n42.5 管理数据仓库 971\r\n42.6 大图片 972\r\n42.7 数据仓库指南 973\r\n42.8 小结 977\r\n附 录\r\n附录A DB2 SQLCODE和SQLSTATE值 980\r\n附录B DB2编目表 1022\r\n附录C QMF管理表 1093\r\n附录D DB2样本表 1097\r\n附录E DB2手册 1103\r\n附录F 1型索引 1107\r\n附录G 有效的DB2数据类型 1111\r\n附录H DB2的限制 1113\r\n附录I 其他平台上的DB2 1117\r\n附录J DB2版本4. 5和6的变化总结 1120 \r\n
\r\n
关系数据库管理系统是围绕一系列关系代数的数学概念设计的数据库管理系统. 在20世纪70年代初, IBM的San Jose 研究中心的E.F.Codd先生第一个提出了关系数据库模型的概念. 也就是说, IBM研究机构发明关系数据库技术至今已有20多年了. 1983年, IBM为MVS(多重虚拟系统)开发了第一代DB2数据库. 在我们跨入21世纪时, IBM继续拓展其优越的数据库技术, 使其拥有更多的功能, 支持更多的平台. 今天, DB2通用数据库是世界上最先进的数据库, 并且同时支持世界上最多的系统平台(IBM OS/390. IBM OS/400. IBM RS/6000. IBM OS/2. SUN Solaris. HP-UX. Microsoft Windows NT. SCO Openserver和Linux).
传统的企业正在将其主要业务转向互联网. 新的电子化企业正在形成, 基于网络应用的新产品也就应运而生了. 大家可能会问:“到底什么是电子商务呢?”电子商务就是在互联网上进行交易, 电子商务可以一周七天, 每天24小时持续工作而不必总有人在那里. 电子商务将带来新的客户, 人们以不同的方式一起工作. 电子商务需要具有高兼容性. 可用性. 安全性和可靠性, 需要工业化的数据库技术. 而DB2在过去15年中已在全球拥有了四亿用户. IBM的DB2通用数据库开发人员为使DB2通用数据库成为电子商务的基础而进行了大量工作. 今天, 用户可以从网上访问数据库, 应用开发人员可以用Java或者JDBC来编写DB2应用程序和过程. 数据库管理员可以通过网络浏览器管理数据库, 同时DB2还拥有最好的兼容性. 可用性和健壮性.
电子商务对数据库提出了一些新的要求, 其中之一是能从任何设备上访问数据库. 新的. 普遍的设备将用来访问DB2. 电子商务对大量信息和知识的需求将会不断增长, 这将需要太字节(1012)直至拍字节(1015)级的数据库产品, 才能支持商务智能和基于知识的应用. 这些应用需要数据库具有支持更高级的分析能力, 同时需要访问丰富的内容—文件. 图形. 文本. 视频和空间数据. 今天, DB2通用数据库已经发展到可以传输这些内容.
《DB2开发人员指南》第4版揭示了DB2成功的秘密, 它讲述了其他DB2教科书所没有的或遗漏的内容. 它深入研究了其他书籍包括IBM DB2用户手册中没有充分讲述的主题. 本书清晰地讲述了DB2上述主题的复杂而精深的内容, 给读者提供了实现设计良好的DB2应用在性能和过程方面的建议, 讲述了有关DB2后台是如何实现的秘密. 使用《DB2开发人员指南》第4版作为指南, 您的开发人员和系统管理人员就能实现优化的DB2应用系统.
参加本书翻译的人还有:郑齐心. 郑齐燕. 苏林. 欧阳小芳. 张剑. 李彩霞. 段明非. 张子悦. 陈尧. 白云. 王鹏. 张国新. 李蔚明. 胡彬. 张重. 刘丽. 王驰. 丁旭东. 潘宇. 胡建. 刘晓霞. 陆强. 吕明光. 赵庆昕. 肖练刚. 王小蓉. 马骐. 韩欧. 马赞. 许志巍. 林岩. 杨剑. 杨小东. 余洪明. 赵旭. 谢翔. 丁向武. 刘江涛. 王新. 贾立东. 施昭. 胡钛. 陈勃. 陈天越. 王刚. 张利平. 谭喜薇. 郑小立. 王开京. 李新等同志.
由于译者学识浅陋, 必有许多不足之处. 请读者批评指正. 杨正洪的E-mail地址是:yangzhenghong@yahoo.com. 欢迎读者来信指正. 谢谢.
杨正洪
2001年8月8日
欢迎使用《DB2开发人员指南》第4版. 本书前三版的成功使作者深受鼓舞. IT业界非常需要具有实践经验的DB2开发和相关方面的见解的专著. 本书第2版是针对DB2版本3的内容而编写. 本书第3版覆盖了DB2版本4和版本5的功能, 而本书第4版将你带入DB2的最新版本—DB2版本6. 有关DB2各个版本之间的变化, 请参阅本书附录J.
关于DB2的其他著作大多讨论有关SQL语法. 基本的关系型数据库设计. 规范化和使用COBOL进行嵌入式SQL编程. 《DB2开发人员指南》第4版揭示了DB2成功的秘密, 它讲述了其他DB2教科书所没有的或遗漏的部分. 它深入研究了其他书籍包括IBM DB2用户手册中没有充分讲述的主题. 本书清晰地讲述了DB2的复杂而精深的内容, 给读者提供了实现设计良好的DB2应用在性能和过程方面的建议, 讲述了有关DB2后台实现的秘密. 使用《DB2开发人员指南》第4版作为指南, 开发人员和系统管理人员就能实现优化的DB2应用系统.
本书虽然不是一本DB2和SQL语言的入门教材, 但是本书中大量的建议对初学者和高级用户同样有帮助. 本书虽没有教授SQL语言的语法. 关系理论. 范式以及逻辑数据库设计, 但它提供了许多关于如何以及何时使用上述技术和其他技术的建议. 如果你对SQL复杂的. 让人难以理解的应用技术感兴趣, 而不是感兴趣于SQL的语法结构图, 那么这本书就适合你. 本书涉及的其他领域如下:
对DB2版本6的新特性进行了全面. 综合的介绍, 它包括对象/关系型的大对象类型. 用户定义函数. 用户定义单值类型. 触发器. 使用Java SQLJ和JDBC访问DB2. 访问万维网等等.
编写高效SQL程序的技巧. 实用秘诀和相关指南.
建立面向性能的DB2数据库系统的指南.
使用TSO. CICS. IMS/TM. CAF和RRSAF开发DB2应用的环境选项.
讲述DB2的后台操作, 包括日志. 锁定以及使用系统编目和目录的进度表.
讲述实现和维护优化的DB2性能的全面技术.
深入讲述关于应用和系统两方面的性能监控和调整指南.
?使用EXPLAIN, 解释它的输出结果, 包括如何使用优化器的提示, 使用DB2版本6的成本估算功能和函数解析表.
介绍了使用DB2系统编目表来监测DB2的过程.
DB2应用开发实用指南.
使用DB2实用程序的高级技术建议.
?分配缓冲池大小和实现多个缓冲池和hiperpool的策略.
DB2灾难恢复的实际场景和推荐方法.
怎样以及何时使用DB2视图.
怎样在用客户机/服务器环境中使用DB2, 这部分内容包括存储过程. 通过Internet访问DB2及OBBC.
怎样将DBA的技术和开发技术结合起来, 从而高效地管理以触发器. 用户自定义函数和存储过程等形式存在的应用逻辑.
关于DB2对分布式数据库的支持, 这部分内容包括对DRDA和分布式两阶段提交两部分内容的讨论.
关于怎样部署基于DB2的数据仓库的深入研究.
关于DB2其他工具的全面介绍, 包括工具类型的描述以及相应产品厂商的列表和它们所能提供的功能(这些内容对那些需要对DB2工具进行评价或比较的读者非常有帮助).
讨论有关DB2管理和组织方面的问题, 包括相应的角色和职责, 设计评审指南以及其他策略方面的问题. 本书可作为你在DB2世界探险的导游. 你可以一页一页地循序渐进地来阅读本书. 本书的使用价值在你首次读完之后并没有减少, 相反, 它可以作为你日常使用DB2的参考书, 使它的作用得到更充分的发挥.
本书的编写和组织实现了这两方面的功能. 每一章论述一个特定的主题, 并在需要的时候参考其他章节或DB2用户手册. 简而言之, 这本书的设计使你在规划和定制访问两方面得到最优化的性能, 就像DB2数据库那样!
好了, 让我们一起打开书本, 开始我们对DB2世界深入的探索历程.
本书中的所有程序代码都可以在Sams出版社的网站上找到. Sams的网址是:www. samspublishing.com. 查找本书可以通过ISBN(0672318288)查找.