您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > DB2 培训资料(doc 35)
第一章DB2UDB概况1.1、DB2UDB的产品家族UDB(UniversalDatabase)的前身为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提供了不同级别的产品,对小到个人用户,大到跨国企业的不同需求提供支持。以下是对UDB6.1版本不同级别产品的特点介绍:UDB卫星版:是专门为移动用户设计的小型数据库产品。适合于偶尔连接DB2控制服务器来与公司系统交换数据的单用户系统。它既能允许用户对本地数据进行各种修改,又可以接受远程卫星控制器的集中管理,减轻本地用户的管理负担。该版本只能运行在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)技术提高系统的稳定性和性能。UDB丰富的产品线给用户提供了极大的选择余地。是构造企业信息系统的基石。1.2、对DB的存取方法对DB的存取可以通过SQL语言和UDB内置的API两种手段来实现。不过这两种手段不是能够相互替代的。SQL语言是国际标准,各数据库厂商在实现时一般会有一定程度的扩展。SQL语言主要是完成对数据的查询和更改、数据库对象的建立及权限的控制等功能。而API主要是针对数据库的管理任务,比如数据的备份和恢复、数据库服务的启动和停止等工作。在一个应用程序中,可能既需要用到SQL语言来完成对数据的存取,同时又需要调用API来完成管理工作。1.3、从WEB上存取UDBInternet的广泛使用带来了从WEB对企业数据进行存取的要求。如果开发人员要开发基于Web的UDB应用程序,可以使用以下方法:1.3.1、通过JDBC来存取UDBJDBC是SUN公司提供的利用JAVA语言对关系型数据库进行存取的标准。在WEB上我们可以通过编写JAVAApplet或者JAVAServlet来实现对UDB的存取。其中Applet运行在客户端,只需要一个支持JAVA的浏览器(如IE和Netscape等)即可运行,客户端不需要安装其它软件。Applet可以通过指定端口与服务器端的JDBC服务器进行通信,提供对数据的存取。Servlet是适应当今瘦客户机发展方向的一种编程模式,具有效率高,可移植性好等特点。Servlet运行在WEB服务器端,需要Servlet引擎(如WebsphereApplicationServer)的支持,服务器端通常还需要安装Run-timeClient组件。1.3.2、通过Net.Data来存取UDBNet.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命令来设置。更改后需要重新启动该实例才生效。全局级登记项:作用范围是整个数据库系统。可以用db2set命令来设置。更改后需要重新启动所有实例才生效。举例:变量类型变量名称变量作用环境变量DB2INSTANCE缺省的DB2实例,如果没有显式地连接到某个实例,则所有的操作都被假定是对该实例进行的。环境变量DB2DBDFT缺省的数据库,如果没有显式地连接到某个数据库,则所有的操作都被假定是对该数据库进行的。实例级登记项DB2COMM设置该实例用那种网络协议与客户端通信。全局级登记项DB2SYSTEM该DB2系统的名字。全局级登记项DB2ADMINSERVER该系统上所使用的数据库管理服务器的名字系统在检查系统的变量时,按照先环境变量,再实例级登记项、最后全局级登记项的顺序来搜索。1.5.2、db2set命令db2set命令可以用来管理和设置DB2的登记项,命令语法如下:db2setoptionvariable=value其中常用的命令选项:-g:更改全局级变量-i:instance如果更改的是实例登记项,指定该实例的名字-l:列出所有的实例登记项-lr:列出所有的登记项例子:db2setDB2ADMINSERVER显示当前的数据库管理服务器db2setDB2COMM=TCPIP,NETBIOS设置缺省实例的交流协议为TCP/IP和NETBI
本文标题:DB2 培训资料(doc 35)
链接地址:https://www.777doc.com/doc-957579 .html