第2章 新手入门(摘自:DB2 9 FOR LINUX,UNIX,WINDOWS数据库管理认证指南(原书第6版))
DB2软件安装
使用DB2命令行处理器
创建实例
建立DB2环境
实例管理
本章通过概览如何建立一个DB2服务器来开始学习DB2。本章首先讨论在不同操作系统下的DB2安装过程,特别是在Windows操作系统环境下的DB2安装过程。另外,在本章中还将介绍分布式的安装方法。如果用户计划在整个网络中安装DB2产品,那么使用基于相应文件的安装将会为用户带来很多便利之处,诸如快捷、简化的安装部署等等。同时,对于一个DB2产品的多个相同的副本和配置也可以使用该安装响应文件系统架构。
在DB2产品安装完毕以后,系统将会检测安装过程所创建的环境。这需要从全局、用例以及用户级别等不同角度去理解对DB2进行管理的方法。DB2数据库是在数据库服务器的一个实例当中创建的,因此本章还将介绍在数据库服务器上多个实例的管理,包括实例管理的命令和工具。
211产品安装
在本节中,我们将讨论在Linux、Windows和UNIX环境下安装DB2的过程。虽然在这些平台上的DB2安装过程有些差异,但在安装完成之后,这些环境下的DB2数据库管理过程是非常相似的。在DB2安装过程中,安装进程会自动检测系统上使用的通信协议是TCP/IP还是命名管道并对DB2自动进行默认配置。
21111Windows环境下的安装
本节将讨论在Windows XP工作组版环境下安装DB2的过程。
在Windows操作系统上进行DB2安装之前,需要保证执行安装过程的用户具有以下属性:
.应该被定义在本地机器上。
.定义为本地管理员组中的成员。
.需要具有ACT AS PART OF THE OPERATINGSYSTEM的高级用户权限。
.确定操作系统满足安装DB2 9的基本需求,如内存、磁盘空间等。常见的一些安装DB2 9的流行的操作系统需求请参见IBM网站www.3061ibm1com/software/data/db2/udb/sysreqs1html。
.虽然不是强制性要求,DB2在安装时会推荐用户关闭所有程序以便安装程序可以顺利地更新操作系统中的某些文件而不需要重启系统。
一般情况下,安装DB2数据库服务器和DB2补丁包应用程序的时候,需要访问Windows的系统注册表以及Windows服务,因此需要ADMINISTRATORS组的账户来完成安装过程。在DB2 9中,需要一个属于ADMINISTRATORS组的账户的限制得到了进一步的提升。属于POWER USERS或者USERS组的用户要使用Windows的提升权限功能来执行安装。为了使用该特性,需要用户拥有管理权限来提供设置,同时在提升功能使用之前,为该用户授予特殊的权限。用户可以使用Windows组策略编辑器(GPEDIT1MSC)来提升用户账号特权。这部分内容可以参考DB2 9的相关文档。
注意:自从DB2 8发布以来,DB2客户端以及DB2 Connect PE已经支持非管理员组的安装。因此这里就不需要为这些产品的安装使用提升特权的方法。在Window XP下安装DB2,先将DB2光盘插入光驱,光盘上带有的自动运行功能会自动启动安装程序。安装程序将根据操作系统的语言类型选择相应语言支持的安装程序(用户也可以忽略这个功能直接在安装程序中使用不同的语言,如图2.1)。图2.1DB2启动面板如果安装程序由于某种原因没有自动启动(或者用户想通过部署在局域网络中的软件安装程序的映像来之执行安装程序),可以在操作系统的命令窗口执行下列命令:
X:/SETUP1EXE,其中X代表光盘驱动器的盘符。
在启动面板中,用户可以查看安装先决条件、迁移信息、版本发布信息以及安装产品。单击Install a Product开始安装DB2,并打开安装DB2产品窗口(图2.2)。图2.2产品安装窗口上图中显示出可供安装的DB2产品。在这张CD.ROM上有DB2企业服务器版本(DB2企业版)、DB2 Client以及提供给Visual Studio 2005的IBM数据库add.in插件。
用户通过单击相应的Install New按钮来执行不同产品的安装,紧接着弹出相应的欢迎窗口,单击Next继续安装(图2.3)。
提供给Visual Studio 2005的IBM数据库add.in插件将在本地Visual Studio 2005下安装一些DB2功能组件,以促进在1NET环境中的应用程序的快速开发。注意:如果DB2企业服务器版安装过程中检测到本机已装有Visual Studio 2005版本,安装程序将会推荐用户安装该plug.in插件。如果用户想为已安装有DB2服务器或客户端版本机器中增加1NET组件的支持,那么可以点击相应的Install按钮进行安装。接受许可证条款后点击Next继续(图2.4)。
接受安装DB2产品所规定的条款之后,用户可以在图2.5中选择所执行安装程序的类型。图2.3DB2企业服务器版欢迎窗口图2.4DB2许可证协议窗口DB2 9提供了以下三种安装类型供用户在安装过程中方便地控制所要安装的部件。它们分别是:
.典型安装
典型安装方式安装最基本的数据服务器功能、数据库管理工具以及绝大多数的产品功能。典型安装也可以创建和配置默认的DB2实例(该实例名为DB2)。这种类型安装大约需要350MB~560MB的磁盘空间。
.压缩安装
压缩安装方式仅仅安装最基本的数据服务器功能以及有限的工具。使用这种安装方式,在安装过程中只执行很少数量的配置程序。不推荐新手在第一次安装DB2的时候使用这个安装选项。该类型安装根据系统平台的不同大约需要260MB~400MB的磁盘空间。图2.5选择安装类型.定制安装
定制安装方式给用户提供了在安装过程中*选择安装组件的方式。在默认状态下,定制安装和典型安装实际是相同的,除非用户进一步通过增加或者移除那些不属于典型安装方式下的默认组件来定制安装组件。正因为如此,这种方式下所需要的磁盘空间会根据用户选择的组件不同而相差非常大。定制安装方式下需要的最小磁盘空间大约为260MB,最大约为600MB。
用户可以在定制安装方式下选择的组件和功能如图2.6所示。图2.6安装组件和功能图2.6中展示了典型安装方式下所有的默认组件和功能。这些默认的服务选项作为用户选择定制安装的初始选择。比如,DB2企业版中的卫星同步功能是不包含在典型安装方式下的组件,并且在定制安装的默认方式下用X来表示当前的安装方式下该组件没有被选中。注意:DB2安装过程中安装组件的选择只能在用户选择自定义安装方式下才会出现。实际上这个定制安装组件的选项窗口是在安装过程中的图2.7出现之后才会显示出来,之所以在这里讲述就是为了用户能方便地查看到在典型安装方式下默认安装的组件。在这里推荐用户选择典型安装方式,选择安装类型后点击Next继续。本章其余部分的内容将假定用户采用典型安装的方式进行安装,如图2.7所示。
图2.7选择安装操作响应文件生成器工具(DB2RSPGN,DB2 Response File Generator)是在安装过程中产生的(图2.7),用户也可以在DB2安装程序之外访问这个文件。用户可以在这个界面中选择创建包含在安装过程相应选择信息的响应文件(包括用户在定制安装方式下包括或排除或两者兼而有之的组件信息)。在安装程序后台,DB2使用DB2RSPGN工具来创建响应文件。如果用户在一个已经安装好的DB2数据服务器中运行DB2RSPGN工具,该工具创建的响应文件不但可以安装在同一个DB2数据服务器上,还可以模拟DB2注册信息、数据库管理配置设置、数据库设置、数据库连接等信息。
DB2RSPGN工具对于所有的DB2数据服务器以及客户端安装来说都是一个创建安装脚本的非常好的方法(不论是本章节中讲述的用在现有的安装还是作为新的服务器安装的一部分)。它可以作为很多有经验的数据库管理员经常使用的工具包中的一部分。
沿用本章中的这个例子,选择Install DB2 Enterprise Server Edition on thiscomputer and save my settings in a response File的选项按钮,并输入响应文件存放路径,点击Next继续,接着打开安装路径选择对话框(图2.8)。
在上图中,在Directory输入框中输入DB2的安装目录,点击NEXT进入下一窗口。或者点击Change改变DB2的默认安装目录(DB2的默认安装目录是C:/Program Files/IBM/SQLLIB),点击Disk Space检查在目标驱动器中安装DB2所需磁盘空间。图2.8选择安装文件夹设置好安装目录后,紧接着需要对DB2管理服务器(DAS,DB2Administration Server)进行相应的配置(图2.9)。DAS是用于协助用户对数据库服务器进行管理任务的管理控制点。用户使用配置助手、控制中心等DB29的管理功能的前提是必须要运行DAS。一般情况下,DAS可以协助控制中心和配置助手进行以下管理任务:图2.9为DB2管理服务器设置用户信息.允许对DB2数据库实例进行远程管理
.提供作业管理功能,以及对包含DB2数据库管理和操作系统命令的脚本进行调度的能力。
.使用任务中心为位于本地和远程主机上的作业定义相应的作业调度、查看已完成作业的结果以及执行其他的管理任务。
.提供为DB2数据服务器内置的Discovery功能搜集DB2实例、数据库以及其他的DB2数据服务器的相关配置信息。这些信息将被控制中心和配置助手工具所使用,用以简化和自动完成DB2数据库客户端连接的配置工作。
DB2安装程序允许用户指定一个已经存在的用户来使用DAS服务,也可以创建一个新的账户。在创建新账户的时候,必须以一个具有管理域用户组和域用户权限的用户登录域。
推荐使用在本机上属于ADMINISTRATORS组的用户账号(只要选择其中一个即可)。此外,DB2还将配置一些其他的服务,此时最佳做法就是选中Use the same username and password for the remaining DB2 services选项来将这些服务指定为上面提到的那个账户来操作,点击Next继续安装(图2.10)。注意:如果用户在安装过程中选择不对DAS进行配置或者执行压缩类型的安装方式,可以在以后使用DASCRT-u<das_user_account>命令来创建DAS。不管怎么样,使用DB2安装程序来做这些事情往往是事半功倍的。图2.10配置默认的DB2实例在典型安装方式下,安装程序会创建一个默认的DB2实例。该实例一旦被创建,安装程序会自动图2.11DB2实例启动配置选项检测安装配置在主机上的通信协议,用户也可以自己选择要使用的通信协议。同时,DB2会为每个检测到的通信协议的相应参数生成默认值。用户也可以忽略这些选项通过点击Configure来生成这些参数值。
需要指出的是,DB2安装程序会根据用户系统上安装的通信协议来安装和配置DB2实例。如果安装程序没有检测到任何一个协议,Do not configure atthis time单选框将被高亮显示(图2.11)。
DB2安装程序将会为TCP/IP服务名和端口号参数生成默认值,这两个参数的值在所安装的主机上必须是惟一的。指定的TCP/IP端口号被用作来监听来自于DB2客户端的请求。因此推荐使用安装程序生成的默认值,否则它们有可能与系统上的其他服务冲突的可能。用户也可以使用默认的DB2实例的startup特性来设置该实例是在操作系统启动时自动激活,还是需要手工通过db2start命令来激活(也可以通过在Windows任务栏上的快捷访问图标来激活)。
推荐用户使用默认选项并点击Next继续。
DB2任务中心以及调度服务都需要使用数据库来存储元数据(包含调度过的计划、存储后的计划等)。元数据存储在被称做是DB2工具目录的表中。为了更好的使用DB2管理工具丰富的功能,强烈推荐通过创建DB2工具目录来进行调度(图2.12)。图2.12准备DB2工具目录虽然在同一系统上可能存在多个DB2工具目录,但是在任何一个特定的时刻使用DB2调度程序时只能有一个DB2工具目录被激活。
在安装过程中选择Prepare the DB2 tools catalog选项创建DB2工具目录,点击Next继续。用户可以选择一个已存在的数据库或指定一个新的数据库来存放DB2工具目录的数据。(这个新的数据库将在随后安装程序中创建,用户在这里也可以指定所要创建的数据库的模式名称)。
DB2管理服务器能够存储一个联系人列表。这样DB2管理服务器就可以在特定事件发生时通过Email或传呼机通知数据库管理员,如默认的健康指示器数值被超过时。联系人列表可以本地存储在每台服务器上,也可以作为一个全局联系人列表存储在某台特定的由DB2管理服务器维护的服务器上。
用户可以使用设置通知信息窗口来配置该联系人列表,如图2.13所示。
选择Set up your DB2 server to send notifications选项来指定需要设置的SMTP服务器以便给管理联系人发送Email或者提示信息(稍后将会介绍),并在Notification SMTP server输入框中输入SMTP服务器TCP/IP主机名。
建议选择Local.Create a contact list on this computer来将管理联系人列表存储在本地系统上。该列表将会被驻留在该系统上的全部实例所使用。如同前面提到的那样,这个列表也可以被其他服务器使用。要对远程通知列表进行配置,选择Remote.Use an existing contact list on another DB2 server并且在Remote DB2 server选项中输入远程服务器的主机名,并点击Next继续。图2.13为DB2服务器设置通知信息接下来,指定健康监控器通知的联系人信息窗口就会弹出(图2.14)。如果用户无法确定在本窗口内所需的信息,则可以通过点击取消Set upyour DB2 server to send notifications选项框来跳过这一配置步骤(图2.13)。如果想在安装后设置相应的通知信息,请参阅《DB2 Command Reference》一书中关于UPDATE ADMINCONFIG命令的详细介绍。图2.14指定DB2健康监控器通知的联系人信息在上图中用户可以为DB2健康中心所搜集到的警告信息配置联系人信息,点击Next继续。如果用户不确定在此窗口中所需要配置的信息,可以通过选中Defer this task until after the installation is complete选项跳过这一步骤。要了解在安装过后启动消息通知操作方法,参见《DB2 Command Reference》一书中关于UPDATE ADMINCONFIG命令的详细介绍或者使用健康中心的联系人列表功能,该功能在Tools菜单项下。
接下来,在图2.15中将显示DB2对象操作系统安全窗口。图2.15指定联系人信息为了使用户所安装的DB2环境尽可能的安全可靠,需要在系统主机的文件系统级别上指定特定的用户组来访问DB2对象,如文件、文件夹、注册表键值以及其他一些对象。
激活操作系统安全特性有助于保护用户的DB2对象不会被非授权的用户组进行必要的文件级别的访问。
同时,用户也可以指定是否需要仅限于在DB2管理员组和DB2普通用户组中才能访问DB2对象。DB2管理员组拥有本机上所有DB2对象完全访问权限,而DB2普通用户组则只能通过Windows操作系统来读取和执行DB2对象。
选择Enable operating system security选项来激活该安全特性。接受DB2管理员组和DB2普通用户组的默认值,当然,如果有必要的话,用户也可以自行设置该信息。为了获取更好的安全性,DB2 administrators group和DB2 users group的值最好不要完全一致,接下来点击Next继续下一窗口。
接下来,文件复制开始以及创建相应文件的窗口将会显示出来(图2.16),该窗口通常包含了接下来安装程序所做内容的汇总信息。
在上图中,DB2 9企业版将会在用户点击Finish按钮之后开始安装。如果用户是在Windows平台的服务器上安装DB2 9企业版,那么在图2.17的窗口中将会增加安装IBM Add.ins for Visual Studio2005的附带选项。选中对应的选项后,在点击Finish之后,IBMAdd.ins for Visual Studio 2005安装程序将会首先被执行。
第一步是在DB2数据库服务器(图2.18)安装结束之后自动开始的一个配置工具,同时也可以在安装完毕之后在DB2程序菜单中的Set.up Tools菜单组中运行该工具。
用户可以通过该工具来完成以下任务:
.创建Sample样本数据库。
.创建用户自己需要的数据库。
.配置对远程数据库的访问。图2.16安装选项汇总图2.17安装完成.连接数据库或远程服务器。
.获取在不同开发工具环境下创建应用程序的帮助信息,如IBM Rational开发工具、Microsoft Visual Studio 1NET、Eclipse以及DB2 Developer Workbench等。
.执行基本的数据库管理任务。
.从海量资源中搜索DB2信息。
.检测更新以及选择安装。
推荐用户在此时查看每一个安装选项。为了配合本书,用户在这里请选择First Steps主窗口左面列表框中的Database Creation选项并点击创建样本数据库按钮来创建样本数据库(图2.19)。图2.18对于DB2新手来讲FirstSteps是一个很不错的工具图2.19使用FirstSteps工具创建样本数据库在DB2 9中,可以*选择使用或者不使用XML数据来创建样本数据库。如果用户需要跟随本书中的例子进行学习的话,在接下来的窗口中就要确定选中create the SAMPLE database with the XML data选项(图2.20)。图2.20使用FirstSteps工具创建XML数据格式的样本数据库在默认情况下,样例数据库在创建时所使用的是Unicode(UTF.8)代码页,可以满足所有的pureXML需求。
21112Linux和UNIX环境下的安装
以图形方式驱动的DB2 9安装程序同样也可以在Linux和UNIX平台上运行。同时在Linux和UNIX系统平台下也支持使用响应文件来进行分布式安装(关于响应文件的内容将在本章中稍后的部分讲述)。在该系统平台下DB2安装程序的初始化过程生成的响应文件所存储的数值和参数实际上与上节提到的在Windows平台上生成的响应文件的内容是一样的。
对于DB2 版本9,数据服务器的安装不再是传统的操作系统的程序包,因此用户不必像以前一样去使用操作系统命令来安装DB2数据库服务器。比如AIX环境下用户不再使用installp命令来安装DB2产品了。
Linux和UNIX环境下的DB2安装程序,管理员在安装的时候可以从以下几个方法中选择一种进行安装:
.db2setupDB2产品安装时推荐的安装方法,它在使用的时候有些类似Windows平台下的图形驱动安装程序,可以对即将安装的DB2实例自动检测和配置通信协议,而其他的安装方式则需要用户手工配置系统参数。在Linux和UNIX环境下使用db2setup,需要设置Xserver来显示GUI。(该工具可以在www1freedesktop1org/wiki/Software/Xserver 或其他相关网址下载)
.db2_install安装脚本该工具用于Linux和UNIX系统平台下系统管理员进行手工安装DB2。在使用该工具进行安装时不会创建任何用户或者用户组、实例及其配置。该安装方式非常适合于在安装过程中需要更好的控制安装过程或者用户对DB2安装程序相当熟悉的情况下。
.db2_install安装脚本将会按照用户需要安装DB2产品,在默认环境下是英语语言支持。如果用户需要安装过程中的其他语言支持,可以在安装命令后加-L的参数。此外,使用db2_install安装脚本并不会给用户像在db2setup安装程序下使用自定义安装方式那样*的选择或取消选择安装组件的能力。实际上,使用db2_install安装脚本的结果实际上是在做取舍选择:在安装过程中用更多的组件控制和自动配置过程来换取在用户指定的语言支持下用db2_install安装所有组件情况下的较少的组件控制。相比之下,db2setup安装程序可以使用户在选择自定义安装方式进行安装的过程中拥有更多地控制权。
.响应文件安装响应文件是一个包含了安装选项和配置的ASCII码文件。该文件可以被传送给db2setup程序,然后安装程序会按照文件中所设定的值进行安装。该安装类型在本章后面会做专门介绍。
.此外还有一种提供给用户在操作系统环境下去执行手工安装的工具。用户可以通过安装相应的有效内容文件(payload files)来执行手工安装。DB2 有效内容文件是压缩文件,该文件包含可安装组件所有文件和元数据。一般情况下不推荐此安装方式,以为在此安装方式下不能自动检测和配置相应信息。注意:在安装基于Linux服务器的DB2软件之前,用户应确保自己的Linux发行版本满足DB2数据服务器的Linux的验证标准,有关支持Linux分发产品的最新信息,请使用浏览器访问以下网址:www-3061ibm1com/software/data/db2/linux/validate/。到目前为止,本章详细介绍了在Windows系统中安装DB2 9数据服务器的过程。为了内容完整起见,接下来将介绍在Linux或UNIX环境下的安装过程。当然,这与在Windows下的安装介绍的详细程度不能相提并论。
在Linux或UNIX下开始DB2安装程序之前,用户首先要确认系统是否满足以下要求:
.确定所选择的系统满足DB2文档或相应的README文件中所列出的内存或磁盘空间的要求。
.必须拥有root用户权限来执行DB2的安装。
.必须有一个支持图形用户界面的X windows软件来执行db2setup工具的运行。X windows服务器必须运行起来并确保用户已经正确设置了显示模式。比如export DISPLAY=912611631144:0。
要运行db2setup来安装DB2 9,需要以下几个步骤:
.作为root用户登录到操作系统。
.安装CD.ROM文件系统,通过输入cd /cdrom/disk1命令切换至存储 DB2 数据库产品CD 的安装目录,其中 cdrom 表示DB2 数据库产品 CD 的安装点。
如果用户拥有 DB2 数据库产品映像,那么在安装之前必须解压缩产品文件。常用的解压缩软件是GZIP,下面就是一个解压缩产品文件的例子:在此之后需要解压产品文件,一般使用tar命令来完成,如:.输入1/db2setup 命令来启动DB2安装程序,接下来的步骤与在Windows环境下大体相同。
安装结束以后,默认情况下,DB2 数据库产品将安装在下面的其中一个目录中:
AIX、HP.UX 和Solaris /opt/IBM/db2/V911
Linux/opt/ibm/db2/V911
当然,用户可以指定自己的 DB2 数据库产品安装路径。
21113多副本的安装
DB2 9还可以允许用户在同一台服务器上安装和运行多个DB2副本。该功能可以在Linux和UNIX环境下以某种形式运行(同时支持多个版本的DB2数据服务器以及FixPacks修补程序维护),但是不支持Windows版本下DB2的安装。另外,使用替代的补丁包并不总是代表该产品的意图。在DB2 9中,这一切的改变连同用户可以安装的多个版本和产品级别的代码一起,使它们共存,并列在任意的平台之上。
这种多版本支持以及DB2数据服务器维护级别的能力为管理员提供了以下便利:
.具有为不同业务功能运行独立的DB2产品副本的能力。例如,某种业务可能需要立即使用某些新功能,同时其他的业务并不需要这么做。因为这么做可能会带有一定的风险,这些风险主要表现在转换使用新的代码时通常要经过一段漫长的质量保证过程以及产品宕机的风险。
.在将生产数据库移至更新版本的 DB2 产品之前,能够在同一台计算机上测试。
.可以支持不同类型的应用程序包,如ERP(Enterprise Resource Planning)、SCM(Supply Chain Management)和PLM(Planning and Logistics Management)产品等等。举例来讲,用户可以把SAPTM产品运行在DB2的某一级别上,而把SiebelTM产品运行在另一级别上。
.用户甚至可以把DB2 8的副本与9同时并存,但在这种情况下,用户应该注意一些事项。比如它们之间无法共享1NetProvider、每个副本都必须具有惟一的实例名等等。关于这些内容请参考DB2相关文档。
这里所指的DB2副本是用于在某指定地点的同一台服务器上的一个或多个DB2安装产品。当用户服务器上存在一个以上的DB2副本的时候,用户必须在执行维护时或者执行日常的连接管理等作业时去指定对应的副本来进行管理。
现在,还是回到DB2安装程序界面上。假设需要在一台已经安装了DB29的机器上运行安装程序时,安装界面比较类似于图2.21展示的那样。
在图2.21中可以看到,用户可以选择work with theexisting也可以通过Install New来安装另一个DB2副本。
在安装了第二个DB2副本之后,可以看到该副本的名称以及它的相关链接(如开始菜单中的菜单项)。每个链接都对应着一些工具和实用程序,这些工具都与自己默认的DB2副本相对应。
如图2.22所示,当用户从DB2COPY2文件夹中启动CLP会话的时候,将会激活该副本下的对应窗口。此外还可以看到DB2COPY1这个数据服务器已经存在了一个样本数据库(在本章节前些部分已经创建了该数据库),而DB2COPY2还没有该样本数据库,此时就可以通过db2sampl命令来创建该样本数据库。图2.21在单一服务器上多个DB2 9副本的安装图2.22使用对应的开始菜单项来控制相应DB2副本请注意图2.22中每个安装了多个DB2副本的服务器只能有一个默认的DB2副本。在Windows系统环境下,用户可以使用DB2SWTCH命令来为服务器指定默认的DB2副本。但该命令执行的时候,DB2副本选择向导界面将会被激活(该向导可以从IBM DB2的开始菜单项中找到),如图2.23。图2.23改变默认DB2副本DB2SWTCH命令有两个参数可以用来作为激活此向导的选择项目。使用-l参数用于列出当前服务器上所有的DB2副本信息,而使用参数-d用于设置当前服务器的默认DB2副本。下面的命令清单则揭示了如何在Windows环境下切换默认DB2副本的方法。在UNIX和Linux的系统环境下,可以通过db2ls 命令列出安装在系统上的 DB2 产品和功能部件。
如果在用户的同一个服务器上运行着多个DB2的副本,那么需要注意的是DAS在此种情况下是如何进行工作的。DAS是 DB2 中的一个独特组件,它仅限于使一个版本处于活动状态,而无所谓在同一台计算机上安装了多少个 DB2 副本。这也意味着在任何时候用户只能使用DAS来管理一个当前运行的DB2副本。这时候就需要使用DASUPDT命令来完成在DB2副本之间切换DAS。注意:如果需要在一个已经安装了DB2版本8的服务器上安装DB2版本9,需要注意要将DAS迁移到版本9的格式。这是因为:DAS在版本9上可以管理版本8和版本9的实例,而版本8的DAS则只能管理版本8的实例。迁移DAS可以使用DASMIGR命令。21114响应文件安装
响应文件安装是一种可以使批量安装多个DB2产品副本变得更加简单的一种安装方法。如果用户计划通过网络来安装DB2产品的话,基于网络的响应文件安装可以达到非常显著的效果。通常情况下,可以使用这种安装手段来完成连接到DB2服务器上的DB2客户端的安装。
在开始DB2产品安装之前,首先要创建一个称为响应文件的ASCII文件。该文件可以用来定制安装和配置数据,进而可以使安装程序自动进行。通常状况下,这种安装和配置数据需要在交互式安装模式下要进行一些信息的输入,而通过响应文件,整个安装过程都可以在没有任何外界干预的情况下自动完成。
响应文件包含了在DB2安装过程中所需要的各种信息,如安装路径、要安装的产品和组件信息等。此外,通过响应文件,还可以对以下参数进行设置:
.全局DB2注册表变量
.实例变量
.实例数据库管理器配置参数
用户可以通过响应文件在网络中的每一个工作站系统上安装具有完全相同配置的DB2产品。比如,可以定制安装预先配置好数据库连接信息的DB2客户端的响应文件。紧接着就可以将此文件分发到要安装此产品的每一个工作站系统上。
用户可以选择以下方法来创建响应文件:
.修改产品光盘中提供的响应文件的样本。
.使用Windows环境下的响应文件生成器(DB2RSPGN)。
.使用本章前面提到DB2安装向导程序。
样本响应文件
DB2光盘中包含了一个带有默认选项的样本响应文件可供用户随时使用。该样本响应文件存放在db2/platform/samples目录下。切记在选择目录的时候要选择与操作系统和处理器架构相对应的目录。
用户可以将样本响应文件复制到硬盘上并根据自己的需要更改相应参数。响应文件中的参数的详细说明请参见《Installationand Configuration Supplement》。
下列样本响应文件是存放在DB2 Enterprise 9 for Windows的安装光盘中的,对于每一个产品和平台所包含的样本响应文件都不尽相同。
.db2ese1rsp——DB2企业服务器版的响应文件。
.db2vsai1rsp——用于IBM add.ins for Visual Studio2005的响应文件。
.db2client1rsp——DB2客户端的响应文件。
.db2un1rsp——用于从系统中卸载DB2的响应文件。
.db2fixpk1rsp——用于补丁包安装的响应文件。注意:DB2 9企业版还提供了额外的两种相应文件专门用于DB2的数据库分区功能(DPF,DatabasePartitioning Feature)。其中,db2eseio1rsp用于在DPF环境中实例自身的节点,而db2esenn1rsp用于新的节点。这些响应文件只能应用于在分区数据库环境下部署DB2的情况,这部分内容也超出了本书所讲述的内容范畴。现在让我们一同回顾下图2.7中关于生成名为DB2ESESampleResponseFile的响应文件的选项部分。当在DB2安装过程中这个选项被选中时,安装程序生成的响应文件的部分内容如图2.24所示。图2.24Windows环境下的响应文件注意:用户可能会关心使用密码来作为响应文件安装的一个组成部分的内容。使用DB2安装程序来生成响应文件的一个最好作用是帮助用户对密码部分进行加密。在图2.24中的样本响应文件中可以看到DB21PASSWORD关键字已经做了加密的处理。响应文件生成器(适用于Windows系统环境)
响应文件生成器工具可以根据已经安装并配置好了的DB2系统来创建响应文件和实例配置文件。通过响应文件生成器创建的响应文件,用户可以在其他的机器上重新建立配置完全相同的DB2系统。这个是截至目前用以重新分发用户已经事先设置和配置的DB2代码的最好的方法。
例如,用户可以安装并配置一个DB2客户端并通过网络来连接不同的数据库。一旦上述工作完成之后,用户就可以通过响应文件生成器来为每个实例创建响应文件和配置文件。
要想通过响应文件生成器来创建一个响应文件,应该执行下面这个命令:响应文件会被创建在用户用-d选项指定的路径当中。具体的文件名将依赖于系统所安装的DB2产品。例如,如果安装的是DB2企业版,那么生成的响应文件名将会是DB2ESE1RSP。
除了响应文件之外,在系统中存在的所有实例的实例配置文件也将生成在相同的目录当中(用户也可以通过-i参数来设置响应文件生成器仅仅为指定的实例生成实例配置文件)。每个实例配置文件中包含所有的DB2注册表变量、数据库管理器配置参数、节点目录以及数据库目录等信息的设置。实例配置文件的命名以<name>1ins形式出现。图2.25中展示了一个实例配置文件的样例。图2.25实例配置文件样例尽管系统中可能已经安装了多个 DB2 副本,但是,响应文件生成器将只为当前副本(即,运行 db2rspgn 实用程序的地方)生成响应文件。
如果用户计划安装和配置多个相同的DB2产品(如DB2客户端),仅仅需要在执行DB2安装的时候指定安装响应文件来完成自动安装和配置。此时,由响应文件生成器所生成的安装响应文件将会自动调用每个实例的配置文件。用户只需要确定实例配置文件的路径与安装响应文件相同就可以了。
虽然该工具不能用于Linux和UNIX环境下,但是用户仍然可以通过配置助手、控制中心或者客户端配置文件导入(DB2CFIMP)和导出程序(DB2CFEXP)来生成实例配置文件,这些方法在Windows环境下同样适用。
Linux和UNIX系统中,用户可以利用响应文件中CLIENT_IMPORT_PROFILE关键字设置在安装过程中自动调用实例配置文件。使用此方法与使用db2rspgn的不同之处在于响应文件生成器会在生成的配置文件中自动设置CLIENT_IMPORT_PROFILE关键字,而在Linux和UNIX环境下用户需要自行设置该关键字,以便能够在安装过程中调用该实例的配置文件。
使用响应文件进行分布式安装
通过使用响应文件,整个安装过程可以在没有人为因素干扰的情况下完成。用户可以通过共享光盘驱动器或者硬盘驱动器使DB2安装文件和响应文件能够被网络上其他要安装DB2系统的主机所访问。要使用响应文件进行安装,用户只需要在正常安装过程中利用DB2安装程序指定要使用的响应文件即可。例如,在Windows系统环境下,用户可以通过运行下面的命令以响应文件的方式来开始安装DB2。/U选项用于指定安装过程所需的配置信息应当从相应的响应文件中得到。/M选项表明在DB2安装程序使用进度条的显示方式(这个方法非常适合嵌入在DB2数据库服务器安装程序中的应用程序的安装,比如SAP的应用程序)。表2.1中显示了其他选项的说明。表2.1安装程序选项
参数说明/U指定相应的响应文件名称,该参数是必需的/N指定安装程序名称,在响应文件中该名称值在响应文件被忽略/L指定完全合格的日志文件名称,安装信息以及安装过程发生的错误信息记录在内,可选选项/F在安装之前强制停止所有的DB2进程,可选选项/T创建一个安装跟踪信息文件,可选选项/C确保setup1exe在开始安装之后立即退出,可选选项/P修改产品的安装路径。指定该选项之后将会忽略在响应文件中指定的安装路径,可选选项/M与-u一起使用以便在安装过程中显示进度对话框,可选选项
欲了解其他详细信息请参阅相关DB2文档。
21115使用DB2命令行处理器
我们曾在第1章中简单介绍了DB2命令行处理器(CLP),本节将讨论如何在DB2环境下使用DB2命令行处理器以及操作系统的命令行处理器,通常操作系统的命令行处理器要在DB2环境下使用都需要手工地在每条DB2命令前添加db2 的命令前缀。同时这些命令同样也可以在DB2命令编辑器中执行,命令编辑器在第1章内容中已经讲过,它是一个面向用户的图形界面命令处理器。
如果用户计划使用操作系统的命令行处理器与DB2之间进行交互使用的话(这在Windows环境下也被称为是DB2命令窗口),那么应当注意的是操作系统不会去分析用户所输入的SQL语句以及有可能把部分SQL语句错误地认成操作系统的命令去执行。不过,如果将所输入的SQL语句或者DB2命令使用双引号(“”)括起来之后就会确保操作系统不会把双引号里面的内容错误解析了。
例如,下面的命令将会返回不同的操作结果。第一条将会返回STAFF表中的所有行并且存储在文件名为20的文件当中,而另外一条将会把STAFF表中满足DEPT>20条件的所有行进行标准输出。在DB2命令行处理器中用户还可以通过在命令前面加上一个感叹号(!)作为前缀来执行操作系统命令。下面的代码所完成的就是在Windows环境下列出c:/目录下的内容:如果需要输入的命令过长,超出了操作系统所允许的限度,可以使用反斜杠(/)作为续行符。这样在DB2命令行处理器当中就可以非常方便地与下一行的命令继续在一起作为一条命令使用。例如:在操作系统命令行处理器下也支持DB2命令的续行符,不过用户必须在每条命令的开始处使用db2前缀。所有DB2命令的详细语法和解释都被归档在《DB2 Command Reference》一书当中。注意:用户可以在www1ibm1com/software/data/db2/udb/support/manualsv91html网站上下载PDF格式的DB2信息库文件,或者直接从在线信息中心publib1boulder1ibm1com/infocenter/db2luw/v9/index1jsp访问这部分信息。此外,用户还可以通过命令行处理器的DB2 ? 命令来获得DB2命令的语法和相关信息,如:
.DB2 ? command——显示某条命令的相关信息。
.DB2 ? SQLnnnn——显示某个SQLCODE的解释信息。
.DB2 ? DB2nnnn——显示某个DB2错误信息的解释信息。
查看当前命令行处理器的设置,可以执行下面这个命令:图2.26显示了命令行处理器的默认设置,这些设置既可以全局更新,也可以针对每个CLP会话更新。
可以使用DB2OPTIONS环境变量来修改这些默认设置。减号(-)后面紧跟选项字母表示使该选项在ON/OFF状态之间切换。用户可以使用?选项来获取更多帮助,比如使用DB2 ?OPTIONS命令可以显示所有的选项。
要为某些CLP更新全局选项或者使用文件输入的方法来运行命令可以使用下面这条命令:图2.26CLP选项设置DB2 CLP分为前台进程和后台进程两部分。前台进程名为db2,后台称为db2bp。后台进程用于维护与数据库的连接。如果想要释放该连接,可以使用TERMINATE命令。如果只想终止一个交互式的CLP会话,可以使用QUIT命令(该命令不会释放与数据库的连接)。
Windows环境下的DB2 CLP
Windows平台不允许DB2 CLP直接运行在操作系统命令窗口中。而在其他诸如AIX操作系统中可以允许用户使用操作系统自身的CLP并通过添加db2前缀来完成DB2命令的输入。如果要在Windows操作系统的CLP中输入DB2命令,用户可以运行DB2命令窗口进程来对CLP进行初始化以便能够识别DB2命令。DB2命令窗口的功能与Window命令提示符窗口比较类似,不过它只能用于处理DB2命令。
用户可以通过DB2安装程序组中的Command Line Tools文件组的相应命令或者在Windows CLP中通过执行db2cmd来启动DB2命令窗口(DB2 CW)。注意:为简单起见,本章中其余部分只要涉及DB2命令窗口以及Windows命令提示符窗口的部分都简称为CLP或者称为本地操作系统的CLP。DB2CLP与操作系统CLP的最大区别就是DB2 CLP不必在每个DB2命令前面添加db2的前缀。
另外,像我们在前面提到过的,DB2命令编辑器可以用于输入DB2命令。这是用于执行多条命令或语句、保存命令为脚本、命令重新调用、基本的编辑复制粘贴操作以及查看语句的解释信息等等的最常用的方法。
用户可以使用以下几种方法来运行命令编辑器,运行之后如图2.27所示:
.在操作系统CLP中输入db2ce命令。
.DB2安装程序组中的Command Line Tools文件组的相应命令。
.使用控制中心(在CLP中输入db2ccin)。图2.27DB2命令编辑器命令编辑器是一个直观的工具,只需要点击Add按钮来添加要进行维护的数据库连接,接下来的事情就水到渠成的了。推荐用户使用该工具输入命令以及学习它所提供的其他一些有用的功能。
212DB2环境
在创建和使用DB2数据库之前,用户需要对DB2的环境有一定程度的了解。DB2环境控制和管理者许多数据库和数据库相关的要素。如:
.用于访问远程数据库的协议。
.应用程序搜索数据库相关文件的路径。
.分配给数据库和应用程序使用的各种缓冲区内存的大小。
.特定情况下系统的行为。
.DB2环境可以通过DB2配置文件注册表、环境变量以及配置参数等机制来进行控制。
本节将讨论有关DB2配置文件注册表和环境变量的相关内容,而关于配置参数的详细信息将会在本书的其余章节讨论。
21211DB2配置文件注册表
DB2环境中的许多设置都可以通过存储在DB2配置文件注册表变量来进行控制。配置文件注册表的作用在于巩固DB2环境,从而创建一个使很多影响到DB2服务器以外的实例和数据库配置设置的关键性控制因素可以被集中管理的空间。配置文件中有许多注册表变量可以控制DB2接口、通信参数等信息,因而具体的注册表变量可能随着系统平台的不同而稍有差别。
使用DB2配置文件注册表可以用来改变DB2数据服务器相应的操作。比如,用户可以用它来改变锁机制以解决并发问题,或者为C/S通信指定具体的通信协议。而且通过修改配置文件注册表来调整服务器的系统环境是不需要重新启动就能直接生效的,这对一些老用户来讲无疑是一个福音。因为在老版本中,如果要用环境变量级别来修改数据库服务器配置时往往需要重启系统后才会生效。不过需要指出的是,对于那些依赖于所修改变量的一些服务,往往需要用户重启数据库或数据库实例后才会生效。
DB2配置文件注册表可以分成如下四个类别,分别是:
.DB2实例级配置文件注册表。大多数DB2环境变量都被归于此类别当中。而针对特定实例的环境变量设置也被保存在此类注册表当中。在该级别定义的变量值将覆盖在全局级配置文件注册表所定义的变量值。
.DB2全局级配置文件注册表。如果没有为特定的实例设置相应的变量,该类注册表中将会包含整个系统范围内的变量值。
.DB2实例节点级配置文件注册表。该级别包含指定给分区数据库环境中某个分区的变量设置(如果用户使用数据库的分区功能,那么就需要用该类注册表来关注系统)。该级别定义的变量值将覆盖在全局级配置文件注册表所定义的变量值。
.DB2实例配置文件注册表。此类注册表信息包含系统可识别的所有实例名称列表。用户可以通过DB2ILIST命令来查看完整的实例列表。该类注册表不能用于修改系统的具体行为,而仅仅是出于获取更多信息的目的。
在DB2配置文件注册表中可以设置的注册表值有很多,因此用户不必为了日常管理(或为了获取认证)的目的而刻意地去牢记它们。不过,用户有必要从根本上去了解这种机制是如何来影响DB2的一些具体行为。
下面给出了一些可以在DB2注册表中设置的变量的例子:
.DB2_SKIPINSERTED——该注册表变量控制对于使用游标稳定性(CS,Cursor Stability)或读稳定性(RS,Read Stability)隔离级别的游标是否可以忽略未落实插入。
.DB2_MDC_ROLLOUT——指示DB2为多维集群(MDC)表使用专门的删除算法,该算法可以尽可能少得进行日志记录从而能够非常快速地删除数据。DB2使用该算法后,对在MDC表中指定要进行删除的数据行以及它所相应的块索引的日志记录和处理会大幅减轻。
.DB2COMM——该注册表变量用于为当前 DB2 实例设置可用的通信协议监听器。如果变量未定义或设置为NULL,则启动数据库管理器时就不会启动任何协议连接监听器。
需要注意的是,一部分DB2配置文件注册表变量是与平台相关的。比如下面这些就是只能用于Windows平台的注册表变量的例子:
.DB2NTNOCACHE——DB2NTNOCACHE注册表变量指定 DB2 数据库系统是否使用 NOCACHE 选项打开数据库文件,以便避免数据服务器软件和文件系统同时作用于缓冲区的双缓冲效应情况的发生。
.DB2NTPRICLASS——设置 DB2 实例的优先级类别(Normal——默认值、Realtime和High)。用户可以将此变量与个别线程优先级(使用 DB2PRIORITIES 设置)一起使用,以确定此系统中 DB2 线程相对于其他线程的绝对优先级。
.接下来是一个只能用于AIX平台的注册表变量的例子:
.DB2_EXTENDED_IO_FEATURES——此功能包括提高内存高速缓存的命中率以及减少高优先级的I/O操作等待时间来提高整个I/O的性能。
最后这个注册表变量可以用于Windows以及AIX平台,而在Linux、Solaris和HP.UX平台下不能使用:
.DB2_LARGE_PAGE_MEM——指示应使用大页内存(large page memory)的所有适用内存区域,用户也可以为个别的内存区域指定使用大页内存。使用大页内存的目的主要是为了提高高性能计算应用程序的性能。
21212环境变量
有一些环境变量可以由用户去选择存储在DB2配置文件注册表中还是不存储(这取决于操作系统环境)这些DB2所使用的系统环境变量必须存储在本地操作系统系统变量所在的位置。下面给出了一些DB2系统环境变量的例子:
.DB2INSTANCE——指定活动的DB2实例。
.DB2PATH——指定DB2可执行文件所在的路径。
在Windows操作系统下,DB2环境变量在Windows系统环境变量中定义,用户可以通过点击在系统属性窗口中的高级选项页的环境变量按钮来进行设置。对于UNIX和Linux系统,变量被存储在db2profile(Bourne shell 或Korn shell)或db2cshrc(C shell)文件当中。这些文件通常可以与用户环境初始化文件(1profile or 1login)一起配合使用。如果需要获取各个操作系统平台上环境变量的更详细信息,请参阅《DB2 Administration Guide》。
声明注册表和环境变量
注册表信息都被存储在文件中,这些文件包含了各个变量的名称以及相应的值。但是,这些文件不能直接进行编辑或者修改。要想更改注册表变量和环境变量的值,应当使用db2set命令。任何对注册表变量所进行的更改都会动态生效,而不需要用户重新启动系统。
使用带-all选项的DB2命令可以查看系统中设置的所有配置文件注册表变量。如图2.28所示:图2.28db2set -all命令使用带-all选项的db2set命令的输出结果如图2.28所示。注意实例级的注册表变量旁边标有“[i]”,而全局级变量旁边是“[e]”。注意:在分区数据库环境中,节点变量的旁边是“[n]”。如果用户仅仅输入db2set命令而不带任何参数的话,该命令将返回所有实例级的注册表变量。下面是有关db2set命令用法的一些例子:命令说明db2set parameter=value设置当前实例的一个参数db2setparameter=value -I instance_name为特定实例设定参数值db2set parameter=value-g设置一个全局级的注册表变量db2set -lr查看能够被设置的所有配置文件注册表变量的列表db2set parameter=删除一个注册表变量的值,忽略等号右边的任何值db2setparameter -null设置注册表变量的值为NULL(注意与删除的区别),后面跟-null选项列出所有的变量名称
DB2环境变量的层次性
由于可以在多处进行变量设置,DB2使用一个层次关系来确定在哪里寻找变量的值。具体的顺序如下:
11使用db2set命令设置的环境变量(或者是在UNIX和Linux平台上使用export命令设置的环境变量)。
21在DB2分区数据库环境下的实例节点级配置文件的注册表变量(使用db2set -n <INSTANCE NAME><NODENUM>命令进行设置)。
31实例级配置文件的注册表变量(使用db2set -i命令进行设置)。
41全局级配置文件的注册表变量(使用db2set -g命令进行设置)。
虽然大多数DB2环境变量既可以在DB2配置文件注册表中设置,也可以在操作系统中设置,但还是强烈建议用户尽可能的在DB2配置文件注册表中进行设置。如果将DB2变量设置在DB2配置文件注册表以外的地方,用户将无法对这些变量进行远程管理,并且在对这些变量进行更改之后,必须重新启动系统来使更改生效。
21213DB2实例
DB2实例是一个逻辑的数据库服务器环境。DB2数据库就将创建在数据库服务器的DB2实例上面。在同一台服务器上可以同时创建出多个实例,每个实例都可以单独作为一个DB2服务器对外提供服务。例如,用户可以同时在一台机器上创建拥有相同代码路径的测试环境和产品环境(当然在DB2 9中用户还可以把这些环境通过DB2副本分隔到不同的代码级别上)。
每个实例都有一个分配给它的管理员组。该管理员组必须定义在一个被称做是数据库管理器配置文件的实例配置文件当中。如何创建用户ID和用户组依赖于具体的操作系统环境。默认情况下,DB2会使用操作系统的基本安全控制来实现认证级别。用户可以通过安全插件在DB2中使用绝大多数认证机制,不过有关这部分内容已经超出了本章节所讨论的内容范畴。
除非用户额外指定,安装程序将会创建一个默认的DB2实例,这是我们推荐使用的创建实例的方法。当然,实例也可以在安装过程结束之后根据需要被创建或删除。
实例目录存储了属于该数据库实例的所有信息。一旦创建,实例目录就不能进行更改。该目录大致包括以下信息:
.数据库管理器配置文件
.系统数据库目录
.节点目录
.节点配置文件(db2nodes1cfg)
.包含调试信息的其他文件,如DB2进程抛出的异常、寄存器转存、调用堆栈等。
Windows环境下的DB2实例
DB2 for Windows安装时创建的默认实例为DB2。在安装时,安装程序会设置一些相应的DB2环境变量。如果用户还需要创建其他的实例,可以使用DB2ICRT<name_of_instance>命令。例如,可以通过以下命令创建另外一个实例:与在UNIX环境下不同的是,Windows环境下创建时指定的实例名称不需要与某个用户ID的名称相匹配。
Windows环境下DB2实例的注意事项
在Windows环境下安装DB2时,DB2实例将作为一个服务来定义。因此,用户所定义的DB2实例必须服从Windows服务的命名规则。除了实例,DB2管理服务器(DAS)也将被定义为一个服务。用户可以在安装过程中或者通过Windows操作系统的服务控制界面将上述服务配置为自动启动。
用户可以使用Windows控制面版中的服务来查看DB2所使用的各种类型的服务,如图2.29所示:图2.29Windows平台DB2所使用的服务图2.29显示了每个实例和DB2副本所对应的多个服务。每一个实例都将使用一些服务来为该实例执行各种所支持的功能。
例如,上图中DB2.DB2COPY1.DB2.0是当前的数据库实例,DB2安全服务器服务用于为指定DB2副本执行安全服务。需要注意的是,这里只有一个DB2DAS.DB2DAS00实例,并且该管理实例是不属于任何一个DB2副本的。这在前面的内容中已经讲过,任何一台机器只能拥有一个DAS实例。
实例可以从控制面板启动,也可以通过在系统命令行处理器中输入NET START<service_name>命令来启动(NET STOP <service_name>命令用于停止实例)。DB2有一套自己的命令集并用于从DB2本身更自然地启动实例。
Linux和UNIX环境下的DB2实例
实例操作在UNIX和Linux工作站上有细微的差别,因为实例名的所有者决定了实例的名称。不过,实例的概念和用途是一致的。
如果用户执行手动安装或者在安装程序中选择不创建实例的话,就必须在实例被创建之前完成下列任务:
11为DB2实例创建支持组和用户ID 。
需要以下三个用户和用户组来管理DB2:表2.2需要的用户和用户组
需要的用户用户名样例组名样例实例拥有者db2inst1db2iadm1受隔离用户db2fenc1db2fadm1DB2管理服务器db2asdb2asgrp
其中:
.DB2实例会建立在实例拥有者的主目录中。
.受隔离用户用于在DB2数据库使用的内存空间之外来运行用户自定义函数(UDF)和存储过程。
.DB2管理服务器使用的用户ID用于在系统上运行DB2管理服务器服务。
.用于为DB2创建必需的用户组和用户ID的命令依赖于其具体的操作系统,下列命令是AIX系统下的例子:为每个组创建用户:注意:要创建用户和用户组,用户必须具有root权限。另外,在指定用户名和密码的时候一定要遵从操作系统的命名规则和DB2命名规则。详细信息请参阅《DB2 Quick Beginnings》。21使用DASCRT -u <DAS_user_name>命令创建DB2管理服务器。31使用DB2ICRT创建实例。其中:
.DB2DIR是DB2的安装目录,在AIX系统环境下是/usr/opt/db2_09_01。
.-a AuthType是该实例的认证类型,可以是SERVER(默认值)、CLIENT和 SERVER_ENCRYPT以及其他所支持的类型。该参数是可选的。
.-u FencedID代表受隔离的用户名,所有受隔离的用户自定义函数和存储过程将在该用户下运行。
.InstName是DB2实例的名称。该名称必须与实例拥有者的名称相同。该实例将会被创建在实例拥有者的主目录下。
41为该实例设置通信参数。
DB2COMM注册表变量允许用户为DB2实例设置通信协议。变量值可以是以下关键字的任意组合,多个关键字之间用逗号分隔:
.NETBIOS 提供对NETBIOS协议的支持。
.NPIPE 提供对命名管道协议的支持。
.TCPIP 提供对TCPIP协议的支持。
例如,可以输入以下命令来为DAS服务和数据库管理器启动TCPIP连接管理器:数据库管理器配置文件中有个名为SVCENAME的参数,该参数用于指定实例的主要连接端口名称。该名称在/etc/services文件中被定义。例如,如果定义在db2c_DB2服务文件中,更新数据库管理器配置文件的命令如下:在/etc/services文件中的对应项如下:51更新产品许可证信息。
参照《DB2 Command Reference》中关于db2licm命令的信息。
启动DB2实例
DB2实例被创建后,在使用之前必须先启动或者初始化该实例。启动DB2实例的过程与启动网络文件服务器的过程类似。直到该实例被启动之后,其他客户端应用程序才能够对服务器上的数据库进行访问。
启动DB2实例的命令为DB2START,执行该命令后,系统将会为该实例分配包括内存和通信支持在内的DB2资源。在前面已经提到过了,在Windows系统环境下,用户也可以通过以下Windows CLP命令来启动DB2实例:停止DB2实例
用于停止当前数据管理器实例的命令为DB2STOP,执行该命令后,在输出设备上将显示出相应信息提示该命令是否执行成功。在Windows环境下,也可以通过下面的命令来停止DB2实例:注意:用户在某些时候(如在修改了一个注册表变量值之后)需要停止或者重启数据库实例。该操作实际上就是实例的循环启用。用户想要使用一个命令来完成上述操作,就可以使用DB2STOP或DB2START命令。实例管理
本节将讨论对DB2本地实例和远程实例进行管理的方法。在DB2系统中,某些任务需要在实例级上执行,如创建数据库、更新数据库管理器配置参数等。而另外一些任务却需要先对相应的数据库进行连接,如执行SQL数据操纵语言(DML)语句、使用LOAD工具或BIND命令等。
用户可以通过DB2 CLP、操作系统CLP或控制中心的ATTACH命令对DB2实例进行本地和远程管理。例如,用户使用ATTACH命令在一台机器上的多个实例之间可以来回切换而不需要关注DB2INSTANCE当前是如何设置的。如果在不带任何参数的情况下执行ATTACH命令,系统会返回用户当前连接的节点名称。如果用户在已经连接到一个实例的情况下试图连接到另外一个实例,那么当前的实例连接将被中断。换句话说,用户一次只能连接到一个实例上。注意:可以通过GET INSTANCE命令来查看当前活动的实例,该命令会返回DB2INSTANCE环境变量的当前值。数据库连接独立于实例连接。一个单独的应用程序可以同时连接多个数据库,但是却只能连接到一个实例上。
数据库的连接方式分为隐式和显式两种。隐式数据库连接将连接到DB2DBDFT注册表变量指定的数据库上,而显式数据库连接则通过CONNECT TO <database_name>语句来建立连接。
本地实例由DB2INSTANCE变量的值来决定。要连接到另外一个实例时,用户将用到本地实例的目录服务。当连接到一个实例以后,就不能查看、更改或重置另一个实例中的数据库目录、节点目录和DCS目录。如果要进行以上这些操作,用户就必须通过设置DB2INSTANCE环境变量的值来完成实例之间的切换(本节稍后会简要介绍该部分的内容)。
本地实例管理
在DB2服务器安装完毕并且完成实例创建以后,用户可以通过以下两种方式来访问实例:
.设置DB2环境变量DB2INSTANCE的值为该实例名称,DB2PATH环境变量必须设为DB2可执行文件的地址。这种实例连接方式被称为隐式连接。
.对本地实例进行编目,并通过ATTACH命令进行连接。这种被称为显示连接。
一个实例连接的例子
这个场景中的例子假设本地用户在登录系统后不需要改变环境就能够访问位于同一个数据库服务器上的两个实例。
这两个本地实例的名称分别是DB2CERT和DB2,它们驻留在一台AIX系统的数据库服务器上。用户Tasha是该数据库服务器上的一个本地用户,他已经更改了DB2环境变量DB2INSTANCE和DB2PATH的值来允许访问DB2CERT实例。在AIX系统上,Tasha将下面一行添加到自己的配置文件当中:Tasha还需要访问位于同一台服务器上的DB2实例,为达到这个目的,它还需要使用下面这条命令将DB2实例编目为本地节点:其中,LOCAL说明是一个本地实例,MYDB2是被编目节点的本地别名,它可以是为该连接指定的任意的名称,DB2是要访问的本地实例名称。
要查看节点目录的内容,可以使用LIST NODE DIRECTORY命令,显示结果如图2.30所示:图2.30节点目录要访问名为DB2实例中的数据库,Tasha必须使用下列命令来编目数据库:其中,DB2CERT是存在于数据库服务器实例中的数据库名称,MYCERT是Tasha连接时使用的数据库别名,MYDB2是CATALOG NODE命令中Tasha赋给本地实例的本地别名。
接着Tasha使用LIST DATABASE DIRECTORY命令查看系统数据库目录的内容,显示结果如图2.31。
从上图中我们可以看到,DB2CERT数据库被编目在MYDB2节点。同样的不是直接连接到数据库上,而是用户是连接在该数据库的别名MYCERT上面了。
Alternate server hostname和Alternativeserver port number项用于客户机自动重新路由(ACR,Automatic Client Reroute)功能。ACR可以用于为发生故障的DB2服务器转移至备用服务器提供透明的故障转移功能。当该目录结构下的客户端成功地连接到MYCERT(DB2CERT的别名)数据库,此时数据库服务器配置在故障转移合作伙伴对的环境下(比如高可用性灾难恢复HADR,High Availability Disaster Recovery),在连接成功后会自动填充上述这两项。故障发生后,ACR功能将会自动重试发生故障的服务器,以确保它不是出于意外地确定主数据库宕机而实际恰好相反的这种状况。如果主数据库依旧没有任何响应,HADR将会发起将数据库的所有权转移至备用服务器的动作(当然还有更多其他工作要做,比如保持一致性等),同时客户端也将使用该信息通过ACR自动尝试连接备用服务器的数据库。图2.31数据库目录使用多个实例
在前面已经提到,用户可以使用DB2INSTANCE环境变量在不同的实例之间切换工作。因此这个环境变量可以用会话级进行设置,它为用户提供了使用CLP会话来实现实例之间进行快速切换的能力。
图2.32中显示了使用SET DB2INSTANCE以及GET INSTANCE命令在同一服务器上不同实例之间切换的情况。图2.32在多实例环境下使用DB2INSTANCE从图2.32可以看出,当前的默认实例是DB2CERT。假设该实例已经启动,并且有一个连接试图链接SAMPLE数据库。由于该数据库在实例中并不存在,因此运行此连接命令后将会返回错误信息。接着,用户使用SET DB2INSTANCE命令,此时默认的连接就会从DB2CERT实例切换到SAMPLE数据库所在的DB2实例上。此时,就可以成功地创建到SAMPLE数据库的连接,并且该会话会把DB2实例作为当前默认的实例连接。需要注意的是,一旦用户关闭了所修改的CLP会话窗口之后,操作系统的DB2INSTANCE参数设置将会重新恢复到默认实例的设置(即DB2INSTANCE=DB2CERT)。通过在这个例子中的会话级设置DB2INSTANCE=DB2,用户可以临时变换当前默认实例。
使用控制中心连接实例
除了可以使用DB2命令来连接实例之外,还可以通过控制中心进行连接实例的操作。如图 2.33所示,用户可以在控制中心选择相应的实例并通过鼠标右键单击,然后从菜单中选择Attach命令来连接对应的实例。图2.33使用控制中心连接实例21214DB2管理服务器(DAS)
DB2管理服务器(DAS)一个控制点,仅用于辅助 DB2 数据库实例上的任务。如果要使用提供的工具如控制中心、配置助手自动编目数据库的发现功能、任务中心的调度功能等等,则必须有一个正在运行的 DAS。一旦DAS被创建,DB2全局级配置文件注册表变量DB2ADMINSERVER的值就会作为DAS的名称。
DAS协助DB2工具能完成以下的管理任务:
.允许对DB2数据库实例进行远程管理。
.提供用于作业管理的工具,包括调度 DB2 数据库管理器和操作系统命令脚本运行的能力。这些命令脚本是用户定义的。
.使用任务中心来对 DAS 的远程或本地作业定义作业的调度、查看已完成作业的结果以及执行其他管理任务。
.与 DB2 Discovery 实用程序一起提供一种查找关于 DB2 实例、数据库以及其他 DB2 管理服务器配置信息的方法。配置助手和控制中心使用此信息来简化和自动执行客户机与 DB2 数据库的连接配置。
DAS 包括一个调度程序,用以运行适用任务中心定义的任务(例如,DB2 数据库和操作系统命令脚本)。任务信息如要运行的命令,与任务相关联的安排、通知和完成操作以及运行结果存储在 DB2 数据库中称为工具目录的一组表和视图中。工具目录是作为安装的一部分创建的,还可以通过 “控制中心”或通过 CLP 使用 CREATE TOOLS CATALOG 命令创建和激活。
下面列举了一些用于管理DAS服务的命令:
.DB2ADMIN START:用于启动DAS。
.DB2ADMIN STOP:用于终止DAS。
.DASICRT:在UNIX环境下创建DAS。
.DASIDROP:在UNIX环境下删除DAS。
.DB2ADMIN:CREATE 在Windows环境下创建DAS。
.DB2ADMIN:DROP在Windows环境下删除DAS。
.DB2 GET ADMIN CFG:用于显示DAS的数据库管理器配置。
.DB2 UPDATE ADMIN CFG:用于更改DAS的数据库管理器配置文件的参数(需要执行DB2ADMIN STOP和DB2ADMIN START命令之后才能生效)。
.DB2 RESET ADMIN CFG:用于将DAS的配置参数设置为默认值(需要执行DB2ADMIN STOP和DB2ADMIN START命令之后才能生效)。
213小结
在本章中,介绍了在不同系统平台下安装DB2的过程。此外还介绍了创建DB2实例的过程以及DAS在DB2系统中起到的作用。
DB2安装程序是一个可以在Linux、UNIX和Windows环境下运行的图形化安装工具。它为安装DB2产品和完成初始化时的设置和配置任务提供了简单易用的界面。
DB2安装程序还可以用来创建实例和响应文件。用户通过DB2安装程序进行DB2产品安装的时候所进行选择的结果都存储在本地系统的响应文件中。为了方便起见,DB2安装程序允许用户在不执行安装过程的情况下完成响应文件的创建。这种功能在数据库管理员没有权限时进行产品安装的情况下特别有用。在这种情况下,数据库管理员可以利用DB2安装程序生成一个响应文件,然后交给系统管理员来完成DB2产品的安装工作。
数据库实例可以看做是一个逻辑的数据库服务器环境。不同环境下创建实例的过程(包括所在Linux和UNIX环境下所需要的系统用户和用户组)的相关信息在本章节中有所体现。
DB2环境变量也是本章所讨论的内容。包括DB2INSTANCE和DB2PATH在内的大多数环境变量都可以适用于各种平台,只不过由于平台的不同,环境变量的存放位置会有所不同。
同时,本章中也介绍了关于DB2配置文件变量以及配置文件注册表内容,这些变量可以分为不同的级别,而不同级别的注册表会包含不同级别的信息,以及不同级别的变量设置对系统会产生怎么样的影响。
在本章中还介绍了如何通过DB2命令窗口或操作系统命令行处理器来执行DB2命令。DB2命令行处理器可以通过针对每个会话更改也可以通过DB2OPTIONS配置文件变量进行全局更改。
启动和停止DB2实例的实例管理操作在本章中也进行了介绍。在Windows环境下的DB2实例被集成在Windows的服务管理中,每个DB2实例都是一个Windows服务。用于启动和停止DB2实例的命令是DB2START和DB2STOP。