




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、79/79第一章 DB2 UDB 概况1.1、DB2 UDB的产品家族 UDB(Universal Database )的前身为DB2,是IBM公司开发的关系型数据库治理系统。从其诞生之日开始,DB2就定位于要为各种规模的企业提供稳定、高效的数据治理支持。能够讲,DB2是当前适用范围最广泛的数据库产品。我们对DB2产品的划分通常分为两种方法:一种方法是按其所能支持的硬件和操作系统平台进行划分,另一种方法是按其所能支持的用户规模的不同进行划分。 DB2产品几乎覆盖了当前所有流行的硬件和操作系统平台。在大型机操作系统上,有DB2 for OS/390、DB2 for MVS/ESA、DB2 for
2、 VSE 和DB2 for VM等多种产品;在由IBM公司设计的小型机AS/400上,DB2差不多嵌入在操作系统OS/400之中,成为其不可分割的一部分。DB2对UNIX操作系统的支持同样十分广泛,能够在AIX、HP-UX、 Solaris、SCO-UNIX、SINIX 等多种系统上找到其相应的版本。另外,在PC操作系统上,DB2能够对Window 9x、Windows NT以及OS/2等多种操作系统提供支持。UDB 6.1还增加了对Linux操作系统的支持。以上我们所提到的只是DB2服务器所能运行的平台,DB2的客户端所能支持的平台更为广泛,除了以上提到的所有平台之外,DB2的客户端还能运行
3、在Dos、Windows 3.x、Mac OS以及SGI公司的IRIS系统之上。UDB产品除了能够对各种硬件和操作系统平台进行支持之外,为了适应不同用户群的需要,UDB提供了不同级不的产品,对小到个人用户,大到跨国企业的不同需求提供支持。以下是对UDB 6.1版本不同级不产品的特点介绍: UDB卫星版:是专门为移动用户设计的小型数据库产品。适合于间或连接 DB2操纵服务器来与公司系统交换数据的单用户系统。它既能同意用户对本地数据进行各种修改,又能够同意远程卫星操纵器的集中治理,减轻本地用户的治理负担。该版本只能运行在Windows平台。(该版本属于UDB 6.1版本新增版本)UDB个人版:是专
4、门为个人用户设计的功能完备的个人数据库产品,同意用户在本地建立数据库、更改数据、开发应用程序从本地对数据库治理系统进行存取以及通过内置的客户端对远程数据库服务器进行治理。该版本的限制在于不能对远程应用程序提供全面支持。该版本能够运行在Windows、OS/2以及Linux平台。UDB工作组版:适用于小型局域网的数据治理需求。具有UDB个人版的全部功能,并能够对远程应用程序提供全面支持。该版本能够运行在Windows、OS/2以及Linux平台。(UDB工作组版 5.0能够运行在UNIX平台)UDB企业版: 简称为UDB EE,适用于企业级的数据治理需求。具有UDB工作组版的全部功能,并能够利用
5、对称多处理(SMP)技术提高系统性能。在它的程序包中,包含了DB2 Connect企业版,同意Intel平台和UNIX平台的客户端应用程序访问大型机和AS/400上的数据库服务。UDB企业版能够运行在Windows、OS/2、Linux以及UNIX平台。UDB企业扩展版:简称为UDB EEE,适用于大规模的企业应用。大规模的企业应用的差不多要求是稳定(宕机时刻短)和高效(处理速度快),UDB企业扩展版能够利用群集(cluster)和大规模并行处理(MPP)技术提高系统的稳定性和性能。UDB丰富的产品线给用户提供了极大的选择余地。是构造企业信息系统的基石。1.2、对DB的存取方法 对DB的存取能
6、够通过SQL语言和UDB内置的API两种手段来实现。只是这两种手段不是能够相互替代的。SQL语言是国际标准,各数据库厂商在实现时一般会有一定程度的扩展。SQL语言要紧是完成对数据的查询和更改、数据库对象的建立及权限的操纵等功能。而API要紧是针对数据库的治理任务,比如数据的备份和恢复、数据库服务的启动和停止等工作。在一个应用程序中,可能既需要用到SQL语言来完成对数据的存取,同时又需要调用API来完成治理工作。 1.3、从WEB上存取UDB Internet的广泛使用带来了从WEB对企业数据进行存取的要求。假如开发人员要开发基于Web的UDB应用程序,能够使用以下方法:1.3.1、通过JDBC
7、来存取UDBJDBC是SUN公司提供的利用JAVA语言对关系型数据库进行存取的标准。在WEB上我们能够通过编写JAVA Applet或者JAVA Servlet来实现对UDB的存取。其中Applet运行在客户端,只需要一个支持JAVA的扫瞄器(如IE和Netscape等)即可运行,客户端不需要安装其它软件。Applet能够通过指定端口与服务器端的JDBC服务器进行通信,提供对数据的存取。Servlet是适应当今瘦客户机进展方向的一种编程模式,具有效率高,可移植性好等特点。Servlet运行在WEB服务器端,需要Servlet引擎(如Websphere Application Server)的支
8、持,服务器端通常还需要安装Run-time Client组件。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、其它
9、方法除了以上提到的方法之外,还有专门多其他的解决方案。如Active Server Page、PHP等,具体的选择要看实际的需要。1.4、实例的概念和治理 1.4.1、实例的概念: 数据库治理器(Database Manager)是提供数据库治理操纵功能的程序。实例(Instance)确实是逻辑的数据库治理器,是真正的数据库治理器在内存中的映象。实例提供了一个可标识的数据库服务器的环境。 在安装了UDB的工作站上能够同时创建和运行多个实例,每个实例都有自己的内存空间,并具有单独的权限操纵。一般来讲,在一台机器上运行多个实例基于以下几种考虑:对数据库环境进行调试和开发的需要 假如直接在提供正式数
10、据服务的实例内部对进行各种调试和开发,有可能会阻碍系统的性能,甚至会使整个系统崩溃。这时用户能够创建一个新的实例,在新的实例内进行调试和开发,因为各个实例都有自己的内存空间,一个实例中的工作可不能干扰其他实例正常的数据库服务。出于对安全性的考虑。 因为每个实例有单独的权限操纵,我们能够为不同的实例设定不同的治理人员,加强安全性的操纵。比如你能够把你的个人信息存放在由你操纵的实例中,其他的实例拥有者无权查看。出于优化的考虑不同的数据库可能会需要不同的数据库治理器的配置参数来达到最优的性能,假如把它们放到同一个实例中,不能满足需要。 因此,系统中的实例不是越多越好,假如在系统中创建的实例过多,不仅
11、会造成额外的资源消耗(内存、硬盘空间等),也会增大治理开销。 每个实例在创建后都会有自己的配置文件,文件内的参数会阻碍该实例的性能。 数据库在建立时还会自动地产生一组系统编目表,系统编目表实际上确实是DB2数据库的数据字典,它详尽地描述了数据的物理结构和逻辑结构。在系统编目表中保存着各种数据库对象的定义、用于查询优化的统计信息以及系统授权信息。是一个数据库中极其重要的组成部分。 1.4.2、实例的治理: 要创建一个实例,能够使用db2icrt命令,命令语法如下: db2icrt -a AuthType -p PortName -s InstType -u FencedID InstName 其
12、中: -a AuthType是实例的认证类型(能够为SERVER、CLIENT、 DCS、DCE、 SERVER_ENCRYPT、DCS_ENCRYPT 或 DCE_SERVER_ENCRYPT中的一种)。 -p PortName 是此实例要使用的端口名或端口号。 -s InstType 是要创建的实例的类型(eee、ee 或 client)。 -u FencedID 是用户名,被隔离UDF 和被隔离的存储过程将在该用户名之下运行。 InstName 是实例的名称。 要列出当前系统上创建的所有实例,能够使用db2ilist命令。 要删除某个实例,能够使用db2idrop命令。 1.4.3、实例
13、级的操作 在DB2中,某些任务只能在实例级不上执行。比如,创建数据库,更新数据库治理器配置参数等工作。这时候,就需要应用程序连接到特定的实例之上,然后才能进行操作。要连接到一个实例上,用户能够使用ATTACH命令,语法为: attach to 实例名 user 用户名using 用户口令 假如用户在执行实例级不的任务时,没有使用ATTACH命令,则系统将使用在DB2INSTANCE环境变量中指定的缺省实例来试图完成该任务。 1.4.4、数据库治理服务器(DAS): UDB的数据库治理服务器实际上也是一个实例,只只是那个实例不是用于数据服务的,而是用于治理目的。数据库治理服务器提供以下功能:同意
14、远程客户端的治理请求,将远程的治理请求在数据库服务器端实现同意用户进行任务调度同意用户对系统进行远程监控响应DB2 Discovery,为其提供系统信息数据库治理服务器能够在系统安装时自动生成,也能够在安装后手工创建,在一个数据库节点中只能有一个数据库治理服务器。1.4.5、数据库治理服务器的使用 假如没有在安装时创建数据库治理服务器,能够使用命令手工创建。具体命令如下: dasicrt 治理服务器的名字 (UNIX平台) db2admin create (INTEL平台) 启动和停止数据库治理服务器的命令: db2admin start 启动治理服务器 db2admin stop 停止治理服
15、务器 显示当前数据库治理服务器名: dasilist (UNIX平台) db2admin (INTEL平台) 删除当前数据库治理服务器: dasidrop 治理服务器的名字 (UNIX平台) db2admin drop (INTEL平台)1.5、DB2环境变量的设置 1.5.1、DB2环境变量除了实例配置文件和数据库配置文件中所包含的参数之外,还有一些配置参数对数据库环境起到操纵作用。这些配置参数分为三类:环境变量:这类变量的设置方法因操作系统的不同而有所差异。例如在Windows NT环境中,选择操纵面板系统环境来设置;在OS/2中则要更改config.sys文件。这类变量在更改后专门可能需
16、要重新启动系统才生效。 实例级登记项:作用范围是某一特定实例。能够用db2set命令来设置。更改后需要重新启动该实例才生效。 全局级登记项:作用范围是整个数据库系统。能够用db2set命令来设置。更改后需要重新启动所有实例才生效。举例:变量类型变量名称变量作用环境变量DB2INSTANCE缺省的DB2实例,假如没有显式地连接到某个实例,则所有的操作都被假定是对该实例进行的。环境变量DB2DBDFT缺省的数据库,假如没有显式地连接到某个数据库,则所有的操作都被假定是对该数据库进行的。实例级登记项DB2COMM设置该实例用那种网络协议与客户端通信。全局级登记项DB2SYSTEM该DB2系统的名字。
17、全局级登记项DB2ADMINSERVER该系统上所使用的数据库治理服务器的名字 系统在检查系统的变量时,按照先环境变量,再实例级登记项、最后全局级登记项的顺序来搜索。 1.5.2、db2set命令 db2set命令能够用来治理和设置DB2的登记项,命令语法如下: db2set variable=value 其中常用的命令选项: -g: 更改全局级变量 -i:instance 假如更改的是实例登记项,指定该实例的名字 -l: 列出所有的实例登记项 -lr: 列出所有的登记项 例子: db2set DB2ADMINSERVER 显示当前的数据库治理服务器 db2set DB2COMM=TCPIP,
18、NETBIOS 设置缺省实例的交流协议为TCP/IP 和NETBIOS db2set all 列出当前所有的登记项的值1.6、访问操纵权限1.6.1、DB2访问操纵的层次结构 SYSADMSYSCTRL 权力DBADMSYSMAINT特权 DB2中的访问操纵层次如上图所示。能够对DB2的用户赋于不同级不的权力和各种特权。其中权力(Authorities)是对一组数据库对象进行存取的特权集,有特定的名称。而特权(Privileges)则是对特定对象访问的权利。 权力(Authorities)分为以下级不:(1)、SYSADM系统治理该权限是一个实例中的最高权限。能够完成一个实例范围内任何治理工作
19、。能够通过实例配置变量中的SYSADM_GROUP参数来指定一个用户组拥有该权限。假如该参数为空,在Windows NT环境下,创建该实例的用户拥有该权限;在UNIX环境下,与实例同名的用户拥有该权限。(2)、SYSCTRL系统操纵该权限能够完成系统中的治理功能,但不能访问数据。但拥有该权限的用户能够创建数据库,并治理自己创建的数据库中的数据。能够通过实例配置变量中的SYSCTRL_GROUP参数来指定一个用户组拥有该权限 (3)、SYSMAINT系统维护该权限只能完成系统中与维护有关的任务,但不能访问数据,而且拥有该权限的用户不能创建数据库。能够通过实例配置变量中的 SYSMAINT_GRO
20、UP参数来指定一个用户组拥有该权限。(4)、DBADM数据库治理该权限是数据库级的权限,能够完成数据库的治理工作。该权限能够通过SQL语句授予。 四种级不的权力对比如下:功能SYSADMSYSCTRLSYSMAINTDBADM移植数据库能够更改实例配置参数能够给予或撤消DBADM权限能够指定SYSCTRL组能够指定SYSMAINT组能够更改数据库目录能够能够中断应用程序能够能够创建/删除数据库能够能够创建/删除表空间能够能够利用恢复建立一个数据库能够能够更改数据库配置参数能够能够能够备份数据库和表空间能够能够能够恢复一个存在的数据库能够能够能够执行前滚恢复能够能够能够启动/停止实例能够能够能够
21、恢复表空间能够能够能够使用TRACE工具能够能够能够猎取实例和数据库的快照信息能够能够能够查询表空间状态能够能够能够能够更改日志历史文件能够能够能够能够休止表空间能够能够能够能够使用RUNSTATS工具能够能够能够能够对表做LOAD能够能够读日志文件能够能够能够创建/删除/激活事件监视器能够能够能够第二章 DB2的图形用户界面2.1、DB2的图形界面概述 在UDB之前的DB2产品中,提供给用户的图形界面专门少。大部分的治理工作和操作只能通过手工键入命令的方式来实现。UDB的出现改变了这一现状,它提供了丰富的图形化工具,使得治理工作变得更加轻松。 2.2、DB2的图形化工具2.2.1、客户端配置
22、工具CCA要对远程数据库进行存取,首先要设置从客户端到远程数据库的网络连接。那个过程是一个比较复杂的过程,需要用户对网络参数、配置命令要有一定程度的了解。CCA确实是一个用来关心用户设置从客户端到远程数据库连接,减轻用户负担的工具。它提供了三种配置方法供用户选择:人工方法 该方法对用户的要求较高,需要用户了解要连接的数据库服务器的相关信息,例如使用那些网络协议、要连接的数据库的名称等。用户能够通过CCA提供的界面输入网络连接所需信息,完成连接配置。自动搜索方法 该方法不需要用户有任何网络知识,它会自动利用一种叫DB2 Discovery的机制在局域网中自动搜索DB2服务器。它会与远程数据库节点
23、上的数据库治理服务器(DAS)进行通讯,然后将数据库治理服务器搜集的信息返回。用户能够依照返回信息选择要连接的数据库。载入配置文件方法 该方法同意从要连接的数据库所在的服务器端或者从差不多配置成功的客户端生成一个配置文档。在文档中包含了相应的配置信息,用户能够在CCA中载入该文档,完成连接配置。 用户能够通过以上任一种方法进行网络配置,完成对远程的数据库的连接,CLI/ODBC数据源的配置,将应用程序绑定到数据库上等工作。CCA除了能够从DB2桌面的文件夹中进行存取,也能够在命令行下键入db2cca命令存取。具体界面如下图。2.2.2、产品信息和文档 UDB提供了丰富的关心信息。几乎所有的信息
24、都能够通过信息中心(Information Center)来存取。在信息中心中,我们能够按照以下几种方法猎取相关信息: 任务:猎取完成特定任务所需的信息 书籍:UDB随机提供了许多技术手册,如治理员手册、开发人员手册等等。 用户能够通过这些联机手册来查找信息。 疑难:能够依照你遇到的疑难错误来查找相应的解决方法。 样例程序:能够查找到各种语言、各种接口进行数据库编程的例子。 Web信息:指引你到相关Web站点上猎取相应的信息。 除了这几种手段以外,信息中心还提供了强大的搜索工具,关心你在联机手册中进行全文检索,找到匹配的关键词。 信息中心除了能够从DB2桌面的文件夹中进行存取,也能够在命令行下
25、键入db2ic命令存取。 具体界面见下图。 除了信息中心之外,还有一个小程序第一步(First Step)来关心新用户按照一系列的步骤来熟悉数据库操作。它能够关心用户建立一个样例数据库,查看样例数据库中的内容,以及对样例数据库进行操作。 First Step除了能够从DB2桌面的文件夹中进行存取,也能够在命令行下键入db2steps命令存取。具体界面如下图。2.2.3、命令中心(Command Center) 命令中心是用于输入DB2命令的图形化工具。能够讲,命令中心确实是一个图形化的命令行处理器(CLP),我们能够在命令中心中输入DB2命令或调用现成的命令脚本,执行后查看输出结果。 命令中心
26、能够将已输入的命令作为脚本保存在脚本中心中,也能够对保存在脚本中心中的脚本加以调度。 另外,命令中心一个特不有用的功能是同意用户通过它查看SQL语句的存取打算,存取打算中包含着SQL语句执行情况的统计结果,用户能够通过命令中心为SQL语句生成存取打算,并以可视化的形式表现出来。 命令中心能够通过系统菜单(Windows NT操作系统)或操纵中心(Control Center)来调用,也能够通过在命令行下键入db2cctr命令来执行。具体界面如下图。 2.2.4、脚本中心(Script Center)脚本中心的要紧功能有:创建、编辑、保存和运行命令脚本(能够包括DB2命令和操作系统命令)运行一个
27、往常保存的脚本文件对一个往常保存的命令脚本进行调度,指定其在特定的时刻的运行,被调度的作业将以暂挂作业的形式将在下面介绍的日志工具中被监控。脚本中心的优点在于能够将命令以文件的方式存放,重复利用,同时脚本中能够直接包含操作系统命令(在CLP中假如要执行操作系统命令需要在命令的前面加“!”)。脚本的运行状态也能够在日志工具中查看到。脚本中心的具体界面如下图。2.2.5、日志(Journal) 通过日志能够查看几类信息: 作业信息包括暂挂作业(Pending Job )信息、正在运行的作业(Running Job) 信息以及差不多完成的作业的信息。关于Pending Job,能够对其进行重新调度、
28、显示与它相关的脚本或立即运行它。恢复历史信息 提供了对数据库进行的备份、恢复过程的详细信息,比如:备份的时刻、备份的类型等,这些信息实际都被保存在一个称为恢复历史文件的文件当中。 警报信息 包含了系统发出的警报信息。系统信息 包含了UDB数据库治理器生成的信息。 日志除了包含以上信息以外,也能够对差不多被脚本中心调度的作业重新进行调度。 日志的具体界面见下图。 2.2.6、警报中心(Alert Center)警报中心搜集所有数据库治理器发出的警告信息,治理人员能够依照这些警告信息对某些系统错误进行分析。查找出系统的潜在问题。可将“警报中心”设置为自动打开,显示已超过其阈值并因此处于警报或警告状
29、态的各种受监控对象。阈值的设置用可从“操纵中心”调用的“性能监控程序”来完成。图符的颜色指示警告的严峻性。红色图符指示报警信号。黄色图符指示警告。并显示为性能变量返回的数据。1.2.7、许可证中心(License Center)许可证中心能够对UDB的许可证信息提供集中治理,能够同意用户增添、更改和删除UDB产品的许可证。用户也能够扫瞄当前安装在UDB系统上的许可证信息,比如:产品名称、产品的版本、过期时刻及同意的用户数目等信息。具体界面见下图。2.2.8、操纵中心(Control Center)操纵中心是UDB的治理工具的核心,绝大多数的治理任务和对其他治理工具的存取都能够通过操纵中心来完成
30、。具体界面如下图。操纵中心有如下组成部分: 菜单条:菜单条在屏幕的顶部。从菜单条选择菜单同意您执行许多功能,如关闭 DB2 工具、存取图形工具以及存取联机关心和产品信息。可通过单击菜单条上的每一项来熟悉这些功能通过菜单的方式完成对操纵中心的存取。 工具栏:位于菜单条下方的一组图形按钮,通过点击能够调用其他的治理工具,如命令中心、脚本中心等以上所提到的工具 对象窗格:对象窗格位于屏幕的左边窗格中,它按照UDB数据库对象的层次关系(UDB系统-实例数据库-数据库内部对象)对系统进行组织,以树状的形式显示。用户能够方便地从中找到要治理的对象。对象窗格中的某些对象包含其他对象。对象左面的加号 (+)
31、指示该对象是折叠的。可单击加号展开它。当展开对象后,在它的左面会出现一个减号 (-)。要折叠此对象,单击减号。 内容窗格:位于屏幕的右边窗格中。此窗格显示在对象窗格中选定对象包含的所有对象,例如,若您在对象窗格中选择表文件夹,数据库中所有的表都将出现在“内容”窗格中。若您选择数据库文件夹,内容窗格会变为实例中的所有数据库。 用户能够在对象窗格或内容窗格中选择要操作的对象,按鼠标右键按出弹出式菜单,能对该对象所进行的所有操作几乎都包含在菜单中。操纵中心除了能够从DB2桌面的文件夹中进行存取,也能够在命令行下键入 db2cc命令存取。2.2.9、工具设置(Tool Settings)工具设置能够用
32、来更改某些系统工具的设置,比如设定SQL语句之间的分隔符、 假如DB2实例没有启动,是否需要在UDB工具启动的时候自动启动实例。工具设置能够从工具栏上的图形按钮存取。具体界面如下图。 2.2.10、快速向导(SmartGuides)UDB中专门多任务的完成涉及到专门多术语和参数,假如用户对这些信息不是专门了解,会阻碍到任务的完成效果。为了能够对这些用户提供关心,UDB中提供了专门多快速向导。这些快速向导能够针对不同的任务向用户提出一些比较浅显的问题,依照用户对问题的回答设定相应的参数。关心用户完成相应的任务。UDB中提供的快速向导分为以下几类: 对象创建类:在创建数据库、表空间和表时提供关心。
33、 数据库治理任务:在备份和恢复数据库时提供关心。 多点更改:在分布式环境下,对涉及到多数据库更改的事务进行操纵。 性能调节:关心用户对系统性能进行调节。 具体的快速向导有: 创建数据库快速向导:同意用户创建数据库、分配存储空间以及选择差不多性能选项。要调用 它,选择对象窗格中的“数据库”图符,单击鼠标按钮 2,然后选择创建 - 使用 SmartGuide 创建数据库。 创建表快速向导:此快速向导关心用户使用预定义的列模板来设计列,创建表的主关键字并将一个或多个表空间分配给表。要调用它,选择“表”图符,单击鼠标按钮 2,然后选择创建 - 使用 SmartGuide 创建表。 创建表空间快速向导:
34、此快速向导同意用户创建一个新的表空间并设置存储及性能选项。要调用它,选择“表空间”图符,单击鼠标按钮2,然后选择创建 - 使用 SmartGuide 创建表空间。 索引快速向导:该快速向导关心用户确定对给定的一组 SQL 语句,要创建或删除哪些索引,才能使给定的语句性能最优。要调用它选择“索引”图符,单击鼠标按钮 2,然后选择创建 - 使用 SmartGuide 创建索引。 性能配置。此快速向导关心您依照有关数据库的用途来调谐数据库。然后它对数据库和实例建议新的配置参数,并在需要时自动应用它们。要调用它,选择相应数据库的图符,单击鼠标按钮 2,然后选择使用 SmartGuide 配置。 复原数
35、据库快速向导:此快速向导带您经历恢复数据库的全过程。要调用它,选择相应数据库的图符,单击鼠标按钮 2,然后选择复原 - 使用 SmartGuide 复原数据库。 备份数据库快速向导:它询问用户关于数据库中的数据、数据库的可用性以及可恢复性要求 等差不多问题。然后它建议一个备份方案、创建作业脚本并调度它。要调用它,选择相应数据库的图符,单击鼠标按钮 2,然后选择备份 - 使用 SmartGuide 备份数据库。 配置多站点更新快速向导:该快速向导关心用户在分布式环境下,对涉及到多数据库更改的事务进行操纵。要使用它,选择相应实例,单击鼠标按钮 2,然后选择多站点更新 - 使用 SmartGuide
36、 配置。2.2.11、通用工具选项除了以上提供的工具之外,UDB还有几个其它相关工具选项。例如:显示SQL(Show SQL)和显示命令(Show Command) 假如某个工具生成了SQL语句,比如创建表、索引等工具,那么在该工具界面上将有显示SQL按钮可用。类似地,生成DB2命令的工具将有显示命令按钮可用。单击这两个按钮之一,能够查看该工具依照用户在图形界面中所做选择而生成的SQL语句或DB2命令。关心用户了解该界面是如何工作的。另外该选项也同意用户将语句或命令另存为脚本以备今后使用。若用户希望再次运行相同的语句或命令,能够不必重新输入SQL语句或DB2命令。一旦SQL语句或DB2命令已保
37、存到脚本中,用户能够调度脚本、编辑此脚本进行更改或创建类似的脚本而不必重新输入语句或命令。显示相关对象(Show Related) 显示相关项显示表、索引、视图、不名、触发器、表空间、 “用户定义函数”以及“用户定义类型”之间的直接关系。显示相关对象能够关心用户了解一个对象与哪些对象相关,分析数据库的结构以及推断可能执行的操作会造成的阻碍。例如,假如用户希望删除有从属视图的表,显示相关项会告诉用户假如进行删除操作后,哪些视图将变为无效视图。 从“操纵中心”的内容窗格中的专门多对象中,单击鼠标按钮2。都会看到“显示相关对象”的选项。第三章 数据移动3.1、数据移动概述 在数据库的使用过程中,经常
38、需要将一个数据库中的数据迁移到另外的一个数据库中。为了实现这种功能,我们能够使用数据库复制技术,这种技术在大多数的关系型数据库中都有相应的实现,只是这种方法对治理的要求较高,而且需要网络的连接。更常用的方法是利用某种类型的外部文件作为中介,将一个数据库中的某个表中的数据导出到一个外部文件中,然后把该文件中的数据导入到另外一个数据库中。 DB2中实现以上功能的要紧工具有三个:EXPORT、IMPORT和LOAD。其中EXPORT的功能是将表中的数据导出到外部文件中;而IMPORT和LOAD的功能是将外部文件中的数据导入到一个表中。IMPORT和LOAD的功能类似,但在实现手段上有专门大差异。 能
39、够被DB2所支持用作数据移动的中间文件的格式有四种:非定界ASCII码文件(ASCII)、定界ASCII码文件(DEL ASCII)、WSF文件和PC/IXF文件。其特点是: ASCII:纯文本格式,每个数据列之间中有分隔符,但数据行之间没有分隔符。ASCII文件不能被EXPORT支持。、 DEL: 纯文本格式,数据列之间有分隔符,数据行之间也有分隔符。 WSF:Lotus 1-2-3工作表格式。WSF文件不能被LOAD支持。 PC/IXF:一种特不通用的格式,被多种数据库治理系统所支持。能够用作在异种数据库中进行数据转移。 3.2、EXPORT的功能和使用EXPORT 用于将一个表或多个表中
40、的数据导出到外部文件中。 下面是EXPORT的一个例子:db2 connect to sampledb2 export to myfile of ixf messages msg select , staff.dept, org.location form org, staff, where org.deptname=staff.dept 在该例中,staff和org中的相应数据将被输出到myfile文件中,该文件为PC/IXF格式。注意事项: 在做EXPORT之前,首先要连接到相应的数据库上。因为要对表或视图(EXPORT支持对视图进行操作)进行SELECT操作,执行EX
41、PORT的用户至少要有相关表或视图上的SELECT权限。假如使用PC/IXF文件,文件中将包含表中的索引定义。能够通过DB2 Connect将主机上的数据导出到外部文件中。3.3、IMPORT的功能和使用 IMPORT能够被看作是EXPORT的逆过程,用于将数据从外部文件中导入到数据库之中。下面是一个IMPORT的例子:db2 connect to musicdbdb2 import from artexprt of ixf messages artmsg create into artists in index in long in 在该例中,artexprt文件的数据被导入到表artist
42、s中,那个表在IMPORT之前并不存在,系统将依照artexprt文件的格式创建表后,再进行数据导入。注意事项: 在做IMPORT之前,首先要连接到相应的数据库上。因为要对表或视图(IMPORT支持对视图进行操作)进行修改操作,执行EXPORT的用户至少要有相关表或视图上的相关权限(依据导入模式的不同而不同)。比如,使用INSERT模式,至少要有相应表上的INSERT权限;假如使用CREATE模式,则需要数据库上的CREATETAB权限。假如使用CREATE模式,必须使用PC/IXF文件进行数据导入。能够通过DB2 Connect向主机上的数据库导入数据。3.4、LOAD的功能和使用 3.1、
43、LOAD概述LOAD的功能与IMPORT类似,但实现的方式有专门大区不。其操作方式更加贴近底层。LOAD会把要导入的数据格式化成数据页,利用并行I/O写入存储介质。在LOAD 过程中,只进行极少量的日志记录,而且不进行约束检查。因此,LOAD导入的速度要比IMPORT快专门多,尤其是数据量比较的的时候,LOAD的速度优势十分明显。LOAD能够从三种格式的文件进行数据导入,分不是非定界ASCII码文件、定界ASCII码文件和IXF文件格式。LOAD不支持WSF文件作为数据导入文件。 3.4.2、LOAD的三个时期与IMPORT相比,LOAD尽管在速度上有明显的优势,但对治理上的要求比较高。LOA
44、D能够分成三个时期。第一个时期叫LOAD时期。在那个时期中,数据被导入到表中,假如表上有索引存在,LOAD将按照索引定义搜集索引关键字,然后进行排序。假如有不符合表定义的数据行,LOAD将会把它们放到一个文件(DUMP FILE)中,同时在消息文件(MESSAGE FILE)中进行记录。假如在命令中指定了SAVECOUNT参数,LOAD将每隔一定数目的数据行进行一次保存。第二个时期叫BUILD时期。在那个时期中,LOAD会利用在LOAD时期搜集的索引关键字构造索引。假如表上没有索引,那个过程将被忽略。另外,假如表上定义了唯一性约束,LOAD会在那个时期进行检查。假如有违反唯一性约束的数据行,L
45、OAD将会把它们拷贝到一个专门的表例外表(Exception Table)中。相应的信息会保存在信息文件(MESSAGE FILE)中。第三个时期叫DELETE时期。在那个时期中,所有违反唯一性约束的行将被从表中删除。 3.4.3、异常情况的处理由于某些操作的失败,表空间可能处于某种异常状态。表空间的状态能够通过DB2 LIST TABLESPACES。假如状态的编码为0 x0000,表明表空间状态正常,否则表明表空间处于某种异常状态。比如0 x0008表明表空间处于装载挂起(LOAD PENDING)状态,0 x010表明表空间处于删除挂起(DELETE PENDING)状态,0 x020表
46、明表空间处于备份挂起(BACKUP PENDING)状态。上面提到的几个状态差不多上在LOAD过程中有可能发生的。我们下面就来探询其缘故及解决方法。、LOAD PENDING状态 假如LOAD由于用户的错误而没有运行,比如指定的数据输入文件不存在或者要载入数据的表不存在,则对表空间的状态可不能有任何阻碍。 假如LOAD在向表中导入数据的时候出现了错误,LOAD会终止,同时将要导入数据的表所在的表空间置于LOAD PENDING状态。假如表空间处于LOAD PENDING,除了使用LOAD工具对表空间进行操作来消除LOAD PENDING状态以外,不能对该表空间进行其他操作。出现了
47、LOAD PENDING状态以后,应该对LOAD生成的MESSAGE文件进行检查,查看是在LOAD的哪一个时期出现的问题。然后能够使用LOAD的RESTART选项重新进行LOAD,LOAD会自动的从上一个一致性点进行恢复。比如指定了SAVECOUNT为100,在导入到531行记录时出现异常终止,则LOAD会从第501条记录重新开始导入。假如是在LOAD过程中的BUILD时期和DELETE时期时出现了错误,LOAD会从这两个时期的起始点重新开始。假如利用RESTART选项后,LOAD能够成功,则LOAD PENDING状态能够被消除。 假如使用RESTART选项仍然不能成功,则能够使用TERMI
48、NATE选项来终止LOAD过程,同时消除LOAD PENDING状态。假如我们在终止LOAD时使用了INSERT选项,则能够将表恢复到LOAD往常的状态。假如我们使用的是REPLACE选项,则表中的数据被清空。、BACKUP PENDING状态 LOAD PENDING状态是LOAD失败后出现的异常状态。但即使LOAD成功了,也不能保证表空间处于正常状态,这取决于LOAD时选择的复制选项。假如我们选择的是COPY YES(缺省选项),则LOAD成功后会将表空间置成BACKUP PENDING状态,需要对该表空间进行备份才能消除;假如我们选择的是COPY YES,则系统在LOAD过
49、程中自动对载入的数据进行备份,LOAD成功后表空间处于正常状态;假如我们选择的是NONRECOVERABLE,则系统在LOAD过程中不对载入数据进行备份,在LOAD成功后也不把表空间置于BACKUP PENDING状态。 之因此LOAD要提供几种复制选项的缘故是由于出于数据完整性的考虑。我们在前面差不多介绍过,LOAD只做专门少的日志,导入的数据不被记录在日志之中。假如在LOAD以后,数据库崩溃了,LOAD导入的数据将无法得到恢复,造成数据的不完整。假如使用COPY NO选项,系统会强制用户在LOAD之后对表空间进行备份,假如以后需要对数据库进行恢复,则能够从中恢复LOAD导入的数据;假如使用
50、COPY YES选项,则系统在LOAD过程中会自动对导入的数据进行备份,能够用于日后的恢复;假如使用NONRECOVERABLE选项,则等于用户明确表示日后不想恢复LOAD导入的数据,那个选项一般用于接收数据导入的表被用于只读操作,假如需要对数据进行恢复,重新进行LOAD就能够。 3.5、IMPORT和LOAD的对比 IMPORT和LOAD在功能上相似,但在实现方式和使用上有专门大不同,我们将通过下表将这两中工具进行一下对比。IMPORTLOAD讲明在导入大量数据时速度较慢在导入大量数据时速度明显比IMPORT快LOAD是将数据格式化成数据页的形式直接写入数据库假如使用IXF文件格式,表和索引
51、能够不存在在导入数据之前,表和索引必须存在IMPORT能够在导入数据时创建表和索引支持WSF文件格式不支持WSF文件格式能够对表和视图进行IMPORTLOAD的对象必须是表在进行IMPORT时,其他程序能够对表进行存取在进行LOAD时,其他程序不能对表进行存取LOAD将导入数据的表所在表空间置为排它状态导入的所有数据都被日志所记录LOAD只做极少量的日志IMPORT会激活触发器LOAD可不能激活触发器IMPORT能够使用COMMITCOUNT参数指定每隔一定数目的数据行就进行一次提交,假如IMPORT失败,能够从最后的一次提交点重新开始。LOAD能够使用SAVECOUNT参数指定每隔一定数目的
52、数据行就进行一次保存,假如LOAD失败,能够从最后的一次提交点重新开始。IMPORT使用的是数据库内部的临时表空间LOAD使用的是数据库以外的临时空间所有的约束在IMPORT过程中都将被总结在LOAD过程中只检查唯一性约束LOAD关闭约束检查,需要在LOAD后用SET INTEGERITY消除表上的CHECK PENDING状态在IMPORT过程中,当每一行被导入时,索引关键字被插入到索引中在LOAD过程中,LOAD在LOAD时期搜集索引关键字,在BULID时期统一生成索引假如需要重新搜集统计信息,在IMPORT后使用RUNSTAT工具假如需要重新搜集统计信息,能够在LOAD后使用RUNSTA
53、T工具,也能够在LOAD过程中进行搜集在LOAD中直接搜集统计信息会延长LOAD所需时刻IMPORT能够被DB2 Connect支持LOAD能够被DB2 Connect支持数据导入文件必须在执行IMPORT的节点上数据导入文件必须在要导入数据的数据库所在的节点上IMPORT不需要备份依照复制选项的不同,可能需要进行备份IMPORT导入的数据在日志中会有记录第四章 数据库恢复在防止关键数据的丢失当中,恢复用户自己的环境十分重要。有一些工具能够关心用户治理自己的环境和保证用户能够对自己的数据实施充分的恢复措施。我们将讨论在关系数据库系统中的日志存档概念,因为它属于数据库的恢复功能的组成部分。日志文
54、件是由DB2用来确保数据库完整性,即使当出现某些不可预见的问题引起用户系统瘫痪时,比如发生断电故障,也能做到这一点。要充分理解日志工作的目的,首先解释清晰工作单元(unit of work)和事务 (transaction)这两个概念。4.1 工作单元为了确保数据库中数据的一致性,应用程序经常必须立即实施一些变更。类似,它必须禁止所有的变更。这就叫做工作单元(unit of work)。工作单元是应用程序进程内可恢复的操作序列。工作单元是应用程序用来确保在数据库中不引入不一致数据的差不多机制。在任何时刻,应用程序进程都有一个工作单元,而应用程序进程的生存期可能涉及许多工作单元。4.2事务在象D
55、B2如此的关系数据库中,工作单元被称为事务 (transaction)。事务是应用程序进程内的一个可恢复的SQL操作序列。对数据库的任何一次读或写差不多上在某次事务内完成的。任何一个成功地与数据库相连接的应用程序都自动地启动一个事务。应用程序必须通过发出一条 SQL COMMIT(托付确认)或SQL ROLLBACK(退回)语句去结束该事务。 SQL的 COMMIT语句告诉数据库治理员立即对数据库实施事务中的所有数据库变动(插入、更新、删除)。SQL的 ROLLBACK语句告诉数据库治理器不实施这些变动,但将受到阻碍的行返回到开始该事务之前的原有状态。4.3日志文件的使用为了确保用户数据的完整
56、性,DB2差不多实施提早写日志存档模式。提早写日志存档的基础是指:当发出删除、插入或更新数据库中某一数据的 SQL调用时,所做出数据变更首先要写到日志文件中去。当发出一条 SQL托付确认命令时 DB2要保证把为了重新运作(replay)所需要的日志文件都写入磁盘中。在发生断电之类的不幸事故时,日志文件能够用来把数据库退回到原来的某个一致性状态。所有被托付确认的事务都将重新再做一遍,所有非托付确认的事务都将回退到原有起点。所有数据库都有与它们相关联的日志文件。日志文件有预先定义的长度。因此,当日志文件被填满时,日志存档过程就要在另一个日志文件中接着进行。4.4日志治理配置4.4.1日志的类型 现
57、在我们来考查可能出现在DB2中的两类日志: 循环日志 (Circular logging) 归档日志 (Archival logging)4.4.2循环日志用这种类型的日志,将按顺序使用各个日志文件。当保留在这类日志文件中的所有工作单元被托付确认或退回时,这些日志文件能够被重新使用。所托付确认的变更将被反映在支持数据库的磁盘上。循环日志(circular logging)方法如图6.3中所示。 1主日志文件 2“n”辅日志文件夹 3 图4.3 循环日志 循环日志使用两类日志文件:主日志文件(Primary log files)辅助日志文件(Second log files)主日志文件是预先分配
58、的,而辅助日志文件仅在需要时才分配。假如数据库治理器需要序列中的下一个日志,同时不能被重用,那么将分配一个辅助日志文件,至直主日志文件变得可供重用或者所分配辅助日志文件的数目被超出为止。一旦数据库治理器决定辅助日志文件不再需要时,辅助日志文件便被收回。当数据库激活时,分配主日志文件。主日志文件和辅助日志文件的数目由数据库参数LOGPRIMARY和 LOGSECOND来决定。当数据库最初被创建时,循环日志方式作为默认的日志方式被激活。配置以循环方式的数据库仅能恢复到曾经做过备份的点。对数据库进行恢复时,自从进行备份以后对数据库所做的任何工作都将丢失。由于那个缘故,循环日志方式最适合用于那些只供查
59、询的数据库。4.4.3归档日志 归档日志(archival logging)是如此一种日志治理技术,其中的日志文件处于非活动状态时便将它们做归档处理。归档日志方法如图 6.4所示。12活动的一包含有关非托付确认的或非扩充的事务。DATA1314联机归档一包含被托付确认的和被扩充的事务。存放于ACTIVE日志子目录中。15 脱机归档 归档数据来 ACTIVE日志子目录 (也可能在其它介质上)。16 图4.4 归档日志方法Active(活动的)(由数15 和16表示) 这些文件包含与尚未托付确认(或退回)工作的事务相关的信息。它们还包括差不多被委托确认但它们的变更还没有写回到数据库文件中的事务信息
60、。On_ line Archival (联机归档)(由数14表示)这些文件包含有差不多完成不再需要崩溃恢复爱护的事务有关的信息。它们叫做联机(on_ line)是因为它们驻留在与活动日志文件相同的子目录中。Off-line Archival(脱机归档)(由数12和 13表示) 这些文件差不多被从活动的日志文件子目录传送出。传送这些文件的方法可能是一个手工过程,比如,通过 user exit调用的手工过程。只要简单地通过把归档日志文件传递至另一个目录,把它们存储到磁带或其它某种介质上,就能够把归档日志文件置为 “脱机的”(off-line)。 两个配置参数同意用户去配置进行归档日志的数据库: L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国锥形上调心托辊行业投资前景及策略咨询报告
- 62价值判断与价值选择课件-高中政治统编版必修四哲学与文化
- 《等腰三角形的性质》课件
- 春节的珍贵回忆
- 炸鸡店的员工培训与团队建设
- 春节故事时间卡通插画的魔力
- 2025年高中数学湘教版必修第一册课时作业(十二)
- 驾驭各种风格的多变发型设计
- 7.3.1 乙醇 课件-2024-2025学年高一化学同步课件(人教版2019必修第二册)
- 颞颌关节紊乱及护理方法
- 【MOOC】软件工程与实践导论-四川大学 中国大学慕课MOOC答案
- 2024新版《药品管理法》培训课件
- 2024-2030年中国酸枣行业市场销售模式及投资盈利预测报告
- 深圳2020-2024年中考英语真题复习专题01 语法填空(解析版)
- DB37-T 1389-2024钢箱梁顶推施工技术规范
- 全国爱肝日-中国肝硬化临床诊治共识意见知识讲座
- 大数据调研报告
- 临床执业助理医师技能考试试题及答案
- JJF(津) 139-2024 电动汽车公用充电设施统计抽样计量性能评价技术规范
- DB11T 301-2017 燃气室内工程设计施工验收技术规范
- 非遗项目计划书模板范文
评论
0/150
提交评论