培训资料手册_第1页
培训资料手册_第2页
培训资料手册_第3页
培训资料手册_第4页
培训资料手册_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

H:\精品资料\建筑精品网原稿ok(删除公文)\建筑精品网5未上传百度第一章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.1JDBC是SUN公司提供的利用JAVA语言对关系型数据库进行存取的标准。在WEB上我们能够经过编写JAVAApplet或者JAVAServlet来实现对UDB的存取。其中Applet运行在客户端,只需要一个支持JAVA的浏览器(如IE和Netscape等)即可运行,客户端不需要安装其它软件。Applet能够经过指定端口与服务器端的JDBC服务器进行通信,提供对数据的存取。Servlet是适应当今瘦客户机发展方向的一种编程模式,具有效率高,可移植性好等特点。Servlet运行在WEB服务器端,需要Servlet引擎(如WebsphereApplicationServer)的支持,服务器端一般还需要安装Run-timeClient组件。1.3.2Net.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.4UDB的数据库管理服务器实际上也是一个实例,只不过这个实例不是用于数据服务的,而是用于管理目的。数据库管理服务器提供以下功能:接受远程客户端的管理请求,将远程的管理请求在数据库服务器端实现允许用户进行任务调度允许用户对系统进行远程监控响应DB2Discovery,为其提供系统信息数据库管理服务器能够在系统安装时自动生成,也能够在安装后手工创立,在一个数据库节点中只能有一个数据库管理服务器。1.4如果没有在安装时创立数据库管理服务器,能够使用命令手工创立。具体命令如下:dasicrt管理服务器的名字(UNIX平台)db2admincreate(INTEL平台)启动和停止数据库管理服务器的命令:db2adminstart启动管理服务器db2adminstop停止管理服务器显示当前数据库管理服务器名:dasilist(UNIX平台)db2admin(INTEL平台)删除当前数据库管理服务器:dasidrop管理服务器的名字(UNIX平台)db2admindrop(INTEL平台)1.5、DB2环境变量的设置1.5除了实例配置文件和数据库配置文件中所包含的参数之外,还有一些配置参数对数据库环境起到控制作用。这些配置参数分为三类:环境变量:这类变量的设置方法因操作系统的不同而有所差异。例如在WindowsNT环境中,选择控制面板系统环境来设置;在OS/2中则要更改config.sys文件。这类变量在更改后很可能需要重新启动系统才生效。实例级登记项:作用范围是某一特定实例。能够用db2set命令来设置。更改后需要重新启动该实例才生效。全局级登记项:作用范围是整个数据库系统。能够用db2set命令来设置。更改后需要重新启动所有实例才生效。举例:变量类型变量名称变量作用环境变量DB2INSTANCE缺省的DB2实例,如果没有显式地连接到某个实例,则所有的操作都被假定是对该实例进行的。环境变量DB2DBDFT缺省的数据库,如果没有显式地连接到某个数据库,则所有的操作都被假定是对该数据库进行的。实例级登记项DB2COMM设置该实例用那种网络协议与客户端通信。全局级登记项DB2SYSTEM该DB2系统的名字。全局级登记项DB2ADMINSERVER该系统上所使用的数据库管理服务器的名字系统在检查系统的变量时,按照先环境变量,再实例级登记项、最后全局级登记项的顺序来搜索。1.5db2set命令能够用来管理和设置DB2的登记项,命令语法如下:db2set<option>variable=value其中常见的命令选项:-g:更改全局级变量-i:instance如果更改的是实例登记项,指定该实例的名字-l:列出所有的实例登记项-lr:列出所有的登记项例子:db2setDB2ADMINSERVER显示当前的数据库管理服务器db2setDB2COMM=TCPIP,NETBIOS设置缺省实例的交流协议为TCP/IP和NETBIOSdb2set–all列出当前所有的登记项的值1.6、访问控制—权限1.6.1、DB2访问控制的层次结构SYSADMSYSADMSYSCTRL权力DBADM权力DBADMSYSMAINTSYSMAINT特权特权DB2中的访问控制层次如上图所示。能够对DB2的用户赋于不同级别的权力和各种特权。其中权力(Authorities)是对一组数据库对象进行存取的特权集,有特定的名称。而特权(Privileges)则是对特定对象访问的权利。权力(Authorities)分为以下级别:(1)、SYSADM—系统管理该权限是一个实例中的最高权限。能够完成一个实例范围内任何管理工作。能够经过实例配置变量中的SYSADM_GROUP参数来指定一个用户组拥有该权限。如果该参数为空,在WindowsNT环境下,创立该实例的用户拥有该权限;在UNIX环境下,与实例同名的用户拥有该权限。(2)、SYSCTRL—系统控制该权限能够完成系统中的管理功能,但不能访问数据。但拥有该权限的用户能够创立数据库,并管理自己创立的数据库中的数据。能够经过实例配置变量中的SYSCTRL_GROUP参数来指定一个用户组拥有该权限(3)、SYSMAINT—系统维护该权限只能完成系统中与维护有关的任务,但不能访问数据,而且拥有该权限的用户不能创立数据库。能够经过实例配置变量中的SYSMAINT_GROUP参数来指定一个用户组拥有该权限。(4)、DBADM—数据库管理该权限是数据库级的权限,能够完成数据库的管理工作。该权限能够经过SQL语句授予。四种级别的权力对比如下:功能SYSADMSYSCTRLSYSMAINTDBADM移植数据库能够更改实例配置参数能够赋予或撤消DBADM权限能够指定SYSCTRL组能够指定SYSMAINT组能够更改数据库目录能够能够中断应用程序能够能够创立/删除数据库能够能够创立/删除表空间能够能够利用恢复建立一个数据库能够能够更改数据库配置参数能够能够能够备份数据库和表空间能够能够能够恢复一个存在的数据库能够能够能够执行前滚恢复能够能够能够启动/停止实例能够能够能够恢复表空间能够能够能够使用TRACE工具能够能够能够获取实例和数据库的快照信息能够能够能够查询表空间状态能够能够能够能够更改日志历史文件能够能够能够能够休止表空间能够能够能够能够使用RUNSTATS工具能够能够能够能够对表做LOAD能够能够读日志文件能够能够能够创立/删除/激活事件监视器能够能够能够第二章DB2的图形用户界面2.1、DB2的图形界面概述在UDB之前的DB2产品中,提供给用户的图形界面很少。大部分的管理工作和操作只能经过手工键入命令的方式来实现。UDB的出现改变了这一现状,它提供了丰富的图形化工具,使得管理工作变得更加轻松。2.2、DB2的图形化工具2.2.1、客户端配置工具—CCA要对远程数据库进行存取,首先要设置从客户端到远程数据库的网络连接。这个过程是一个比较复杂的过程,需要用户对网络参数、配置命令要有一定程度的了解。CCA就是一个用来帮助用户设置从客户端到远程数据库连接,减轻用户负担的工具。它提供了三种配置方法供用户选择:人工方法该方法对用户的要求较高,需要用户了解要连接的数据库服务器的相关信息,例如使用那些网络协议、要连接的数据库的名称等。用户能够经过CCA提供的界面输入网络连接所需信息,完成连接配置。自动搜索方法该方法不需要用户有任何网络知识,它会自动利用一种叫DB2Discovery的机制在局域网中自动搜索DB2服务器。它会与远程数据库节点上的数据库管理服务器(

DAS)进行通讯,然后将数据库管理服务器搜集的信息返回。用户能够根据返回信息选择要连接的数据库。载入配置文件方法该方法允许从要连接的数据库所在的服务器端或者从已经配置成功的客户端生成一个配置文档。在文档中包含了相应的配置信息,用户能够在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警报中心搜集所有数据库管理器发出的警告信息,管理人员能够根据这些警告信息对某些系统错误进行分析。查找出系统的潜在问题。可将”警报中心”设置为自动打开,显示已超过其阈值并因此处于警报或警告状态的各种受监控对象。阈值的设置用可从”控制中心”调用的”性能监控程序”来完成。图符的颜色指示警告的严重性。红色图符指示报警信号。黄色图符指示警告。并显示为性能变量返回的数据。1.2.7、许可证中心(LicenseCenter)许可证中心能够对UDB的许可证信息提供集中管理,能够允许用户增添、更改和删除UDB产品的许可证。用户也能够浏览当前安装在UDB系统上的许可证信息,比如:产品名称、产品的版本、过期时间及允许的用户数目等信息。具体界面见下图。2.2.8、控制中心(ControlCenter)控制中心是UDB的管理工具的核心,绝大多数的管理任务和对其它管理工具的存取都能够经过控制中心来完成。具体界面如下图。控制中心有如下组成部分:菜单条:菜单条在屏幕的顶部。从菜单条选择菜单允许您执行许多功能,如关闭DB2工具、存取图形工具以及存取联机帮助和产品信息。可经过单击菜单条上的每一项来熟悉这些功能经过菜单的方式完成对控制中心的存取。工具栏:位于菜单条下方的一组图形按钮,经过点击能够调用其它的管理工具,如命令中心、脚本中心等以上所提到的工具对象窗格:对象窗格位于屏幕的左边窗格中,它按照UDB数据库对象的层次关系(UDB系统--实例—数据库--数据库内部对象)对系统进行组织,以树状的形式显示。用户能够方便地从中找到要管理的对象。对象窗格中的某些对象包含其它对象。对象左面的加号(+)指示该对象是折叠的。可单击加号展开它。当展开对象后,在它的左面会出现一个减号(-)。要折叠此对象,单击减号。内容窗格:位于屏幕的右边窗格中。此窗格显示在对象窗格中选定对象包含的所有对象,例如,若您在对象窗格中选择表文件夹,数据库中所有的表都将出现在”内容”窗格中。若您选择数据库文件夹,内容窗格会变为实例中的所有数据库。用户能够在对象窗格或内容窗格中选择要操作的对象,按鼠标右键按出弹出式菜单,能对该对象所进行的所有操作几乎都包含在菜单中。控制中心除了能够从DB2桌面的文件夹中进行存取,也能够在命令行下键入db2cc命令存取。2.2.9、工具设置(ToolSettings)工具设置能够用来更改某些系统工具的设置,比如设定SQL语句之间的分隔符、如果DB2实例没有启动,是否需要在UDB工具启动的时候自动启动实例。工具设置能够从工具栏上的图形按钮存取。具体界面如下图。2.2.10、快速向导(SmartGuides)UDB中很多任务的完成涉及到很多术语和参数,如果用户对这些信息不是很了解,会影响到任务的完成效果。为了能够对这些用户提供帮助,UDB中提供了很多快速向导。这些快速向导能够针对不同的任务向用户提出一些比较浅显的问题,根据用户对问题的回答设定相应的参数。帮助用户完成相应的任务。UDB中提供的快速向导分为以下几类:对象创立类:在创立数据库、表空间和表时提供帮助。数据库管理任务:在备份和恢复数据库时提供帮助。多点更改:在分布式环境下,对涉及到多数据库更改的事务进行控制。性能调节:帮助用户对系统性能进行调节。具体的快速向导有:创立数据库快速向导:允许用户创立数据库、分配存储空间以及选择基本性能选项。要调用它,选择对象窗格中的”数据库”图符,单击鼠标按钮2,然后选择创立->使用SmartGuide创立数据库。创立表快速向导:此快速向导帮助用户使用预定义的列模板来设计列,创立表的主关键字并将一个或多个表空间分配给表。要调用它,选择”表”图符,单击鼠标按钮2,然后选择创立->使用SmartGuide创立表。创立表空间快速向导:此快速向导允许用户创立一个新的表空间并设置存储及性能选项。要调用它,选择”表空间”图符,单击鼠标按钮2,然后选择创立->使用SmartGuide创立表空间。索引快速向导:该快速向导帮助用户确定对给定的一组SQL语句,要创立或删除哪些索引,才能使给定的语句性能最优。要调用它选择”索引”图符,单击鼠标按钮2,然后选择创立->使用SmartGuide创立索引。性能配置。此快速向导帮助您根据有关数据库的用途来调谐数据库。然后它对数据库和实例建议新的配置参数,并在需要时自动应用它们。要调用它,选择相应数据库的图符,单击鼠标按钮2,然后选择使用SmartGuide配置。复原数据库快速向导:此快速向导带您经历恢复数据库的全过程。要调用它,选择相应数据库的图符,单击鼠标按钮2,然后选择复原->使用SmartGuide复原数据库。备份数据库快速向导:它询问用户关于数据库中的数据、数据库的可用性以及可恢复性要求等基本问题。然后它建议一个备份方案、创立作业脚本并调度它。要调用它,选择相应数据库的图符,单击鼠标按钮2,然后选择备份->使用SmartGuide备份数据库。配置多站点更新快速向导:该快速向导帮助用户在分布式环境下,对涉及到多数据库更改的事务进行控制。要使用它,选择相应实例,单击鼠标按钮2,然后选择多站点更新->使用SmartGuide配置。2.2.11、通用工具选项除了以上提供的工具之外,UDB还有几个其它相关工具选项。例如:显示SQL(ShowSQL)和显示命令(ShowCommand)如果某个工具生成了SQL语句,比如创立表、索引等工具,那么在该工具界面上将有显示SQL按钮可用。类似地,生成DB2命令的工具将有显示命令按钮可用。单击这两个按钮之一,能够查看该工具根据用户在图形界面中所做选择而生成的SQL语句或DB2命令。帮助用户了解该界面是如何工作的。另外该选项也允许用户将语句或命令另存为脚本以备将来使用。若用户希望再次运行相同的语句或命令,能够不必重新输入SQL语句或DB2命令。一旦SQL语句或DB2命令已保存到脚本中,用户能够调度脚本、编辑此脚本进行更改或创立类似的脚本而不必重新输入语句或命令。显示相关对象(ShowRelated)显示相关项显示表、索引、视图、别名、触发器、表空间、”用户定义函数”以及”用户定义类型”之间的直接关系。显示相关对象能够帮助用户了解一个对象与哪些对象相关,分析数据库的结构以及判断可能执行的操作会造成的影响。例如,如果用户希望删除有从属视图的表,显示相关项会告诉用户如果进行删除操作后,哪些视图将变为无效视图。从”控制中心”的内容窗格中的很多对象中,单击鼠标按钮2。都会看到”显示相关对象”的选项。第三章数据移动3.1、数据移动概述在数据库的使用过程中,经常需要将一个数据库中的数据迁移到另外的一个数据库中。为了实现这种功能,我们能够使用数据库复制技术,这种技术在大多数的关系型数据库中都有相应的实现,不过这种方法对管理的要求较高,而且需要网络的连接。更常见的方法是利用某种类型的外部文件作为中介,将一个数据库中的某个表中的数据导出到一个外部文件中,然后把该文件中的数据导入到另外一个数据库中。DB2中实现以上功能的主要工具有三个:EXPORT、IMPORT和LOAD。其中EXPORT的功能是将表中的数据导出到外部文件中;而IMPORT和LOAD的功能是将外部文件中的数据导入到一个表中。IMPORT和LOAD的功能类似,但在实现手段上有很大差异。能够被DB2所支持用作数据移动的中间文件的格式有四种:非定界ASCII码文件(ASCII)、定界ASCII码文件(DELASCII)、WSF文件和PC/IXF文件。其特点是:ASCII:纯文本格式,每个数据列之间中有分隔符,但数据行之间没有分隔符。ASCII文件不能被EXPORT支持。、DEL:纯文本格式,数据列之间有分隔符,数据行之间也有分隔符。WSF:Lotus1-2-3工作表格式。WSF文件不能被LOAD支持。PC/IXF:一种非常通用的格式,被多种数据库管理系统所支持。能够用作在异种数据库中进行数据转移。3.2、EXPORT的功能和使用EXPORT用于将一个表或多个表中的数据导出到外部文件中。下面是EXPORT的一个例子:,staff.dept,org.locationformorg,staff,whereorg.deptname=staff.dept在该例中,staff和org中的相应数据将被输出到myfile文件中,该文件为PC/IXF格式。注意事项:在做EXPORT之前,首先要连接到相应的数据库上。因为要对表或视图(EXPORT支持对视图进行操作)进行SELECT操作,执行EXPORT的用户至少要有相关表或视图上的SELECT权限。如果使用PC/IXF文件,文件中将包含表中的索引定义。能够经过DB2Connect将主机上的数据导出到外部文件中。3.3、IMPORT的功能和使用IMPORT能够被看作是EXPORT的逆过程,用于将数据从外部文件中导入到数据库之中。下面是一个IMPORT的例子:db2connecttomusicdbdb2importfromartexprtofixfmessagesartmsgcreateintoartistsin<tablespace>indexin<indextablespace>longin<longtablesapce>在该例中,artexprt文件的数据被导入到表artists中,这个表在IMPORT之前并不存在,系统将根据artexprt文件的格式创立表后,再进行数据导入。注意事项:在做IMPORT之前,首先要连接到相应的数据库上。因为要对表或视图(IMPORT支持对视图进行操作)进行修改操作,执行EXPORT的用户至少要有相关表或视图上的相关权限(依据导入模式的不同而不同)。比如,使用INSERT模式,至少要有相应表上的INSERT权限;如果使用CREATE模式,则需要数据库上的CREATETAB权限。如果使用CREATE模式,必须使用PC/IXF文件进行数据导入。能够经过DB2Connect向主机上的数据库导入数据。3.4、LOAD的功能和使用3.1、LOAD概述LOAD的功能与IMPORT类似,但实现的方式有很大区别。其操作方式更加贴近底层。LOAD会把要导入的数据格式化成数据页,利用并行I/O写入存储介质。在LOAD过程中,只进行极少量的日志记录,而且不进行约束检查。因此,LOAD导入的速度要比IMPORT快很多,特别是数据量比较的的时候,LOAD的速度优势十分明显。LOAD能够从三种格式的文件进行数据导入,分别是非定界ASCII码文件、定界ASCII码文件和IXF文件格式。LOAD不支持WSF文件作为数据导入文件。3.4.2、LOAD的三个阶段与IMPORT相比,LOAD虽然在速度上有明显的优势,但对管理上的要求比较高。LOAD能够分成三个阶段。第一个阶段叫LOAD阶段。在这个阶段中,数据被导入到表中,如果表上有索引存在,LOAD将按照索引定义搜集索引关键字,然后进行排序。如果有不符合表定义的数据行,LOAD将会把它们放到一个文件(DUMPFILE)中,同时在消息文件(MESSAGEFILE)中进行记录。如果在命令中指定了SAVECOUNT参数,LOAD将每隔一定数目的数据行进行一次保存。第二个阶段叫BUILD阶段。在这个阶段中,LOAD会利用在LOAD阶段搜集的索引关键字构造索引。如果表上没有索引,这个过程将被忽略。另外,如果表上定义了唯一性约束,LOAD会在这个阶段进行检查。如果有违反唯一性约束的数据行,LOAD将会把它们拷贝到一个特殊的表—例外表(ExceptionTable)中。相应的信息会保存在信息文件(MESSAGEFILE)中。第三个阶段叫DELETE阶段。在这个阶段中,所有违反唯一性约束的行将被从表中删除。3.4.3、异常情况的处理由于某些操作的失败,表空间可能处于某种异常状态。表空间的状态能够经过DB2LISTTABLESPACES。如果状态的编码为0x0000,表明表空间状态正常,否则表明表空间处于某种异常状态。比如0x0008表明表空间处于装载挂起(LOADPENDING)状态,0x010表明表空间处于删除挂起(

DELETEPENDING)状态,0x020表明表空间处于备份挂起(BACKUPPENDING)状态。上面提到的几个状态都是在LOAD过程中有可能发生的。我们下面就来探询其原因及解决办法。3.4.4如果LOAD由于用户的错误而没有运行,比如指定的数据输入文件不存在或者要载入数据的表不存在,则对表空间的状态不会有任何影响。如果LOAD在向表中导入数据的时候出现了错误,LOAD会终止,同时将要导入数据的表所在的表空间置于LOADPENDING状态。如果表空间处于LOADPENDING,除了使用LOAD工具对表空间进行操作来消除LOADPENDING状态以外,不能对该表空间进行其它操作。出现了LOADPENDING状态以后,应该对LOAD生成的MESSAGE文件进行检查,查看是在LOAD的哪一个阶段出现的问题。然后能够使用LOAD的RESTART选项重新进行LOAD,LOAD会自动的从上一个一致性点进行恢复。比如指定了SAVECOUNT为100,在导入到531行记录时出现异常终止,则LOAD会从第501条记录重新开始导入。如果是在LOAD过程中的BUILD阶段和DELETE阶段时出现了错误,LOAD会从这两个阶段的起始点重新开始。如果利用RESTART选项后,LOAD能够成功,则LOADPENDING状态能够被消除。如果使用RESTART选项依然不能成功,则能够使用TERMINATE选项来终止LOAD过程,同时消除LOADPENDING状态。如果我们在终止LOAD时使用了INSERT选项,则能够将表恢复到LOAD以前的状态。如果我们使用的是REPLACE选项,则表中的数据被清空。3.4.4LOADPENDING状态是LOAD失败后出现的异常状态。但即使LOAD成功了,也不能保证表空间处于正常状态,这取决于LOAD时选择的复制选项。如果我们选择的是COPYYES(缺省选项),则LOAD成功后会将表空间置成BACKUPPENDING状态,需要对该表空间进行备份才能消除;如果我们选择的是COPYYES,则系统在LOAD过程中自动对载入的数据进行备份,LOAD成功后表空间处于正常状态;如果我们选择的是NONRECOVERABLE,则系统在LOAD过程中不对载入数据进行备份,在LOAD成功后也不把表空间置于BACKUPPENDING状态。之因此LOAD要提供几种复制选项的原因是由于出于数据完整性的考虑。我们在前面已经介绍过,LOAD只做很少的日志,导入的数据不被记录在日志之中。如果在LOAD以后,数据库崩溃了,LOAD导入的数据将无法得到恢复,造成数据的不完整。如果使用COPYNO选项,系统会强制用户在LOAD之后对表空间进行备份,如果以后需要对数据库进行恢复,则能够从中恢复LOAD导入的数据;如果使用COPYYES选项,则系统在LOAD过程中会自动对导入的数据进行备份,能够用于日后的恢复;如果使用NONRECOVERABLE选项,则等于用户明确表示日后不想恢复LOAD导入的数据,这个选项一般用于接收数据导入的表被用于只读操作,如果需要对数据进行恢复,重新进行LOAD就能够。3.5、IMPORT和LOAD的对比IMPORT和LOAD在功能上相似,但在实现方式和使用上有很大不同,我们将经过下表将这两中工具进行一下对照。IMPORTLOAD说明在导入大量数据时速度较慢在导入大量数据时速度明显比IMPORT快LOAD是将数据格式化成数据页的形式直接写入数据库如果使用IXF文件格式,表和索引能够不存在在导入数据之前,表和索引必须存在IMPORT能够在导入数据时创立表和索引支持WSF文件格式不支持WSF文件格式能够对表和视图进行IMPORTLOAD的对象必须是表在进行IMPORT时,其它程序能够对表进行存取在进行LOAD时,其它程序不能对表进行存取LOAD将导入数据的表所在表空间置为排它状态导入的所有数据都被日志所记录LOAD只做极少量的日志IMPORT会激活触发器LOAD不会激活触发器IMPORT能够使用COMMITCOUNT参数指定每隔一定数目的数据行就进行一次提交,如果IMPORT失败,能够从最后的一次提交点重新开始。LOAD能够使用SAVECOUNT参数指定每隔一定数目的数据行就进行一次保存,如果LOAD失败,能够从最后的一次提交点重新开始。IMPORT使用的是数据库内部的临时表空间LOAD使用的是数据库以外的临时空间所有的约束在IMPORT过程中都将被总结在LOAD过程中只检查唯一性约束LOAD关闭约束检查,需要在LOAD后用SETINTEGERITY消除表上的CHECKPENDING状态在IMPORT过程中,当每一行被导入时,索引关键字被插入到索引中在LOAD过程中,LOAD在LOAD阶段搜集索引关键字,在BULID阶段统一生成索引如果需要重新搜集统计信息,在IMPORT后使用RUNSTAT工具如果需要重新搜集统计信息,能够在LOAD后使用RUNSTAT工具,也能够在LOAD过程中进行搜集在LOAD中直接搜集统计信息会延长LOAD所需时间IMPORT能够被DB2Connect支持LOAD能够被DB2Connect支持数据导入文件必须在执行IMPORT的节点上数据导入文件必须在要导入数据的数据库所在的节点上IMPORT不需要备份根据复制选项的不同,可能需要进行备份IMPORT导入的数据在日志中会有记录第四章数据库恢复在防止关键数据的丢失当中,恢复用户自己的环境十分重要。有一些工具能够帮助用户管理自己的环境和保证用户能够对自己的数据实施充分的恢复措施。我们将讨论在关系数据库系统中的日志存档概念,因为它属于数据库的恢复功能的组成部分。日志文件是由DB2用来确保数据库完整性,即使当出现某些不可预见的问题引起用户系统瘫痪时,比如发生断电故障,也能做到这一点。要充分理解日志工作的目的,首先解释清楚工作单元(unitofwork)和事务(transaction)这两个概念。4.1工作单元为了确保数据库中数据的一致性,应用程序经常必须立即实施一些变更。类似,它必须禁止所有的变更。这就叫做工作单元(unitofwork)。工作单元是应用程序进程内可恢复的操作序列。工作单元是应用程序用来确保在数据库中不引入不一致数据的基本机制。在任何时刻,应用程序进程都有一个工作单元,而应用程序进程的生存期可能涉及许多工作单元。4.2事务在象DB2这样的关系数据库中,工作单元被称为事务(transaction)。事务是应用程序进程内的一个可恢复的SQL操作序列。对数据库的任何一次读或写都是在某次事务内完成的。任何一个成功地与数据库相连接的应用程序都自动地启动一个事务。应用程序必须经过发出一条SQLCOMMIT(委托确认)或SQLROLLBACK(退回)语句去结束该事务。SQL的COMMIT语句告诉数据库管理员立即对数据库实施事务中的所有数据库变动(插入、更新、删除)。SQL的ROLLBACK语句告诉数据库管理器不实施这些变动,但将受到影响的行返回到开始该事务之前的原有状态。4.3日志文件的使用为了确保用户数据的完整性,DB2已经实施提前写日志存档模式。提前写日志存档的基础是指:当发出删除、插入或更新数据库中某一数据的SQL调用时,所做出数据变更首先要写到日志文件中去。当发出一条SQL委托确认命令时DB2要保证把为了重新运作(replay)所需要的日志文件都写入磁盘中。在发生断电之类的不幸事故时,日志文件能够用来把数据库退回到原来的某个一致性状态。所有被委托确认的事务都将重新再做一遍,所有非委托确认的事务都将回退到原有起点。所有数据库都有与它们相关联的日志文件。日志文件有预先定义的长度。因此,当日志文件被填满时,日志存档过程就要在另一个日志文件中继续进行。4.4日志管理配置4.4.1日志的类型现在我们来考查可能出现在DB2中的两类日志:·循环日志(Circularlogging)·归档日志(Archivallogging)4.4.2循环日志用这种类型的日志,将按顺序使用各个日志文件。当保留在这类日志文件中的所有工作单元被委托确认或退回时,这些日志文件能够被重新使用。所委托确认的变更将被反映在支持数据库的磁盘上。循环日志(circularlogging)方法如图6.3中所示。

11主日志文件2”n”主日志文件2”n”辅日志文件夹辅日志文件夹33图4.3循环日志循环日志使用两类日志文件:·主日志文件(Primarylogfiles)·辅助日志文件(Secondlogfiles)主日志文件是预先分配的,而辅助日志文件仅在需要时才分配。如果数据库管理器需要序列中的下一个日志,而且不能被重用,那么将分配一个辅助日志文件,至直主日志文件变得可供重用或者所分配辅助日志文件的数目被超出为止。一旦数据库管理器决定辅助日志文件不再需要时,辅助日志文件便被收回。当数据库激活时,分配主日志文件。主日志文件和辅助日志文件的数目由数据库参数LOGPRIMARY和LOGSECOND来决定。当数据库最初被创立时,循环日志方式作为默认的日志方式被激活。配置以循环方式的数据库仅能恢复到曾经做过备份的点。对数据库进行恢复时,自从进行备份以后对数据库所做的任何工作都将丢失。由于这个原因,循环日志方式最适合用于那些只供查询的数据库。4.4.3归档日志归档日志(archivallogging)是这样一种日志管理技术,其中的日志文件处于非活动状态时便将它们做归档处理。归档日志方法如图6.4所示。

1212活动的一包含有关非委托确认的或非扩充的事务。活动的一包含有关非委托确认的或非扩充的事务。DATA13DATA131414联机归档一包含被委托确认的和被扩充的事务。存放于ACTIVE日志子目录中。15脱机归档——归档数据来联机归档一包含被委托确认的和被扩充的事务。存放于ACTIVE日志子目录中。15ACTIVE日志子目录(也可能在其它介质上)。1616图4.4归档日志方法Active(活动的)(由数15和16表示)这些文件包含与尚未委托确认(或退回)工作的事务相关的信息。它们还包括已经被委托确认但它们的变更还没有写回到数据库文件中的事务信息。On_lineArchival(联机归档)(由数14表示)这些文件包含有已经完成不再需要崩溃恢复保护的事务有关的信息。它们叫做联机(on_line)是因为它们驻留在与活动日志文件相同的子目录中。Off-lineArchival(脱机归档)(由数12和13表示)这些文件已经被从活动的日志文件子目录传送出。传送这些文件的方法可能是一个手工过程,比如,经过userexit调用的手工过程。只要简单地经过把归档日志文件传递至另一个目录,把它们存储到磁带或其它某种介质上,就能够把归档日志文件置为”脱机的”(off-line)。两个配置参数允许用户去配置进行归档日志的数据库:·LOGRETAIN·USEREXIT当LOGRETAIN数据库配置参数被启动时,在日志文件变为活动状态时,不删除日志文件,当userexit这一数据库配置参数被激活时,每当日志文件不再需要用于日志写时,数据库管理器将调用叫做db2uexit的程序。数据库名和日志文件的路径被传送给该程序。归档日志方式不是默认的日志工作方式,但它是允许用户执行前滚(rollforward)恢复的唯一方法。4.4.4日志文件用于以下情形:Rollback(退回)CrashRecovery(事故恢复)RollForwardRecovery(前滚恢复)ROLLBACK命令使用日志文件去终止工作单元,而且退还由工作单元所做出的数据库变更。事故恢复如果用户的系统经历了磁盘故障、停电或其它类型的事故,就需要事故恢复去将数据库返回到一致的可用状态。事故恢复由两个阶段组成。第一个阶段对数据库重新应用所有的事务,不论这些事务是否被委托确认还是没有被委托确认。当到达活动日志文件尾部,这一阶段便告结束。第二个阶段回退所有非委托确认的事务。设置事故恢复的数据库配置参数是AUTORESTART。按照默认方式,该参数被设置为ON。前滚恢复每当恢复表空间备份或数据库备份时,就调用ROLLFORWARDDATABASE命令。前滚(rollforward)应用记录到数据库日志文件中的事务。每当读或写磁盘发生一个I/O错误时,页所驻留的空间便失效,而且被置于”前滚挂起”(rollforwardpending)状态。如果该挂起状态不能用表空间的前滚去清理,那么恢复之后需要有前滚操作。下面是ROLLFORWARDDATABASE命令的语法格式:ROLLFORWARDDATABASEdatabase-alias[USERusername[USINGpassword]][TO{isotime|ENDOFLOGS}[ANDSTOP]|STOP|QUERYSTATUS][TABLESPACEon-line][OVERFLOWLOGPATHlog-directory]图4.5ROLLFORWARDDATABASE命令的语法格式对图4.5中所示的参数的描述在下面给出:·database-alias(数据库别名)数据库名将前滚。·username(用户名)授权的用户标识。在该标识下,对数据库进行前滚。·password(口令)对所应用的用户名的口令。·TOisotime这是一个时间点,所有被委托确认的事务对该点进行前滚。这个参数仅对完全数据库恢复有效。·TOENDOFLOGS这一参数使得前滚过程去处理它在当前日志路径目录中所能够找到的所有日志文件。·STOP|ANDSTOP这表明用户已经处理过所有的日志文件而且用户想要建立数据库的一致性。·QUERYSTAUS列出已经进行完前滚操作的日志文件、所需要的下一个归档日志文件和自从前滚处理以来最后一个委托确认的事务的时间印戳。·TABLESPACEon-line表示前滚处理将在表空间级别上进行。·OVERFLOWLOGPATH指定另外一条日志路径去搜索存档的日志文件。4.5备份的恢复本小节描述备份与恢复服务程序,它们用来在出现事故时保护和恢复数据库。我们将讨论数据库与表空间这两种对象的备份和恢复问题。4.5.1执行数据库级别的备份当用户数据库处于连机或脱机状态时,用户都能够备份自己的数据库。如果执行的是状态的备份,那么只有备份任务与数据库相连接。所存储的数据必须保持一致性。备份的级别是根据灾难事故恢复的需要,它应当成为任何备份/恢策略的实质性部分。如果备份是以连机方式进行,在运行备份任务的同时,其它应用程序或进程可能继续去与之连接。只有激活前滚恢复过程,才能支持联机备份。要使用BACKUPDATABASE命令,用户必须拥有SYSADM、SYSCTRL或SYSMAINT权限。在发出BACKUPDATABASE命令前,必须启动数据库管理器(DB2START)。用户正在使用数据库目录,用户不需要显式地启动数据库管理器。BACKUPDATABASE命令使用数据库别名而不是数据库名本身作为该命令的一个参数。数据库能够是本地数据库或远程数据库。用户能够将数据库或表空间备份到磁盘、磁带或由一个象ADSTAR分布式存储管理器(ADSM)那样的服务程序的管理的位置。如果用户改变数据库配置参数去激活前滚恢复过程,那么在数据库可用之前,用户必须取一个该数据库的脱机备份。能够创立多个文件去包含备份的映象。在备份过程期间,被数据填满的内部缓冲区要备份。当这一缓冲区装满数据时,其上的数据要被复制到备份介质上。当用户调用BACKUPDATABASE命令时。她能够指定用于备份缓冲区的页数。最小的页数值是16。如果在备份数据库的关键时刻,系统发生了灾难事故,在用户重新发出BACKUPDATABASE命令之前,她不能成功地与数据库连接。BACKUPDATABADE命令的语法格式如下:对图4.6中给出的参数作如下的进一步解释:BACKUPDATABASEdatabase-alias[USERusername[USINGpassword]][TABLESPACEtablespace-name[{,tblspace-name}..]][ONLINE][USEADSM[OPENnum-sessSESSIONS]]|TOdir/dev[{,dir/dev}..]|LOADlib-buffBUFFERS][WITHnum-buffBUFFERS][BUFFERbuffer-size][WITHOUTPROMPTING]图4.6BACKUPDATABASE命令的语法·DATABASEdatabase-alias规定要备份数据库的别名。·USERusername标识在其名下备份任务的用户名。·USINGpassword用来检验用户名气口令。·TABLESPACEtablespace-name列出数据库内要备份的一个或多个表空间。·ONLINE规定采用联机处理方式;默认方式是脱机处理。联机处理需要把数据库激活成前滚处理方式。·USEADSMOPENnum-sessSESSIONS规定ADMS将成为这种备份的备份目录,而且规定在整个备份期间将使用的ADMS会晤数”num-sessions”。·TOtarget-area规定哪里将是备份的目标位置。这可能是一个目录或磁带设备名。如果备份至目录,必须指定完整的路径名。如果没有给出任何参数,备份将在当前目录上进行。·LOADlibrary-nameOPENnum-sessSESSIONS规定第三方供应商产品将作为这次备份的目录,并规定将使用”num-sessions”。·WITHnum-buffersBUFFERS要使用的缓冲区数目。·BUFFERbuffer-size用于适当处理的缓冲区以页为单位的大小。它的最小值是16页。默认值是1,024。·WITHOUTPROMPTING执行备份时不是新介质作提示。4.6执行数据库级别上的恢复用户要在其上执行恢复操作的数据库可能与从中备份出数据的原始数据库不同,或者也可能与该数据库相同。用户能够把数据恢复到新数据库或恢复到现有数据库的状况。为了把整个数据库或表空间备份恢复到现有数据库的状况,用户必须有SYSADM、SYSCTRL或SYSMAINT权限。要恢复到新数据库的状况,用户必须拥有SYSADM或SYSCTRL权限。在恢复数据库之前必须启动数据库管理器。如果已经用BACKUPDATABASE命令备份了数据库或表空间,那么用户能够只用RESTOREDATABSE命令。在恢复时刻,用户能够选择要执行哪种类型的恢复。用户能够从以下的恢复类型中进行选择:完全恢复备份影象中的所有内容。表空间恢复(使用只包括表空间的备份映象)。只恢复备份映象中的恢复历史文件。数据库可能是本地数据库或远程数据库。恢复过程需要排它性连接,因此当恢复任务开始时,任何其它应用程序都不能再针对该数据库运行。用于支持恢复任务的缓冲区的大小和数目能够作为命令参数被规定。在恢复过程进行期间,用户能够有选择性地使用多缓冲区(multiplebuffers)去改进恢复操作的性能。当用户调用RESTOREDATABASE命令时,她能够规定每个恢复缓冲区使用的页数。最小的页数值是16。恢复数据库命令所使用的数据库或表空间的备份考备拷贝能够存放在磁盘、磁带或由象ADSTAR分布式存储器管理器(ADSM)这样的产品管理所在的地方。我们说过,在恢复数据库时,用户能够规定是恢复到现有数据库状况,还是恢复到新数据库的状况,如图4.7中所示。备份现存新的删除表、索引长字段文件保留认证保持数据库字典替换表空间项保持历史核心数据库种子创立新数据库恢复认证恢复数据库配置文件设置默认日志路径恢复注解图4.7将备份映象恢复到数据库上一旦数据库级别上的恢复任务开始,直至恢复命令成功地完成之前,该数据库不能再使用。在允许对数据库进行访问之前,有可能执行前滚操作。如果在恢复操作期间发生了失败故障,那么在用户再次发出恢复命令而且成功地完成恢复操作之前,她不能与数据库连接。对于每种情形都需要考虑一些问题:·恢复到现有数据库上用户能够将完整的数据库备份或表空间备份的映象恢复到由一个或多个表空间组成的现有数据库。这一恢复任务删除来之表、索引和长型字段内容,而且用来自备份映象的内容取代它们。然后,它保留认证和数据库字典,该字典定义数据库安放在哪里和它怎样为现有数据库编目。最后,这一恢复操作取代要被恢复的每个表空间中的表空间项而且保留恢复历史文件,除非磁盘上历史文件已经被破坏。·恢复到新数据库上用户能够创立一个新数据库,然后把数据的备份映象恢复到这个新数据库上。在这种情形中,恢复任务使用数据库名和数据库别名创立一个新数据库,该数据库别名能够用目标数据库别名参数去指定。然后,它从该备份映象中恢复认证类型和数据库配置文件。它还修改数据库配置文件去表明默认的日志文件路径应当供日志过程使用。最后,从有关数据库字典的备份映象中恢复数据库的注释。如果用户要向其中恢复数据的目标别名与其中存放备份映象别名相同,那么就要核查数据库种子。如果数据库种子不同,该数据库的备份映象就不能从被恢复的数据库做出。该恢复过程继续删除与现有数据库相关联的日志,从备份映象那里复制数据库配置文件而且更改数据库的配置文件去表明日志过程应当采用默认的日志文件路程。如果数据库种子相同,那么备份映象能够从正在被恢复的数据库创立。恢复过程将继续保留当前的数据库配置文件,除非该文件被破坏了。如果备份映象是不可恢复的数据库,那么恢复过程还将删除该日志,否则将保留各个日志文件。下面给出的是RESTOREDATABASE命令的语法格式:RESTOREDATABASEsource-database-alias{USERusername[USINGpassword]][TABLESPACEon-line|HISTORYFILE]USEADSM[OPENnum-sessions]]|FROMdir/dev[{.dir/dev}..]LOADshared-lib[OPENnum-sessSESSIONS[}[TAKENATdate-time][TOtarget-directory][INTOtarget-database-alias][WITHnum-buffBUFFERS][BUFFERbuffer-size][WITHOUTROLLINGFORWARD][WITHOUTPROMPTING]图4.8RESTOREDATABASE命令的语法格式图4.8中出现的参数描述如下:·DATABASEsource-database-alias规定要恢复数据库的别名。·USERusername标识数据库要在其名下恢复的用户名。·USINGpassword验证用户名的口令。·TABLESPACEONLINE规定这是一个联机的处理方式;默认方式是脱机处理方式。当备份过程进行时,其它用户能够进行连接操作。一旦对于某个表空间的恢复过程开始,直到该恢复过程完成而且对该日志文件末尾的前滚在操作成功完成之前,该表空间不能被使用。联机表空间处理要求把数据库被激活为前滚处理方式。·HISTORYFILE规定只从备份映象中恢复历史文件。·USEADSMOPENnum-sessSESSIONS规定要用”num-sessions”(会晤号)从ADSM管理的输出中恢复的数据库。·FROMdir/device规定备份映象驻留其上的设备和目录。·LOADlibrary-nameOPENnum-sessSESSIONS规定将把第三方供应商产品作为这一备份的目标,而且使用特定的I/O会晤号。·TAKENATdate-time这个参数允许用户在若干个备份映象中进行选择。用户必须发出完整的时间印戳以表明哪个数据库映象要被恢复。·TOtarget-database-alias规定用来创立目标数据库的路径。该路径必须存在于服务器上。·INTOtarget-database-alias指定要把数据存放到其中的数据库名,以使能够在恢复时更改该名字或数据库。·WITHnum-buffBUFFERS用使用的缓冲区数目。·BUFFERbuffer-size用于适当过程中以页为单位的缓冲区的大小。最小值是16页;默认值是1,024页。·WITHOUTROLLINGFORWARD这个选项对于要恢复数据库的脱机备份映象有效。

温馨提示

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

最新文档

评论

0/150

提交评论