db2培训资料1docWord格式文档下载.docx
《db2培训资料1docWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《db2培训资料1docWord格式文档下载.docx(41页珍藏版)》请在冰豆网上搜索。
在它的程序包中,包含了DB2Connect企业版,允许Intel平台和UNIX平台的客户端应用程序访问大型机和AS/400上的数据库服务。
UDB企业版可以运行在Windows、OS/2、Linux以及UNIX平台。
UDB企业扩展版:
简称为UDBEEE,适用于大规模的企业应用。
大规模的企业应用的基本要求是稳定(宕机时间短)和高效(处理速度快),UDB企业扩展版能够利用群集(cluster)和大规模并行处理(MPP)技术提高系统的稳定性和性能。
UDB丰富的产品线给用户提供了极大的选择余地。
是构造企业信息系统的基石。
1.2、对DB的存取方法
对DB的存取可以通过SQL语言和UDB内置的API两种手段来实现。
不过这两种手段不是能够相互替代的。
SQL语言是国际标准,各数据库厂商在实现时一般会有一定程度的扩展。
SQL语言主要是完成对数据的查询和更改、数据库对象的建立及权限的控制等功能。
而API主要是针对数据库的管理任务,比如数据的备份和恢复、数据库服务的启动和停止等工作。
在一个应用程序中,可能既需要用到SQL语言来完成对数据的存取,同时又需要调用API来完成管理工作。
1.3、从WEB上存取UDB
Internet的广泛使用带来了从WEB对企业数据进行存取的要求。
如果开发人员要开发基于Web的UDB应用程序,可以使用以下方法:
1.3.1、通过JDBC来存取UDB
JDBC是SUN公司提供的利用JAVA语言对关系型数据库进行存取的标准。
在WEB上我们可以通过编写JAVAApplet或者JAVAServlet来实现对UDB的存取。
其中Applet运行在客户端,只需要一个支持JAVA的浏览器(如IE和Netscape等)即可运行,客户端不需要安装其它软件。
Applet可以通过指定端口与服务器端的JDBC服务器进行通信,提供对数据的存取。
Servlet是适应当今瘦客户机发展方向的一种编程模式,具有效率高,可移植性好等特点。
Servlet运行在WEB服务器端,需要Servlet引擎(如WebsphereApplicationServer)的支持,服务器端通常还需要安装Run-timeClient组件。
1.3.2、通过Net.Data来存取UDB
Net.Data是IBM公司开发的通过WEB对关系型数据库进行存取的工具。
它提供了一种宏语言的开发和执行环境,同时具有HTML的简易性和SQL语言的功能。
开发人员可以按照Net.Data的语法编写Net.Data宏,WEB用户可以通过HTML页面上的链接来调用相应的Net.Data宏,Net.Data解释器会对其进行分析,可以提取Net.Data宏中的SQL成分,提交给数据库,然后按照Net.Data宏中规定的格式将数据库管理器传回的结果格式化成HTML页面,传递给浏览器。
1.3.3、其它方法
除了以上提到的方法之外,还有很多其他的解决方案。
如ActiveServerPage、PHP等,具体的选择要看实际的需要。
1.4、实例的概念和管理
1.4.1、实例的概念:
数据库管理器(DatabaseManager)是提供数据库管理控制功能的程序。
实例(Instance)就是逻辑的数据库管理器,是真正的数据库管理器在内存中的映象。
实例提供了一个可标识的数据库服务器的环境。
在安装了UDB的工作站上可以同时创建和运行多个实例,每个实例都有自己的内存空间,并具有单独的权限控制。
一般来说,在一台机器上运行多个实例基于以下几种考虑:
●对数据库环境进行调试和开发的需要
如果直接在提供正式数据服务的实例内部对进行各种调试和开发,有可能会影响系统的性能,甚至会使整个系统崩溃。
这时用户可以创建一个新的实例,在新的实例内进行调试和开发,因为各个实例都有自己的内存空间,一个实例中的工作不会干扰其他实例正常的数据库服务。
●出于对安全性的考虑。
因为每个实例有单独的权限控制,我们可以为不同的实例设定不同的管理人员,加强安全性的控制。
比如你可以把你的个人信息存放在由你控制的实例中,其他的实例拥有者无权查看。
●出于优化的考虑
不同的数据库可能会需要不同的数据库管理器的配置参数来达到最优的性能,如果把它们放到同一个实例中,不能满足需要。
当然,系统中的实例不是越多越好,如果在系统中创建的实例过多,不仅会造成额外的资源消耗(内存、硬盘空间等),也会增大管理开销。
每个实例在创建后都会有自己的配置文件,文件内的参数会影响该实例的性能。
数据库在建立时还会自动地产生一组系统编目表,系统编目表实际上就是DB2数据库的数据字典,它详尽地描述了数据的物理结构和逻辑结构。
在系统编目表中保存着各种数据库对象的定义、用于查询优化的统计信息以及系统授权信息。
是一个数据库中极其重要的组成部分。
1.4.2、实例的管理:
要创建一个实例,可以使用db2icrt命令,命令语法如下:
db2icrt[-aAuthType]
[-pPortName]
[-sInstType]
-uFencedIDInstName
其中:
-aAuthType是实例的认证类型(可以为SERVER、CLIENT、DCS、DCE、SERVER_ENCRYPT、DCS_ENCRYPT或DCE_SERVER_ENCRYPT中的一种)。
-pPortName是此实例要使用的端口名或端口号。
-sInstType是要创建的实例的类型(eee、ee或client)。
-uFencedID是用户名,被隔离UDF和被隔离的存储过程将在该用户名之下运行。
InstName是实例的名称。
要列出当前系统上创建的所有实例,可以使用db2ilist命令。
要删除某个实例,可以使用db2idrop命令。
1.4.3、实例级的操作
在DB2中,某些任务只能在实例级别上执行。
比如,创建数据库,更新数据库管理器配置参数等工作。
这时候,就需要应用程序连接到特定的实例之上,然后才能进行操作。
要连接到一个实例上,用户可以使用ATTACH命令,语法为:
attachto[实例名]user[用户名]using[用户口令]
如果用户在执行实例级别的任务时,没有使用ATTACH命令,则系统将使用在DB2INSTANCE环境变量中指定的缺省实例来试图完成该任务。
1.4.4、数据库管理服务器(DAS):
UDB的数据库管理服务器实际上也是一个实例,只不过这个实例不是用于数据服务的,而是用于管理目的。
数据库管理服务器提供以下功能:
●接受远程客户端的管理请求,将远程的管理请求在数据库服务器端实现
●允许用户进行任务调度
●允许用户对系统进行远程监控
●响应DB2Discovery,为其提供系统信息
数据库管理服务器可以在系统安装时自动生成,也可以在安装后手工创建,在一个数据库节点中只能有一个数据库管理服务器。
1.4.5、数据库管理服务器的使用
如果没有在安装时创建数据库管理服务器,可以使用命令手工创建。
具体命令如下:
dasicrt管理服务器的名字(UNIX平台)
db2admincreate(INTEL平台)
启动和停止数据库管理服务器的命令:
db2adminstart启动管理服务器
db2adminstop停止管理服务器
显示当前数据库管理服务器名:
dasilist(UNIX平台)
db2admin(INTEL平台)
删除当前数据库管理服务器:
dasidrop管理服务器的名字(UNIX平台)
db2admindrop(INTEL平台)
1.5、DB2环境变量的设置
1.5.1、DB2环境变量
除了实例配置文件和数据库配置文件中所包含的参数之外,还有一些配置参数对数据库环境起到控制作用。
这些配置参数分为三类:
环境变量:
这类变量的设置方法因操作系统的不同而有所差异。
例如在WindowsNT环境中,选择控制面板系统环境来设置;
在OS/2中则要更改config.sys文件。
这类变量在更改后很可能需要重新启动系统才生效。
实例级登记项:
作用范围是某一特定实例。
可以用db2set命令来设置。
更改后需要重新启动该实例才生效。
全局级登记项:
作用范围是整个数据库系统。
更改后需要重新启动所有实例才生效。
举例:
变量类型
变量名称
变量作用
环境变量
DB2INSTANCE
缺省的DB2实例,如果没有显式地连接到某个实例,则所有的操作都被假定是对该实例进行的。
DB2DBDFT
缺省的数据库,如果没有显式地连接到某个数据库,则所有的操作都被假定是对该数据库进行的。
实例级登记项
DB2COMM
设置该实例用那种网络协议与客户端通信。
全局级登记项
DB2SYSTEM
该DB2系统的名字。
DB2ADMINSERVER
该系统上所使用的数据库管理服务器的名字
系统在检查系统的变量时,按照先环境变量,再实例级登记项、最后全局级登记项的顺序来搜索。
1.5.2、db2set命令
db2set命令可以用来管理和设置DB2的登记项,命令语法如下:
db2set<
option>
variable=value
其中常用的命令选项:
-g:
更改全局级变量
-i:
instance如果更改的是实例登记项,指定该实例的名字
-l:
列出所有的实例登记项
-lr:
列出所有的登记项
例子:
db2setDB2ADMINSERVER显示当前的数据库管理服务器
db2setDB2COMM=TCPIP,NETBIOS
设置缺省实例的交流协议为TCP/IP和NETBIOS
db2set–all列出当前所有的登记项的值
1.6、访问控制—权限
1.6.1、DB2访问控制的层次结构
SYSCTRL
DB2中的访问控制层次如上图所示。
可以对DB2的用户赋于不同级别的权力和各种特权。
其中权力(Authorities)是对一组数据库对象进行存取的特权集,有特定的名称。
而特权(Privileges)则是对特定对象访问的权利。
权力(Authorities)分为以下级别:
(1)、SYSADM—系统管理
该权限是一个实例中的最高权限。
可以完成一个实例范围内任何管理工作。
可以通过实例配置变量中的SYSADM_GROUP参数来指定一个用户组拥有该权限。
如果该参数为空,在WindowsNT环境下,创建该实例的用户拥有该权限;
在UNIX环境下,与实例同名的用户拥有该权限。
(2)、SYSCTRL—系统控制
该权限可以完成系统中的管理功能,但不能访问数据。
但拥有该权限的用户可以创建数据库,并管理自己创建的数据库中的数据。
可以通过实例配置变量中的SYSCTRL_GROUP参数来指定一个用户组拥有该权限
(3)、SYSMAINT—系统维护
该权限只能完成系统中与维护有关的任务,但不能访问数据,而且拥有该权限的用户不能创建数据库。
可以通过实例配置变量中的SYSMAINT_GROUP参数来指定一个用户组拥有该权限。
(4)、DBADM—数据库管理
该权限是数据库级的权限,可以完成数据库的管理工作。
该权限可以通过SQL语句授予。
四种级别的权力对比如下:
功能
SYSADM
SYSMAINT
DBADM
移植数据库
可以
更改实例配置参数
赋予或撤消DBADM权限
指定SYSCTRL组
指定SYSMAINT组
更改数据库目录
中断应用程序
创建/删除数据库
创建/删除表空间
利用恢复建立一个数据库
更改数据库配置参数
备份数据库和表空间
恢复一个存在的数据库
执行前滚恢复
启动/停止实例
恢复表空间
使用TRACE工具
获取实例和数据库的快照信息
查询表空间状态
更改日志历史文件
休止表空间
使用RUNSTATS工具
对表做LOAD
读日志文件
创建/删除/激活事件监视器
第二章DB2的图形用户界面
2.1、DB2的图形界面概述
在UDB之前的DB2产品中,提供给用户的图形界面很少。
大部分的管理工作和操作只能通过手工键入命令的方式来实现。
UDB的出现改变了这一现状,它提供了丰富的图形化工具,使得管理工作变得更加轻松。
2.2、DB2的图形化工具
2.2.1、客户端配置工具—CCA
要对远程数据库进行存取,首先要设置从客户端到远程数据库的网络连接。
这个过程是一个比较复杂的过程,需要用户对网络参数、配置命令要有一定程度的了解。
CCA就是一个用来帮助用户设置从客户端到远程数据库连接,减轻用户负担的工具。
它提供了三种配置方法供用户选择:
a、人工方法
该方法对用户的要求较高,需要用户了解要连接的数据库服务器的相关信息,例如使用那些网络协议、要连接的数据库的名称等。
用户可以通过CCA提供的界面输入网络连接所需信息,完成连接配置。
b、自动搜索方法
该方法不需要用户有任何网络知识,它会自动利用一种叫DB2Discovery的机制在局域网中自动搜索DB2服务器。
它会与远程数据库节点上的数据库管理服务器(
DAS)进行通讯,然后将数据库管理服务器搜集的信息返回。
用户可以根据返回信息选择要连接的数据库。
c、载入配置文件方法
该方法允许从要连接的数据库所在的服务器端或者从已经配置成功的客户端生成一个配置文档。
在文档中包含了相应的配置信息,用户可以在CCA中载入该文档,完成连接配置。
用户可以通过以上任一种方法进行网络配置,完成对远程的数据库的连接,CLI/ODBC数据源的配置,将应用程序绑定到数据库上等工作。
CCA除了可以从DB2桌面的文件夹中进行存取,也可以在命令行下键入db2cca命令存取。
具体界面如下图。
2.2.2、产品信息和文档
UDB提供了丰富的帮助信息。
几乎所有的信息都可以通过信息中心(InformationCenter)来存取。
在信息中心中,我们可以按照以下几种方法获取相关信息:
任务:
获取完成特定任务所需的信息
书籍:
UDB随机提供了许多技术手册,如《管理员手册》、《开发人员手册》等等。
用户可以通过这些联机手册来查找信息。
疑难:
可以根据你遇到的疑难错误来查找相应的解决方法。
样例程序:
可以查找到各种语言、各种接口进行数据库编程的例子。
Web信息:
指引你到相关Web站点上获取相应的信息。
除了这几种手段以外,信息中心还提供了强大的搜索工具,帮助你在联机手册中进行全文检索,找到匹配的关键词。
信息中心除了可以从DB2桌面的文件夹中进行存取,也可以在命令行下键入db2ic命令存取。
具体界面见下图。
除了信息中心之外,还有一个小程序—第一步(FirstStep)来帮助新用户按照一系列的步骤来熟悉数据库操作。
它可以帮助用户建立一个样例数据库,查看样例数据库中的内容,以及对样例数据库进行操作。
FirstStep除了可以从DB2桌面的文件夹中进行存取,也可以在命令行下键入db2steps命令存取。
2.2.3、命令中心(CommandCenter)
命令中心是用于输入DB2命令的图形化工具。
可以说,命令中心就是一个图形化的命令行处理器(CLP),我们可以在命令中心中输入DB2命令或调用现成的命令脚本,执行后查看输出结果。
命令中心可以将已输入的命令作为脚本保存在脚本中心中,也可以对保存在脚本中心中的脚本加以调度。
另外,命令中心一个非常有用的功能是允许用户通过它查看SQL语句的存取计划,存取计划中包含着SQL语句执行情况的统计结果,用户可以通过命令中心为SQL语句生成存取计划,并以可视化的形式表现出来。
命令中心可以通过系统菜单(WindowsNT操作系统)或控制中心(ControlCenter)来调用,也可以通过在命令行下键入db2cctr命令来执行。
2.2.4、脚本中心(ScriptCenter)
脚本中心的主要功能有:
●创建、编辑、保存和运行命令脚本(可以包括DB2命令和操作系统命令)
●运行一个以前保存的脚本文件
●对一个以前保存的命令脚本进行调度,指定其在特定的时间的运行,被调度的作业将以暂挂作业的形式将在下面介绍的日志工具中被监控。
脚本中心的优点在于可以将命令以文件的方式存放,重复利用,并且脚本中可以直接包含操作系统命令(在CLP中如果要执行操作系统命令需要在命令的前面加“!
”)。
脚本的运行状态也可以在日志工具中查看到。
脚本中心的具体界面如下图。
2.2.5、日志(Journal)
通过日志可以查看几类信息:
●作业信息
包括暂挂作业(PendingJob)信息、正在运行的作业(RunningJob)信息以及已经完成的作业的信息。
对于PendingJob,可以对其进行重新调度、显示与它相关的脚本或立即运行它。
●恢复历史信息
提供了对数据库进行的备份、恢复过程的详细信息,比如:
备份的时间、备份的类型等,这些信息实际都被保存在一个称为恢复历史文件的文件当中。
●警报信息
包含了系统发出的警报信息。
●系统信息
包含了UDB数据库管理器生成的信息。
日志除了包含以上信息以外,也可以对已经被脚本中心调度的作业重新进行调度。
日志的具体界面见下图。
2.2.6、警报中心(AlertCenter)
警报中心搜集所有数据库管理器发出的警告信息,管理人员可以根据这些警告信息对某些系统错误进行分析。
查找出系统的潜在问题。
可将“警报中心”设置为自动打开,显示已超过其阈值并因此处于警报或警告状态的各种受监控对象。
阈值的设置用可从“控制中心”调用的“性能监控程序”来完成。
图符的颜色指示警告的严重性。
红色图符指示报警信号。
黄色图符指示警告。
并显示为性能变量返回的数据。
1.2.7、许可证中心(LicenseCenter)
许可证中心可以对UDB的许可证信息提供集中管理,可以允许用户增添、更改和删除UDB产品的许可证。
用户也可以浏览当前安装在UDB系统上的许可证信息,比如:
产品名称、产品的版本、过期时间及允许的用户数目等信息。
具体界面见下图。
2.2.8、控制中心(ControlCenter)
控制中心是UDB的管理工具的核心,绝大多数的管理任务和对其他管理工具的存取都可以通过控制中心来完成。
控制中心有如下组成部分:
菜单条:
菜单条在屏幕的顶部。
从菜单条选择菜单允许您执行许多功能,如关闭DB2工具、存取图形工具以及存取联机帮助和产品信息。
可通过单击菜单条上的每一项来熟悉这些功能通过菜单的方式完成对控制中心的存取。
工具栏:
位于菜单条下方的一组图形按钮,通过点击可以调用其他的管理工具,如命令中心、脚本中心等以上所提到的工具
对象窗格:
对象窗格位于屏幕的左边窗格中,它按照UDB数据库对象的层次关系(UDB系统--实例—数据库--数据库内部对象)对系统进行组织,以树状的形式显示。
用户可以方便地从中找到要管理的对象。
对象窗格中的某些对象包含其他对象。
对象左面的加号(+)指示该对象是折叠的。
可单击加号展开它。
当展开对象后,在它的左面会出现一个减号(-)。
要折叠此对象,单击减号。
内容窗格:
位于屏幕的右边窗格中。
此窗格显示在对象窗格中选定对象包含的所有对象,例如,若您在对象窗格中选择表文件夹,数据库中所有的表都将出现在“内容”窗格中。
若您选择数据库文件夹,内容窗格会变为实例中的所有数据库。
用户可以在对象窗格或内容窗格中选择要操作的对象,按鼠标右键按出弹出式菜单,能对该对象所进行的所有操作几乎都包含在菜单中。
控制中心除了可以从