DB2培训文档new.docx
- 文档编号:4617690
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:24
- 大小:91.71KB
DB2培训文档new.docx
《DB2培训文档new.docx》由会员分享,可在线阅读,更多相关《DB2培训文档new.docx(24页珍藏版)》请在冰豆网上搜索。
DB2培训文档new
IBMDB2数据库系统管理培训讲义
中创软件工程股份有限公司
金融事业部
二○○四年七月
目录
第一章DB2概况3
第一节DB2概述3
第二节DB2产品介绍3
第三节DB2数据库系统的组成4
第二章DB2安装6
第一节建议的最小磁盘大小6
第二节注意事项6
第三节在AIX上进行安装6
第四节验证安装8
第三章产生数据库并放置数据9
第一节产生数据库框架9
第二节表空间10
第三节通过数据放置提高系统性能15
第四章数据移动17
第一节概述17
第二节Export17
第三节Import18
第四节Load19
第四节IMPORT与Load的区别20
第五章备份22
第一节备份使用22
第二节备份方式23
第三节后备文件的定义格式23
第六章恢复24
第一节崩溃恢复24
第二节版本恢复25
第三节前滚恢复25
第四节附录27
第七章问题检测28
第八章常用的维护命令29
第一节管理命令29
第二节状态查询29
第三节其他30
第四节维护说明30
第九章附录32
第一章DB2概况
第一节DB2概述
1981年,IBM公司介绍了它的第一个关系型数据库系统SQL/DS,该系统运行在DOS/VSE操作系统上,并支持SQL数据库语言,称为结构化查询语言。
至1983年,它成为能在MVS操作系统上运行,并支持SQL语言的DB2产品。
随后,DB2不断发展,形成一套数据库的系列产品。
至今,对各种类型的IBM平台,以及非IBM平台均有DB2系列产品。
第二节DB2产品介绍
DB2,是IBM公司开发的关系型数据库管理系统。
从其诞生之日开始,DB2就定位于要为各种规模的企业提供稳定、高效的数据管理支持。
可以说,DB2是当前适用范围最广泛的数据库产品。
我们对DB2产品的划分通常分为两种方法:
一种方法是按其所能支持的硬件和操作系统平台进行划分,另一种方法是按其所能支持的用户规模的不同进行划分。
DB2产品几乎覆盖了当前所有流行的硬件和操作系统平台。
在大型机操作系统上,有DB2forOS/390、DB2forMVS/ESA、DB2forVSE和DB2forVM等多种产品;在由IBM公司设计的小型机AS/400上,DB2已经嵌入在操作系统OS/400之中,成为其不可分割的一部分。
DB2对UNIX操作系统的支持同样十分广泛,可以在AIX、HP-UX、Solaris、SCO-UNIX、SINIX等多种系统上找到其相应的版本。
另外,在PC操作系统上,DB2可以对Window9x、WindowsNT以及OS/2等多种操作系统提供支持。
UDB6.1还增加了对Linux操作系统的支持。
以上我们所提到的只是DB2服务器所能运行的平台,DB2的客户端所能支持的平台更为广泛,除了以上提到的所有平台之外,DB2的客户端还能运行在Dos、Windows3.x、MacOS以及SGI公司的IRIS系统之上。
UDB产品除了能够对各种硬件和操作系统平台进行支持之外,为了适应不同用户群的需要,UDB提供了不同级别的产品,对小到个人用户,大到跨国企业的不同需求提供支持。
UDB卫星版:
是专门为移动用户设计的小型数据库产品。
该版本只能运行在Windows平台。
(该版本属于UDB6.1版本新增版本)
UDB个人版:
是专门为个人用户设计的功能完备的个人数据库产品,允许用户在本地建立数据库、更改数据、开发应用程序从本地对数据库管理系统进行存取以及通过内置的客户端对远程数据库服务器进行管理。
该版本的限制在于不能对远程应用程序提供全面支持。
该版本可以运行在Windows、OS/2以及Linux平台。
UDB工作组版:
适用于小型局域网的数据管理需求。
具有UDB个人版的全部功能,并能够对远程应用程序提供全面支持。
该版本可以运行在Windows、OS/2以及Linux平台。
(UDB工作组版5.0可以运行在UNIX平台)
UDB企业版:
简称为UDBEE,适用于企业级的数据管理需求。
具有UDB工作组版的全部功能,并能够利用对称多处理(SMP)技术提高系统性能。
在它的程序包中,包含了DB2Connect企业版,允许Intel平台和UNIX平台的客户端应用程序访问大型机和AS/400上的数据库服务。
UDB企业版可以运行在Windows、OS/2、Linux以及UNIX平台。
UDB企业扩展版:
简称为UDBEEE,适用于大规模的企业应用。
大规模的企业应用的基本要求是稳定(宕机时间短)和高效(处理速度快),UDB企业扩展版能够利用群集(cluster)和大规模并行处理(MPP)技术提高系统的稳定性和性能。
第三节DB2数据库系统的组成
DB2数据库系统的主要软件成分包括:
(1)数据库引擎
数据库引擎提供DB2的基本功能,它管理数据并处理对数据库的访问,通过产生一些包(储存数据的访问路径),它提供对数据处理的管理,保证数据的完整性,保护数据,并提供并发控制。
数据库引擎的基本元素包括数据库对象、系统目录、地址目录和配置文件,所有对数据的存取都是通过SOL接口进行的。
(2)命令行处理器(CLP)
CLP是用来动态执行SQL请求DB2命令的,CLP可以用来存取本地工作站的数据库,远程工作站的数据库,或通过DDCS存取远程的DRDAAS数据库,各个平台的软件开发工具也是DB2子功能的一部分。
(3)管理工具包
管理工具包是有助于管理数据库的工具集,包括:
●数据库导向器:
用于配置、备份以及恢复、目录管理和媒介管理(在基于UNIX的系统里)
●可视化解释工具:
以图形方式浏览复杂的存储操作
●性能监视器:
监视DB2系统的运作以便对其作出调整
(4)应用程序
应用程序可通过以下方式存取数据:
●嵌入式SQL
●调用级接口
●ODBC
●应用编程接口(API)
(5)外部工具
外部工具提供其他附加功能。
第二章DB2安装
第一节建议的最小磁盘大小
DB2通用数据库AIX版:
DB2通用数据库
55MB
DB2GUI工具
20MB
DB2Connect支持(“DB2工作组版”服务器未提供)
1MB
HTML格式的联机文档(英语)
60MB
远东代码页转换支持
5MB
第二节注意事项
1.“DB2安装程序”的DB2setup命令仅可用于Bash、Bourne和Kornshell。
而不支持其他shell。
2.可以生成跟踪记录DB2setup.trc,以记录在安装期间所遇到的错误。
运行DB2setup命令,如下所示:
#db2setup-d
这会创建一个跟踪文件/tmp/DB2setup.trc。
第三节在AIX上进行安装
1、注册为具有超级用户权限的用户。
2、将CD-ROM插入驱动器。
3、#mount–vcdrfs–r/dev/rmt0/cdrom
4、cd/cdrom
5、输入./DB2setup命令以启动DB2安装程序。
安装DB2V6窗口打开。
6、按Tab键更改突出显示的选项,按Enter键选择或取消选择选项。
要显示想要安装的DB2产品的部件,选择定制。
要在任何时候返回至先前窗口,选择取消。
7、当安装完成后,DB2软件就安装在DB2DIR目录中,
DB2DIR=/usr/lpp/DB2_06_01
可以使用DB2安装程序创建其他实例,创建“管理服务器”,或在初始安装后添加其他产品或部件。
要创建或添加新的实例、“管理服务器”或其他DB2产品和部件,输入如下命令:
在AIX上
/usr/lpp/DB2_06_01/install/DB2setup
第四节验证安装
若未安装DB2工具,则可以通过创建SAMPLE数据库,并通过使用命令行处理器与该数据库相连来验证安装,如下所示:
1、作为具有系统管理(SYSADM)权限的用户向系统注册。
2、输入DB2sampl命令以便创建SAMPLE数据库。
创建SAMPLE数据库时,用数据库别名SAMPLE将它自动编目。
1、输入DB2start命令以启动数据库管理程序。
2、输入下列命令来与SAMPLE数据库相连,检索在部门20中工作的所有雇员的列表,并重设数据库连接:
DB2connecttosample
DB2"select*fromstaffwheredept=20"
DB2connectreset
注意:
在验证安装后,可除去SAMPLE数据库以释放磁盘空间。
输入DB2dropdatabasesample命令来卸下SAMPLE数据库。
第三章产生数据库并放置数据
第一节产生数据库框架
数据库、表空间和表格
每个实例都可以在其内部定义一个或多个数据库。
每个数据库可以和一个或多个数据库相关联。
表空间是数据库和储存与数据库中的表之间的逻辑层。
表空间产生于数据库中,表又产生于表空间中。
如图3.1
有两类表空间:
系统管理存储(SMS:
SystemManagedStorage)表空间
数据库管理存储(DMS:
DatabaseManagedStorage)表空间
SMS表空间的储存管理是由数据库管理者通过使用操作系统的文件管理功能进行管理的。
DMS表空间的储存管理是由数据库管理者管理的。
第二节表空间
DMS和SMS
在SMS表空间中,操作系统的文件管理负责分配及管理表格存放的空间。
通过控制写入每个文件的数据量,数据库管理者可均匀地把数据分配到各个表空间。
SMS表空间是缺省的表空间类型。
在DMS表空间中,由于数据库管理者控制储存空间,表空间是为适合数据库管理者而特别设计的文件系统的一种实现,表空间的定义包括一个设备和文件列表,这些设备和文件属于可存放数据的表空间。
DMS中表的放置
在DMS中,表空间包含用户定义的表,数据可以定义为:
1、普通的表空间储存普通的表数据
2、长类型的表空间储存长字段或LOB数据
3、表格里的数据量:
对于每一个非常大的表,或者单个表空间中小表积聚的组可能需要使用分离的表空间。
4、储存在表格里的数据:
允许有不经常访问的表,可以把他们放置速度较慢的设备上,另一方面,如果把需要经常访问的表格放置在高速的设备上,将会提高系统性能。
5、表的管理需求:
一些管理功能(例如备份和恢复)可以在表空间层上处理而不是在数据库或表层上执行。
这样就能频繁地备份那些经常修改的表空间,而只能偶尔地备份很少的表空间,一个表可以被多个DMS表空间划分,这样为了提高性能就可以把下列类型的数据分离开:
●长字段和LOB数据
●索引信息
●普通的表数据
长字段和LOB数据以及索引同普通的表数据可以分离开,但一个表中的普通数据却不能划分到不同的表空间中。
容器和表空间
容器用于描述对一个表空间的空间分配。
一个容器可以是下列内容:
1、文件
2、目录
3、逻辑卷标
一个表空间里可用的容器类型取决于表空间的类型,用户可以从几种容器中选择一种作为表空间的储空间,根据操作系统的功能的不同,容器可能代表一个设备的空间,多个设备的空间,或者整个设备,数据库管理者则把他们看作一个完整的“逻辑盘”,数据库管理者无需知道容器是怎样映射到物理储存设备上的,为了进行I/O调度,每个容器被当作一个独立的储存设备,为了提高DMS表空间的容量,可以往上加一个或多个容器。
在AIX下,如果容器是一个逻辑卷标,则它可以是一个最多有两份拷贝的镜像卷标。
容器和范围
范围(extent)是表空间容器内分配的空间。
范围是分配给单个数据库对象的。
范围的空间由多个页组成,在数据库产生时缺省范围是32个4K页。
如图3.2
逻辑表空间的物理映射
数据按页写入容器
页被写入范围(Extent)
数据库管理程序会尽可能均匀地把数据分散到各个容器里,为了达到这个目的,数据库管理者在写入下一个容器时对每一个容器要写入一个预定义的最大页数,这个数目称为容量范围。
一旦数据库管理者对表空间的每一容器都写入了这个页数,它又会从头一个容器开始写,这种换状写入容器的处理方式是为了使负载保持平衡。
DMS表空间-最低需求
在DMS表空间里需要有一定量的开销。
空间需求有:
1、每个容器有一个标签,占一页
2、除了数据之外,每个表空间需要3个extend
3、表空间里每个对象有两个初始范围:
一个用于对象的范围映像,一个用于对象的数据
在创建DMS表空间时,容器里必须有足够的空间容纳表空间的5个范围。
建立表空间1页/容器
1extend
表空间元数据1extend
1extend
3extend+1页
建立表(对象)1extend
1extend
容器中所需的最小空间=5extend+1页
如果EXTENTSIZE=32页,那么容器中要求提供5*32+1=161页
创建目录表-最低空间需求
在SMS表空间中,目录表将占用大约1.6MB的初始空间。
在使用DMS空间时,如果使用了缺省的范围大小为32,目录表空间一开始将占用大约20MB空间;如果使用了最小的范围大小2,目录表空间一开始将占用大约2.8MB空间。
数据库一旦创建,三个表空间将随之产生,SYSCATSPACE用于系统目录,USERSPACE用于用户自定义表,TEMPSPACE用于临时表,如果在使用CREATEDATABASE命令时不带任何表参数,数据库管理者将使用SMS目录容器创建这些表空间,他们的范围大小被设为缺省值。
容器数目被设为1,因为没有指定NUMSEGS.
创建表空间的语法
命令CREATETABLESPACE用于在数据库内创建新的表空间,为表空间指定容器,记录表空间的定义及目录中的属性,只有具有YSYADM或SYSCTRL权限的用户才可以创建表空间
注意:
应创建尽可能少的临时表空间,把所有的容器放在一个表空间比把它们分开放在不同的表空间好的多,如果可能的话,让所有的临时表空间具有同样的大小。
对于文件容器,字符串必须是一个绝对或相对文件名,对于设备容器,字符串必须是一个设备名,设备必须存在。
在所有的数据库上,所有的容器必须是唯一的,一个容器只能属于一个数据库,它们的大小可以不一样,但是大小一样的话,性能则会得到更高。
创建SMS表空间
对于一个SMS表空间,应在创建表空间时使用目录路径显示指定容器。
如:
createtablespaceenterprisemanagedbysystem
using(‘/database/firstcontain’,’/database/secondcontain’,’/thirdcontain’)
创建DMS表空间
在AIX下,容器类型可以是一个文件,设备或两者的混合。
如果指定一个设备,其路径必须是一个设备名和一个“原始”设备的详细说明。
表空间的创建者必须具有对正在使用的设备的写权限
createtablespacehumanresmanagedbydatabase
using(device’/dev/rdata1’1024,device‘/dev/rdata2’1024)
EXTENTSIZE8
DMS表空间的最大为:
●普通表空64GB
●长字段和LOB表空间2TB(2*1024GB)
●临时表空间2TB
使用一个设备(仅使用于AIX)
当空间要被划分为逻辑卷标时(SMIT或mklv),它是按逻辑分区分配的,每一个逻辑分区(缺省)为1024个4K页。
如果在一个容器内使用逻辑卷标,指定了少于总页数的页,其余的没被分配的页则不能为其他的所用。
要使用一个逻辑卷标,需通过根创建一个逻辑卷标:
#mklv–y‘data’rootvg1
#ls–l/dev/*data1
brw-rw---1rootsystem…./dev/data1
crw-rw----1rootsystem…./dev/rdata1
#chowninstnn.admnn/dev/rdata1
SMS和DMS表空间的选择
在下列情况下选择SMS更为方便:
1、表非常小,即使是DMS表空间允许的最小范围(2个4K页或8K)也要浪费空间。
2、正在进行的测试不需要性能优化
3、从DB2版本1的数据库迁移过来
在下列情况下选择DMS
1.用索引来访问表空间,并且有最少两个盘来分别存储索引表空间和数据表空间。
2.表中将存储很大的对象
3.参与了很多数据库的开发
4.表的数据、索引和长数据都可以存在不同的表空间中,但是,表格的数据不能在表空间中分隔。
第三节通过数据放置提高系统性能
设想,一个用户需要一个很大的数据库,我们要把雇员的简历和照片放在数据库里,也许还有以前一些我们没有考虑到的数据类型要储存在数据库里,为了性能,我们把索引分布在不同的表空间(和磁盘上),多个查询可以并行地读数据和索引,且在同一时刻查找索引和表的数据。
但是,对于单个查询,数据库管理程序必须在读数据前读入索引,这种情况下,性能的提高收益于读/写头移动的减少,这种移动在索引和数据的I/O请求发生在同一磁盘上时是不可避免的,所以考虑把表空间放在更快的介质上。
如果需要频繁地访问表的话,则考虑把整个表放置在分离的表空间,也可以控制表格在磁盘上的放置,例如,在AIX下,把经常访问的表存放在离磁盘中心更近的位置就可以更快地进行存储。
创建别名
别名是一种访问表或视图的间接方法,这种语句可以独立表或视图的资格名,如果表或视图名发生改变,则只需改变别名的定义,创建别名的语法如下:
CREATEALIASSINGERSFORARTISTS
DROPALIASALIAS_NAME
第四章数据移动
第一节概述
DB2中实现数据移动功能的主要工具有三个:
EXPORT、IMPORT和LOAD。
其中EXPORT的功能是将表中的数据导出到外部文件中;而IMPORT和LOAD的功能是将外部文件中的数据导入到一个表中。
IMPORT和LOAD的功能类似,但在实现手段上有很大差异,下面详细阐述。
能够被DB2所支持用作数据移动的中间文件的格式有四种:
非定界ASCII码文件(ASCII)、定界ASCII码文件(DELASCII)、WSF文件和PC/IXF文件。
其特点是:
1、ASCII:
纯文本格式,每个数据列之间中有分隔符,但数据行之间没有分隔符。
ASCII文件不能被EXPORT支持。
、
2、DEL:
纯文本格式,数据列之间有分隔符,数据行之间也有分隔符。
3、WSF:
Lotus1-2-3工作表格式。
WSF文件不能被LOAD支持。
4、PC/IXF:
一种非常通用的格式,被多种数据库管理系统所支持。
可以用作在异种数据库中进行数据转移。
第二节Export
Export实用程序可作为一种从数据库中抽取数据形成本地文件的方法。
Export实用程序用来把数据从表中拷贝到输出文件供其他数据库或表单程序使用,这一文件可用来载入表,它提供了一种把数据从一个数据库移到另一个数据库中的便捷方法。
使用方法如下:
EXPORTTOfilenameOF{IXF|DEL|WSF}
[LOBSTOlob-path[{,lob-path}...]]
[LOBFILElob-file[{,lob-file}...][MODIFIEDBY{filetype-mod...}]
[METHODN(column-name[{,column-name}...])][MESSAGESmessage-file]
{select-statement|HIERARCHY{STARTINGsub-table-name|
(sub-table-name[{,sub-table-name}...])}[WHERE...]}
下面是EXPORT的一个例子:
db2connecttosample//在EXPORT数据之前,一定要先连接数据库。
db2EXPORTtomyfileofixfmessagesmsg.out
selectstaff.name,staff.dept,org.locationformorg,staff
whereorg.deptname=staff.dept
在该例中,staff和org中的相应数据将被输出到myfile文件中,该文件为PC/IXF格式。
第三节Import
IMPORT可以被看作是EXPORT的逆过程,用于将数据从外部文件中导入到数据库之中。
它提供了一种把数据从一个数据库移到另一个数据库中的便捷方法。
在执行IMPORT之前,一定要先连接到数据库上;而且,由于IMPORT需要一个表级锁,所以对于目标表,要完成目前所有的交易并释放所有的锁。
Import实用程序用来把输入文件数据插入表中,插入文件包含来自其他数据库或表单程序的数据。
IMPORT的语法如下:
IMPORTFROMfilenameOF{IXF|ASC|DEL|WSF}
[LOBSFROMlob-path[{,lob-path}...]][MODIFIEDBYfiletype-mod...]
[METHOD{L(col-startcol-end[{,col-startcol-end}...])
[NULLINDICATORS(col-position[{,col-position}...])]|
N(col-name[{,col-name}...])|
P(col-position[{,col-position}...])}]
[COMMITCOUNTn][RESTARTCOUNTn][MESSAGESmessage-file]
{{INSERT|INSERT_UPDATE|REPLACE|REPLACE_CREATE}
INTO{table-name[(insert-column,...)]|hierarchy-description}
|CREATEINTO{table-name[(insert-column,...)]|
hierarchy-description{ASROOTTABLE|UNDERsub-table-name}
[INtablespace-name[INDEXINtablespace-name][LONGINtablespace-name]]}
[datalink-specification]
下面是一个IMPORT的例子:
db2connecttomusicdb
db2IMPORTfromartexprtofixfmessagesartmsg
createintoartistsin
indexi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DB2 培训 文档 new