标题：大型主机DB2数据库基础教程
图书信息
书名：大型主机DB2数据库基础教程  　　作者：张  颖  李六旬  主  编
王亚娟  孙佩锋  孙  哲  易  蕾  吴春利  
莫李华  姚文杰  黎春阳  孙  彬  邹  为  编  著
ISBN 978-7-121-11012-2
出版日期：2010年7月
定价：80.00元
开本：16开 
页码：360页
内 容 简 介
本书的编著融入了大型主机项目研发和系统维护实践过程的丰富知识与经验，可作为已开展主机专业课程的高校教学资料；对于已从事主机DB2数据库专业相关工作的技术人员，甚至科研人员，也是一本不可多得的参考书。
序  言
IBM大型主机遍布全球众多大型企业，广泛应用于银行、证券、保险、电信、航空等行业。时至今日，大型主机在IT界仍扮演着极其重要的角色。仅从银行业来看，全球最大的500家银行中，绝大多数都采用大型主机来搭建核心信息系统。
大型主机有别于我们常见的个人电脑、服务器或小型机，其操作系统z/OS也与常见的Windows、Linux或UNIX操作系统大不相同，运行在其上的中间件、数据库软件也有其独特性。由于大型主机专业性很强，且通常只在大型企业中应用，全球的大型主机专业技术人才总量较小。据统计，目前全球专业的大型主机专业技术人员约10万人，且其中相当一部分从20世纪60年代大型主机诞生之时起就开始从事大型主机的技术工作，新生代的技术人员占比并不大。此外，该领域的技术人才培养难度较大，常常依赖传统的师傅带徒弟方式，缺乏系统的培训体系和教材，培养周期较长，一般需要5到10年的不懈努力和经验积累，才能成为大型主机某个领域的专家，培训成本相对也较高，常常无法满足多数大型主机企业用户甚至IBM公司自身对专业人才培养的需求。而国内大型银行近十年发展迅速，对开发和管理核心银行系统的大型主机专业技术人才需求旺盛，大型主机人才常常供不应求，对此银行管理者感受尤为深刻。一个基本事实就是，大型主机的基础培训教材匮乏，现有教材内容相对陈旧，无法反映大型主机软硬件技术、应用推广技术和维护管理技术的发展现状。
中国工商银行是中国金融行业电子化建设的先行者，在大型主机的开发和应用方面已积累了20多年的经验。早在1999年，中国工商银行就在国内率先启动了建设超大规模数据处理中心的“9991”数据大集中工程；搭建了以大型主机系统为核心的银行业务处理平台；实现了关键业务数据和业务处理的大集中。数据中心（北京）也在2000年应运而生，并在10年间迅速发展壮大，向着世界一流的大型数据中心迈进。一直以来，数据中心（北京）非常重视人才培养工作，致力于打造卓越的学习型团队和学习型组织。经过多年的不懈努力，目前中心已经建立起较为完善的专业化人才培养体系，营造出技术人才快速成长的环境，大型主机专业人才培养则是其中一个重要的组成部分。我们不断地挖掘大型主机课程内容的深度和广度，自行组织编制了一系列培训课件和教材，在每年的新员工培训和专家人才培养方面发挥了显著效果。一路走来，一支专业化、高素质的工商银行大型主机专业团队已经形成！
本书的作者正是中国工商银行数据中心（北京）系统部经验丰富的工程师们。这是一支朝气蓬勃的团队，深刻了解中国用户在大型主机知识和技能方面的需求。他们站在工行信息科技前辈的肩膀上，系统地整理了大型主机在金融行业应用开发、管理方面的丰富知识和宝贵经验，精心汇集了工商银行在大型主机领域近20年潜心耕耘的成果，大量参阅了各类英文技术文献，在百忙工作之余投入大量时间和精力著成系列丛书。希望该书能让国内同行在大型机知识和技能培训方面得所借鉴，让每一个对IBM Z系列大型机感兴趣的读者有所收获。
作为中国工商银行数据中心（北京）的总经理，我衷心希望能借助本套系列基础教程的推出，搭建起我们与国内同行之间的沟通平台，开启我们与读者之间的交流之门，在为国内同行和广大读者提供大型主机的技术参考的同时，还能够收到读者反馈回来的宝贵意见和建议，以实现沟通交流、互补互馈，力争把该系列教程做得精益求精。希望这本中文教材能够成为您的良师益友，能为您今后的工作和学习贡献一份力量！
王丽平
中国工商银行数据中心（北京） 总经理  
2010年4月于北京
前  言
DB2是IBM公司数据管理产品线上最知名也最成功的产品，在许多行业尤其是银行业得到非常广泛的应用，是主流数据库管理系统。DB2产品适用于多种操作系统平台。对于运行于大型主机环境下的DB2，由于专业性非常强，相关中文书籍很少，英文技术手册的可读性较差，缺乏系统性介绍主机DB2的辅导教程，从事主机DB2工作的人员很难利用目前市面上已有的书籍系统全面地掌握主机DB2的相关技术。为了帮助主机数据库工作的人员更轻松快速地入门，为从事数据库相关工作的同事提供一份较全面、实用的参考教材，主机DB2专业团队编写了本教程。本书力争用通俗的语言，由浅入深地介绍主机DB2的基础、Data Sharing理论、常用的Utility、常用命令，以及DB2系统维护等方面的知识，同时概要地介绍几种常用的DB2工具的使用方法。
除主编作者外，参与编著工作的还有中国工商银行数据中心（北京）系统部DB2专业团队王亚娟、孙佩锋、易蕾、孙哲、吴春利、莫李华、姚文杰、黎春阳、孙彬、邹为等同志，不仅对主机DB2产品进行了全面、深入的介绍，还融入了他们多年从事主机数据库研发和日常维护工作中积累的丰富知识和经验。书中每一章节后的习题和案例，是该团队所有成员在日常工作培训中常见和实际使用的，相信会对有志于从事主机数据库工作的同事提供帮助，使入门者更轻松快速地入门。
本书由这些同志利用业余时间倾注大量心血编著而成，所有文稿都经过了反复推敲和修订，旨在为从事主机DB2研发、测试、维护等工作的同志们提供一份较为全面、实用的参考资料。由于能力水平有限，本书难免存在不足和纰漏，还请读者批评指正，以求不断完善。
目  录
第1章  数据库理论基础    1
本章为数据库理论基础，主要介绍数据库的基本概念，内容包括数据库技术发展、数据库系统特点、关系型数据库基本概念、SQL语言和关系型数据库设计方法。
1.1  数据库基本概念    1
1.1.1  数据库技术的产生和发展    1
1.1.2  数据库系统的特点    2
1.1.3  数据模型    4
1.2  关系型数据库基本概念    7
1.2.1  基本术语    7
1.2.2  Codd准则    7
1.2.3  关系完整性    9
1.3  SQL语言概述    9
1.3.1  SQL语言分类    10
1.3.2  数据类型    10
1.3.3  数据控制语言（DCL）    13
1.3.4  数据定义语言（DDL）    14
1.3.5  数据操作语言（DML）    16
1.3.6  SQL函数    24
1.3.7  制定约束    27
1.3.8  静态SQL与动态SQL    29
1.4  关系数据库设计    30
1.4.1  关系规范化    30
1.4.2  实体——关系模型    33
1.4.3  关系数据库设计的基本步骤    34
1.5  课后习题    44
第2章  主机DB2基础    45
本章为主机DB2基础，主要介绍DB2产品的基本架构，包括DB2 产品发展概述、DB2 数据基本结构、DB2 系统结构组成、DB2系统运行环境、DB2并发控制机制、应用程序的管理和开发、数据库安全控制等。通过对以上知识点的讲解，让读者能够对DB2系统的基础知识有一定的理解。
2.1  DB2产品发展概述    45
2.2  DB2数据库对象    47
2.2.1  DB2数据库对象概貌    47
2.2.2  Database    48
2.2.3  Storage Group    48
2.2.4  Tablespace    49
2.2.5  Table    55
2.2.6  Index    56
2.2.7  View    59
2.2.8  Synomas    61
2.2.9  Alias    61
2.2.10  Trigger    62
2.2.11  Store Procedure    62
2.2.12  创建数据库对象的方法    63
2.2.13  OWNER的概念    63
2.2.14  数据库对象的命名规范    64
2.2.15  数据库对象对应VSAM数据集的命名规范    64
2.2.16  查询数据库对象的方法    65
2.3  DB2系统结构组成    65
2.3.1  DB2系统结构概貌    66
2.3.2  DB2 Catalog    66
2.3.3  DB2 Directory    67
2.3.4  默认数据库    69
2.3.5  work file database    69
2.3.6  Active and Archive log    69
2.3.7  Bootstrap Data Set（BSDS）    70
2.3.8  Buffer pool    71
2.3.9  EDM pool    71
2.3.10  RID pool    72
2.3.11  DSNZPARM    72
2.4  DB2系统运行环境    73
2.4.1  DB2系统的地址空间    73
2.4.2  DB2 Attachment Facilities    74
2.4.3  DB2与分布式数据    77
2.4.4  DB2与z/OS    78
2.4.5  DB2与Parallel Sysplex    78
2.4.6  DB2与安全服务    79
2.4.7  DB2与DFSMS    79
2.4.8  DB2与WLM    79
2.5  DB2并发控制机制    81
2.5.1  数据一致性    81
2.5.2  DB2事务的概念    82
2.5.3  COMMIT和ROLLBACK操作的结果    83
2.5.4  不成功的事务的结果    83
2.5.5  事务隔离级别    84
2.5.6  锁机制    86
2.5.7  锁的挂起、超时和死锁    89
2.6  DB2应用程序管理    91
2.6.1  基本概念    91
2.6.2  应用程序的准备过程    92
2.6.3  存储过程    94
2.6.4  UDF    98
2.6.5  触发器    99
2.7  DB2应用程序SQL优化    100
2.7.1  应用程序编写的通用原则    100
2.7.2  编写高效的谓词    103
2.7.3  DB2谓词管理    124
2.7.4  高效地使用宿主变量    127
2.7.5  编写高效的子查询    129
2.7.6  如何判断一个SQL有问题    134
2.7.7  小结    135
2.8  DB2安全控制与审计    135
2.8.1  数据库安全控制范围    135
2.8.2  DB2安全控制简介    136
2.8.3  DB2对象访问控制    138
2.8.4  DB2审计    144
2.9  课后习题    148
第3章  DB2 Data Sharing基础    150
本章主要介绍DB2 Data Sharing方面的知识，内容包括Data Sharing特性介绍、与Stand Alone的区别、Data Sharing与SYSPLEX的关系、Data Sharing系统架构、Data Sharing的实现和恢复等，帮助读者掌握Data Sharing的基本概念和基本使用方法。
3.1  DB2 Data Sharing介绍    150
3.1.1  Parallel Sysplex与DB2 Data Sharing简介    151
3.1.2  DB2 Data Sharing技术的优势    153
3.2  DB2 Data Sharing 体系架构    156
3.2.1  DB2 Data Sharing架构的问题及解决方法    157
3.2.2  并发性和数据一致性控制    158
3.2.3  DB2 Data Sharing的连续可用性    163
3.2.4  异常情况对DB2 Data Sharing的可用性影响    165
3.3  DB2 Data Sharing的实现    166
3.3.1  命名规则    166
3.3.2  DB2日志    170
3.3.3  DB2 Data Sharing重要参数    171
3.4  DB2 Data Sharing的恢复    172
3.4.1  对某个DB2表的恢复    172
3.4.2  对某些组件异常的恢复    174
3.4.3  Sysplex Failure Management（SFM）    175
3.4.4  Automatic Restart Management（ARM）    175
3.4.5  DB2 MEMBER Light 模式重启    175
3.5  课后习题    176
第4章  DB2常用Utility基础    177
本章为DB2 常用Utility基础，主要介绍DB2产品自带Utility方面的知识，内容涉及Utility的调用方法、Online Utility和Offline Utility的介绍等。
4.1  DB2 Utility简介    177
4.1.1  什么是Utility    177
4.1.2  Utility的分类    177
4.1.3  调用Utility的方法    178
4.2  DB2 Online Utility    178
4.2.1  如何调用DB2 Online Utility    178
4.2.2  BACKUP SYSTEM Utility    179
4.2.3  COPY Utility    180
4.2.4  LISTDEF Utility    184
4.2.5  LOAD Utility    187
4.2.6  REBUILD INDEX Utility    195
4.2.7  RECOVER Utility    198
4.2.8  REORG TABLESPACE Utility    202
4.2.9  REPAIR Utility    211
4.2.10  RUNSTATS Utility    213
4.2.11  TEMPLATE Utility    218
4.2.12  UNLOAD Utility    221
4.2.13  监控与控制 DB2 Online Utility    225
4.3  DB2 Stand Alone Utility    226
4.3.1  如何调用Stand Alone Utility    226
4.3.2  DSN1COPY Utility    226
4.3.3  DSN1LOGP Utility    231
4.3.4  DSN1PRNT Utility    234
4.4  课后习题    238
第5章  DB2常用命令    239
本章主要介绍DB2的基本命令，涉及启下系统、检查DB2运行状态、检查数据库对象状态、解决异常状态等操作。
5.1  DB2命令介绍    239
5.1.1  DB2命令的作用范围    239
5.1.2  DB2命令的提交方式    240
5.1.3  DB2命令的使用方法    240
5.2  DB2系统相关命令    241
5.2.1  –START DB2    241
5.2.2  –STOP DB2    242
5.2.3  –SET SYSPARM    242
5.2.4  –DISPLAY GROUP    243
5.2.5  –RECOVER BSDS    244
5.2.6  –RECOVER INDOUBT    244
5.3  DATABASE相关命令    245
5.3.1  –ACCESS DATABASE    245
5.3.2  –START DATABASE    245
5.3.3  –STOP DATABASE    247
5.3.4  –DISPLAY DATABASE    247
5.4  BP和GBP相关命令    250
5.4.1  –ALTER BUFFERPOOL    250
5.4.2  –ALTER GROUPBUFFERPOOL    252
5.4.3  –DISPLAY BUFFERPOOL    253
5.4.4  –DISPLAY GROUPBUFFERPOOL    255
5.5  Utility相关命令    256
5.5.1  –ALTER Utility    256
5.5.2  –DISPLAY Utility    257
5.5.3  –TERM Utility    257
5.6  TRACE相关命令    258
5.6.1  –START TRACE    258
5.6.2  –STOP TRACE    260
5.6.3  –DISPLAY TRACE    261
5.7  PROCEDURE相关命令    262
5.7.1  –DISPLAY PROCEDURE    262
5.7.2  –START PROCEDURE    263
5.7.3  –STOP PROCEDURE    264
5.8  DDF相关命令    265
5.8.1  –START DDF    265
5.8.2  –STOP DDF    266
5.8.3  –DISPLAY DDF    267
5.9  LOG相关命令    267
5.9.1  –ARCHIVE LOG    267
5.9.2  –DISPLAY LOG    269
5.10  THREAD相关命令    270
5.10.1  –CANCEL THREAD    270
5.10.2  –DISPLAY THREAD    270
5.11  IRLM相关命令    272
5.11.1  –START irlmproc    272
5.11.2  –STOP irlmproc    275
5.11.3  –TRACE CT    275
5.11.4  –MODIFY irlmproc, ABEND    276
5.11.5  –MODIFY irlmproc, DIAG    276
5.11.6  –MODIFY irlmproc, PURGE    277
5.11.7  –MODIFY irlmproc, SET    278
5.11.8  –MODIFY irlmproc, STATUS    279
5.12  课后习题    281
第6章  DB2系统维护概述    283
本章为DB2系统维护方法介绍，主要包括系统备份和恢复、日常监控和健康检查、例行重组和性能分析调优等内容，旨在帮忙读者对DB2维护工作有较为全面的了解。
6.1  DB2备份和恢复    283
6.1.1  DB2备份及恢复的原则    283
6.1.2  如何制定最佳的备份策略    284
6.1.3  DB2备份常用工具及使用方法    285
6.1.4  DB2恢复工具及使用方法    286
6.1.5  DB2数据库备份策略参考    289
6.2  DB2日常健康检查    290
6.2.1  DB2系统级检查    291
6.2.2  数据可用性和应用程序检查    297
6.3  DB2重组    300
6.3.1  进行DB2重组的目的    300
6.3.2  DB2 REORG的对象    301
6.3.3  DB2重组的条件    301
6.3.4  DB2重组的方法    302
6.3.5  DB2重组的注意事项    304
6.3.6  DB2重组常见问题及解决方法    305
6.4  DB2 RUNSTATS    308
6.4.1  定期执行RUNSTATS的目的    308
6.4.2  何时需要进行RUNSTATS操作    308
6.4.3  RUNSTATS注意点    309
6.5  STOSPACE    309
6.6  DB2 ROTATE操作    310
6.7  DB2性能监控及调整    310
6.7.1  DB2性能监控    310
6.7.2  DB2性能调整    320
6.8  课后习题    323
附录A  DB2 Admin Tool简介    325
附录B  DB2 PM简介    329
附录C  SPUFI简介    332
附录D  参考答案    334
附录E  常见主机资料缩语表    341
参考文献    344