数据移动与数据库恢复概述_第1页
数据移动与数据库恢复概述_第2页
数据移动与数据库恢复概述_第3页
数据移动与数据库恢复概述_第4页
数据移动与数据库恢复概述_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 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 VSE

2、和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的客户端还能运行在Dos、W

3、indows 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的存取可以通过SQL语

6、言和UDB内置的API两种手段来实现。不过这两种手段不是能够相互替代的。SQL语言是国际标准,各数据库厂商在实现时一般会有一定程度的扩展。SQL语言主要是完成对数据的查询和更改、数据库对象的建立及权限的控制等功能。而API主要是针对数据库的管理任务,比如数据的备份和恢复、数据库服务的启动和停止等工作。在一个应用程序中,可能既需要用到SQL语言来完成对数据的存取,同时又需要调用API来完成管理工作。 1.3、从WEB上存取UDB Internet的广泛使用带来了从WEB对企业数据进行存取的要求。如果开发人员要开发基于Web的UDB应用程序,可以使用以下方法:1.3.1、通过JDBC来存取UDBJ

7、DBC是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 其中: -a AuthT

12、ype是实例的认证类型(可以为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、实例级的操作 在DB2中,

13、某些任务只能在实例级别上执行。比如,创建数据库,更新数据库管理器配置参数等工作。这时候,就需要应用程序连接到特定的实例之上,然后才能进行操作。要连接到一个实例上,用户可以使用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系统的名字。全局级登记项DB2ADM

17、INSERVER该系统上所使用的数据库管理服务器的名字 系统在检查系统的变量时,按照先环境变量,再实例级登记项、最后全局级登记项的顺序来搜索。 1.5.2、db2set命令 db2set命令可以用来管理和设置DB2的登记项,命令语法如下: db2set variable=value 其中常用的命令选项: -g: 更改全局级变量 -i:instance 如果更改的是实例登记项,指定该实例的名字 -l: 列出所有的实例登记项 -lr: 列出所有的登记项 例子: db2set DB2ADMINSERVER 显示当前的数据库管理服务器 db2set DB2COMM=TCPIP,NETBIOS 设置缺省

18、实例的交流协议为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_GROUP参数来指定一个用户组

20、拥有该权限。(4)、DBADM数据库管理该权限是数据库级的权限,可以完成数据库的管理工作。该权限可以通过SQL语句授予。 四种级别的权力对比如下:功能SYSADMSYSCTRLSYSMAINTDBADM移植数据库可以更改实例配置参数可以赋予或撤消DBADM权限可以指定SYSCTRL组可以指定SYSMAINT组可以更改数据库目录可以可以中断应用程序可以可以创建/删除数据库可以可以创建/删除表空间可以可以利用恢复建立一个数据库可以可以更改数据库配置参数可以可以可以备份数据库和表空间可以可以可以恢复一个存在的数据库可以可以可以执行前滚恢复可以可以可以启动/停止实例可以可以可以恢复表空间可以可以可以使

21、用TRACE工具可以可以可以获取实例和数据库的快照信息可以可以可以查询表空间状态可以可以可以可以更改日志历史文件可以可以可以可以休止表空间可以可以可以可以使用RUNSTATS工具可以可以可以可以对表做LOAD可以可以读日志文件可以可以可以创建/删除/激活事件监视器可以可以可以第二章 DB2的图形用户界面2.1、DB2的图形界面概述 在UDB之前的DB2产品中,提供给用户的图形界面很少。大部分的管理工作和操作只能通过手工键入命令的方式来实现。UDB的出现改变了这一现状,它提供了丰富的图形化工具,使得管理工作变得更加轻松。 2.2、DB2的图形化工具2.2.1、客户端配置工具CCA要对远程数据库进

22、行存取,首先要设置从客户端到远程数据库的网络连接。这个过程是一个比较复杂的过程,需要用户对网络参数、配置命令要有一定程度的了解。CCA就是一个用来帮助用户设置从客户端到远程数据库连接,减轻用户负担的工具。它提供了三种配置方法供用户选择:人工方法 该方法对用户的要求较高,需要用户了解要连接的数据库服务器的相关信息,例如使用那些网络协议、要连接的数据库的名称等。用户可以通过CCA提供的界面输入网络连接所需信息,完成连接配置。自动搜索方法 该方法不需要用户有任何网络知识,它会自动利用一种叫DB2 Discovery的机制在局域网中自动搜索DB2服务器。它会与远程数据库节点上的数据库管理服务器(DAS

23、)进行通讯,然后将数据库管理服务器搜集的信息返回。用户可以根据返回信息选择要连接的数据库。载入配置文件方法 该方法允许从要连接的数据库所在的服务器端或者从已经配置成功的客户端生成一个配置文档。在文档中包含了相应的配置信息,用户可以在CCA中载入该文档,完成连接配置。 用户可以通过以上任一种方法进行网络配置,完成对远程的数据库的连接,CLI/ODBC数据源的配置,将应用程序绑定到数据库上等工作。CCA除了可以从DB2桌面的文件夹中进行存取,也可以在命令行下键入db2cca命令存取。具体界面如下图。2.2.2、产品信息和文档 UDB提供了丰富的帮助信息。几乎所有的信息都可以通过信息中心(Infor

24、mation Center)来存取。在信息中心中,我们可以按照以下几种方法获取相关信息: 任务:获取完成特定任务所需的信息 书籍:UDB随机提供了许多技术手册,如管理员手册、开发人员手册等等。 用户可以通过这些联机手册来查找信息。 疑难:可以根据你遇到的疑难错误来查找相应的解决方法。 样例程序:可以查找到各种语言、各种接口进行数据库编程的例子。 Web信息:指引你到相关Web站点上获取相应的信息。 除了这几种手段以外,信息中心还提供了强大的搜索工具,帮助你在联机手册中进行全文检索,找到匹配的关键词。 信息中心除了可以从DB2桌面的文件夹中进行存取,也可以在命令行下键入db2ic命令存取。 具体

25、界面见下图。 除了信息中心之外,还有一个小程序第一步(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)工具设置可以用来更改某些系统工具的设置,比如设定S

32、QL语句之间的分隔符、 如果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 配置。2.2.11、通用工具选项除了以上提供的

36、工具之外,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的功能类似,但在实现手段上有很大差异。 能够被DB2所支持用作数据移动的中间文件的格式有四种:

39、非定界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 用于将一个表或多个表中的数据导出到外部文件中。 下面是EXPORT的一个例

40、子: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操作,执行EXPORT的用户至少要有相关表或视图上的SELECT权

41、限。如果使用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文件的数据被导入到表artists中,这个表在IMPORT之前并不存在,系统将根据a

42、rtexprt文件的格式创建表后,再进行数据导入。注意事项: 在做IMPORT之前,首先要连接到相应的数据库上。因为要对表或视图(IMPORT支持对视图进行操作)进行修改操作,执行EXPORT的用户至少要有相关表或视图上的相关权限(依据导入模式的不同而不同)。比如,使用INSERT模式,至少要有相应表上的INSERT权限;如果使用CREATE模式,则需要数据库上的CREATETAB权限。如果使用CREATE模式,必须使用PC/IXF文件进行数据导入。可以通过DB2 Connect向主机上的数据库导入数据。3.4、LOAD的功能和使用 3.1、LOAD概述LOAD的功能与IMPORT类似,但实现

43、的方式有很大区别。其操作方式更加贴近底层。LOAD会把要导入的数据格式化成数据页,利用并行I/O写入存储介质。在LOAD 过程中,只进行极少量的日志记录,而且不进行约束检查。因此,LOAD导入的速度要比IMPORT快很多,尤其是数据量比较的的时候,LOAD的速度优势十分明显。LOAD可以从三种格式的文件进行数据导入,分别是非定界ASCII码文件、定界ASCII码文件和IXF文件格式。LOAD不支持WSF文件作为数据导入文件。 3.4.2、LOAD的三个阶段与IMPORT相比,LOAD虽然在速度上有明显的优势,但对管理上的要求比较高。LOAD可以分成三个阶段。第一个阶段叫LOAD阶段。在这个阶段

44、中,数据被导入到表中,如果表上有索引存在,LOAD将按照索引定义搜集索引关键字,然后进行排序。如果有不符合表定义的数据行,LOAD将会把它们放到一个文件(DUMP FILE)中,同时在消息文件(MESSAGE FILE)中进行记录。如果在命令中指定了SAVECOUNT参数,LOAD将每隔一定数目的数据行进行一次保存。第二个阶段叫BUILD阶段。在这个阶段中,LOAD会利用在LOAD阶段搜集的索引关键字构造索引。如果表上没有索引,这个过程将被忽略。另外,如果表上定义了唯一性约束,LOAD会在这个阶段进行检查。如果有违反唯一性约束的数据行,LOAD将会把它们拷贝到一个特殊的表例外表(Excepti

45、on Table)中。相应的信息会保存在信息文件(MESSAGE FILE)中。第三个阶段叫DELETE阶段。在这个阶段中,所有违反唯一性约束的行将被从表中删除。 3.4.3、异常情况的处理由于某些操作的失败,表空间可能处于某种异常状态。表空间的状态可以通过DB2 LIST TABLESPACES。如果状态的编码为0 x0000,表明表空间状态正常,否则表明表空间处于某种异常状态。比如0 x0008表明表空间处于装载挂起(LOAD PENDING)状态,0 x010表明表空间处于删除挂起(DELETE PENDING)状态,0 x020表明表空间处于备份挂起(BACKUP PENDING)状态

46、。上面提到的几个状态都是在LOAD过程中有可能发生的。我们下面就来探询其原因及解决办法。、LOAD PENDING状态 如果LOAD由于用户的错误而没有运行,比如指定的数据输入文件不存在或者要载入数据的表不存在,则对表空间的状态不会有任何影响。 如果LOAD在向表中导入数据的时候出现了错误,LOAD会终止,同时将要导入数据的表所在的表空间置于LOAD PENDING状态。如果表空间处于LOAD PENDING,除了使用LOAD工具对表空间进行操作来消除LOAD PENDING状态以外,不能对该表空间进行其他操作。出现了LOAD PENDING状态以后,应该对LOAD生成的MESS

47、AGE文件进行检查,查看是在LOAD的哪一个阶段出现的问题。然后可以使用LOAD的RESTART选项重新进行LOAD,LOAD会自动的从上一个一致性点进行恢复。比如指定了SAVECOUNT为100,在导入到531行记录时出现异常终止,则LOAD会从第501条记录重新开始导入。如果是在LOAD过程中的BUILD阶段和DELETE阶段时出现了错误,LOAD会从这两个阶段的起始点重新开始。如果利用RESTART选项后,LOAD能够成功,则LOAD PENDING状态可以被消除。 如果使用RESTART选项仍然不能成功,则可以使用TERMINATE选项来终止LOAD过程,同时消除LOAD PENDIN

48、G状态。如果我们在终止LOAD时使用了INSERT选项,则可以将表恢复到LOAD以前的状态。如果我们使用的是REPLACE选项,则表中的数据被清空。、BACKUP PENDING状态 LOAD PENDING状态是LOAD失败后出现的异常状态。但即使LOAD成功了,也不能保证表空间处于正常状态,这取决于LOAD时选择的复制选项。如果我们选择的是COPY YES(缺省选项),则LOAD成功后会将表空间置成BACKUP PENDING状态,需要对该表空间进行备份才能消除;如果我们选择的是COPY YES,则系统在LOAD过程中自动对载入的数据进行备份,LOAD成功后表空间处于正常状态

49、;如果我们选择的是NONRECOVERABLE,则系统在LOAD过程中不对载入数据进行备份,在LOAD成功后也不把表空间置于BACKUP PENDING状态。 之所以LOAD要提供几种复制选项的原因是由于出于数据完整性的考虑。我们在前面已经介绍过,LOAD只做很少的日志,导入的数据不被记录在日志之中。如果在LOAD以后,数据库崩溃了,LOAD导入的数据将无法得到恢复,造成数据的不完整。如果使用COPY NO选项,系统会强制用户在LOAD之后对表空间进行备份,如果以后需要对数据库进行恢复,则可以从中恢复LOAD导入的数据;如果使用COPY YES选项,则系统在LOAD过程中会自动对导入的数据进行

50、备份,可以用于日后的恢复;如果使用NONRECOVERABLE选项,则等于用户明确表示日后不想恢复LOAD导入的数据,这个选项一般用于接收数据导入的表被用于只读操作,如果需要对数据进行恢复,重新进行LOAD就可以。 3.5、IMPORT和LOAD的对比 IMPORT和LOAD在功能上相似,但在实现方式和使用上有很大不同,我们将通过下表将这两中工具进行一下对照。IMPORTLOAD说明在导入大量数据时速度较慢在导入大量数据时速度明显比IMPORT快LOAD是将数据格式化成数据页的形式直接写入数据库如果使用IXF文件格式,表和索引可以不存在在导入数据之前,表和索引必须存在IMPORT可以在导入数据

51、时创建表和索引支持WSF文件格式不支持WSF文件格式能够对表和视图进行IMPORTLOAD的对象必须是表在进行IMPORT时,其他程序能够对表进行存取在进行LOAD时,其他程序不能对表进行存取LOAD将导入数据的表所在表空间置为排它状态导入的所有数据都被日志所记录LOAD只做极少量的日志IMPORT会激活触发器LOAD不会激活触发器IMPORT可以使用COMMITCOUNT参数指定每隔一定数目的数据行就进行一次提交,如果IMPORT失败,可以从最后的一次提交点重新开始。LOAD可以使用SAVECOUNT参数指定每隔一定数目的数据行就进行一次保存,如果LOAD失败,可以从最后的一次提交点重新开始

52、。IMPORT使用的是数据库内部的临时表空间LOAD使用的是数据库以外的临时空间所有的约束在IMPORT过程中都将被总结在LOAD过程中只检查唯一性约束LOAD关闭约束检查,需要在LOAD后用SET INTEGERITY消除表上的CHECK PENDING状态在IMPORT过程中,当每一行被导入时,索引关键字被插入到索引中在LOAD过程中,LOAD在LOAD阶段搜集索引关键字,在BULID阶段统一生成索引如果需要重新搜集统计信息,在IMPORT后使用RUNSTAT工具如果需要重新搜集统计信息,可以在LOAD后使用RUNSTAT工具,也可以在LOAD过程中进行搜集在LOAD中直接搜集统计信息会延

53、长LOAD所需时间IMPORT能够被DB2 Connect支持LOAD能够被DB2 Connect支持数据导入文件必须在执行IMPORT的节点上数据导入文件必须在要导入数据的数据库所在的节点上IMPORT不需要备份根据复制选项的不同,可能需要进行备份IMPORT导入的数据在日志中会有记录第四章 数据库恢复在防止关键数据的丢失当中,恢复用户自己的环境十分重要。有一些工具可以帮助用户管理自己的环境和保证用户可以对自己的数据实施充分的恢复措施。我们将讨论在关系数据库系统中的日志存档概念,因为它属于数据库的恢复功能的组成部分。日志文件是由DB2用来确保数据库完整性,即使当出现某些不可预见的问题引起用户

54、系统瘫痪时,比如发生断电故障,也能做到这一点。要充分理解日志工作的目的,首先解释清楚工作单元(unit of work)和事务 (transaction)这两个概念。4.1 工作单元为了确保数据库中数据的一致性,应用程序经常必须立即实施一些变更。类似,它必须禁止所有的变更。这就叫做工作单元(unit of work)。工作单元是应用程序进程内可恢复的操作序列。工作单元是应用程序用来确保在数据库中不引入不一致数据的基本机制。在任何时刻,应用程序进程都有一个工作单元,而应用程序进程的生存期可能涉及许多工作单元。4.2事务在象DB2这样的关系数据库中,工作单元被称为事务 (transaction)。

55、事务是应用程序进程内的一个可恢复的SQL操作序列。对数据库的任何一次读或写都是在某次事务内完成的。任何一个成功地与数据库相连接的应用程序都自动地启动一个事务。应用程序必须通过发出一条 SQL COMMIT(委托确认)或SQL ROLLBACK(退回)语句去结束该事务。 SQL的 COMMIT语句告诉数据库管理员立即对数据库实施事务中的所有数据库变动(插入、更新、删除)。SQL的 ROLLBACK语句告诉数据库管理器不实施这些变动,但将受到影响的行返回到开始该事务之前的原有状态。4.3日志文件的使用为了确保用户数据的完整性,DB2已经实施提前写日志存档模式。提前写日志存档的基础是指:当发出删除、

56、插入或更新数据库中某一数据的 SQL调用时,所做出数据变更首先要写到日志文件中去。当发出一条 SQL委托确认命令时 DB2要保证把为了重新运作(replay)所需要的日志文件都写入磁盘中。在发生断电之类的不幸事故时,日志文件可以用来把数据库退回到原来的某个一致性状态。所有被委托确认的事务都将重新再做一遍,所有非委托确认的事务都将回退到原有起点。所有数据库都有与它们相关联的日志文件。日志文件有预先定义的长度。因此,当日志文件被填满时,日志存档过程就要在另一个日志文件中继续进行。4.4日志管理配置4.4.1日志的类型 现在我们来考查可能出现在DB2中的两类日志: 循环日志 (Circular lo

57、gging) 归档日志 (Archival logging)4.4.2循环日志用这种类型的日志,将按顺序使用各个日志文件。当保留在这类日志文件中的所有工作单元被委托确认或退回时,这些日志文件可以被重新使用。所委托确认的变更将被反映在支持数据库的磁盘上。循环日志(circular logging)方法如图6.3中所示。 1主日志文件 2“n”辅日志文件夹 3 图4.3 循环日志 循环日志使用两类日志文件:主日志文件(Primary log files)辅助日志文件(Second log files)主日志文件是预先分配的,而辅助日志文件仅在需要时才分配。如果数据库管理器需要序列中的下一个日志,并

58、且不能被重用,那么将分配一个辅助日志文件,至直主日志文件变得可供重用或者所分配辅助日志文件的数目被超出为止。一旦数据库管理器决定辅助日志文件不再需要时,辅助日志文件便被收回。当数据库激活时,分配主日志文件。主日志文件和辅助日志文件的数目由数据库参数LOGPRIMARY和 LOGSECOND来决定。当数据库最初被创建时,循环日志方式作为默认的日志方式被激活。配置以循环方式的数据库仅能恢复到曾经做过备份的点。对数据库进行恢复时,自从进行备份以后对数据库所做的任何工作都将丢失。由于这个原因,循环日志方式最适合用于那些只供查询的数据库。4.4.3归档日志 归档日志(archival logging)是

59、这样一种日志管理技术,其中的日志文件处于非活动状态时便将它们做归档处理。归档日志方法如图 6.4所示。12活动的一包含有关非委托确认的或非扩充的事务。DATA1314联机归档一包含被委托确认的和被扩充的事务。存放于ACTIVE日志子目录中。15 脱机归档 归档数据来 ACTIVE日志子目录 (也可能在其它介质上)。16 图4.4 归档日志方法Active(活动的)(由数15 和16表示) 这些文件包含与尚未委托确认(或退回)工作的事务相关的信息。它们还包括已经被委托确认但它们的变更还没有写回到数据库文件中的事务信息。On_ line Archival (联机归档)(由数14表示)这些文件包含有

60、已经完成不再需要崩溃恢复保护的事务有关的信息。它们叫做联机(on_ line)是因为它们驻留在与活动日志文件相同的子目录中。Off-line Archival(脱机归档)(由数12和 13表示) 这些文件已经被从活动的日志文件子目录传送出。传送这些文件的方法可能是一个手工过程,比如,通过 user exit调用的手工过程。只要简单地通过把归档日志文件传递至另一个目录,把它们存储到磁带或其它某种介质上,就可以把归档日志文件置为 “脱机的”(off-line)。 两个配置参数允许用户去配置进行归档日志的数据库: LOGRETAINUSEREXIT 当LOGRETAIN数据库配置参数被启动时,在日志

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论