在UNIX 和Linux平台上如何部署IBM DB2 产品(四)

2014-11-24 17:53:59 · 作者: · 浏览: 2
序读取该文件:


  su - db2instl -c ".sqllib/db2profile;


  db2 –tvf /share/rtcl/catalog.db2"


  另外一份文件可以执行设置 DB2 所需的其他操作。例如,


  catalog tcpip node server remoteserverhostname;


  catalog databasesampleatnodeserver;


  updatedbm cfg usingjdk_path/opt/lBMJava2-141;


  服务器事项


  在服务器部署中,通常需要附加命令来创建和设置数据库、表空间、表,等等。至于客户机,创建单个 /share/ddi/createdb. db2 脚本即可简化部署脚本。


  并行服务器事项


  除了上述的服务器事项以外,在并行环境中,部署脚本必须可以按需更新 .rhosts 和 db2nodes.cfg 文件。


  使用 db2_install 部署安装


  虽然该方法绕开了响应文件创建步骤,但是它也错过了响应文件安装带来的所有方便之处。


  安装阶段相当简单:


  /share/rtcl/db2_install -p DB2.RTCL -n


  产品标识符对每一种产品来说都是唯一的:请参考产品文档,以获取更多关于 db2_install 命令的信息,或者运行 db2_install(无任何参数),以查看产品清单。


  如果需要其他语言支持,则部署脚本必须逐个安装。有关如何执行该操作的更多信息,请参见下面的“部署手动安装”一节。


  试运行阶段


  部署脚本现在还需要按需处理用户、实例和 DAS 的创建。创建用户是特定于操作系统的功能,应当参考操作系统指南。实例和 DAS 的创建将在“DB2 安装和配置补充说明”中讨论。


  有关其他安装后工作的信息,请参见上面“部署响应文件安装”一节中的相关小节。


  部署手动安装


  该方法的优势是,它是一种安装的最精确方法,同时也是一种准备和调试时间最密集型的方法。因为它还是最高级的安装,是专为了解操作系统封装格式的系统管理员提供的,所以本文将知识水平进行了假定。


  该部署脚本的第一阶段是拟定 DB2 代码本身。这是独立于系统之外的,因为 DB2 使用每一种操作系统所固有的安装工具。


   在 AIX 上,DB2 使用 installp 命令。


   在 Solaris 上,DB2 使用 pkgadd 命令。


   在 HP-UX 上,DB2 使用 swinstall 命令。


   在 Linux 上,DB2 使用 rpm 命令。


  在该情况下成功编写部署脚本的关键是:了解适用于您的操作系统的工具,了解哪一个软件包包含所需的 DB2 代码,了解安装的顺序。中级和高级 shell 脚本用户可以在安装介质的 db2/platform 目录中的 db2_install 脚本中找到该信息。


  例如,要在 Linux 上安装具有 JDBC 支持和 French 消息的精简 Run-time 客户机,请执行以下命令(为简洁起见调整命令行):


  rpm -ivh IBM_db2msen81 IBM_db2cliv81 IBM_db2msfr81 IBM_msFR81 IBM_cucs81 IBM_jdbc81 IBM_db2conv81 IBM_db2rtsg81


  rpm 的顺序与 db2_install 脚本中的顺序相同。在某些系统中,顺序是很重要的;而在其他系统中,将所有的软 包放在一行中允许安装程序按需记录它们,以实现操作系统先决条件。


  为了确定您需要安装哪一些软件包,请查看同一目录中的 ComponentList.htm 文件,以获取有关描述的完整清单。


  手动安装脚本的第二阶段是试运行阶段。有关该阶段的更多信息,请参见上面的“使用 db2_install 部署安装”一节中的相关小节。


  部署 DB2


  到目前为止,准备部署所需的所有操作都已经完成。因为前期成本原因,这些操作仅执行一次,而实际的部署可以快速地在数百或者数千台计算机上执行,而以后单独添加额外的计算机几乎不需要成本。


  您可以部署软件的软件环境有很多种。但是,不同于详细讲解如何使用具体部署软件,本文重点关注一般想法,允许您调整想法来适应部署 DB2 的软件和环境。


  部署的两种基本样式是 push(放)和 pull(拖)。


  在 push(放)部署中,集中化位置启动与每台计算机的联系。这通常适用于需要在没有用户操作的情况下设置很多计算机的集中 IT 部门。然而,为了实现该操作,必须已经在每一台需要“pushed(放到)”的机器上安装和运行自动化的服务(例如 rshd、sshd 或其他部署软件),并且这些机器必须具有可用于 IT 部门的恰当的访问权限。


  在 pull(拖)部署中,每一个安装 DB2 的位置启动自身与服务器的联系,以开始安装。通常,它是 Web 页面、电子邮件或者其他位置中的链接。这通常适用于需要安装 DB2 的计算机数量很少,或者没有提供自动化服务可用于支持 push(放)安装的情况。


  Push 安装示例


  #! /bin/sh


  dst_computers="wrkstnl wrkstn2 wrkstn3" for comp in $dst_computers; do ssh -1 root $comp "mkdir /share;


  mount -t nfs -o ro fileserver:/bigshareddisk /share;


  /share/rtcl/deployment.sh;


  umount /share; rmdir /share" >>/var/log/deploy.$comp &done


  想法是将上述代码,或者与上述代码非常类似的代码存放在 shell 脚本中,例如 db2deployment.sh,您可以用来存放 DB2 安装。


  由于大多数操作已经由部署脚本完成,所以需要 push 安装脚本完成的操作很少。


  该示例假设,在其他情况下,ssh 设置在所有工作站上,并且运行 ssh 的用户有权访问每一台工作站上的 root。


  Pull 安装示例


  #! /bin/sh (mkdir /share


  mount -t nfs -o ro fileserver:/bigshareddisk /share /share/rtcl/deployment.sh >>/share/logs/"hostname".out umount /share; rmdir /share) >>/var/log/deploy.$$


  该脚本几乎与 push 示例中的脚本一样。同样,部署脚本执行大部分的操作。由于该原因,您仅需要设置环境,以便适当的用户可以以 root 身份运行脚本。


  结束语


  将 DB2 部署到数百、甚至数千台 UNIX 或者 Linux 客户机或者服务器中,并不比部署到单台客户机或者服务器中困难。利用一些计划和测试,大规模部署 DB2 就可以是一项常规管理任务。


  商标


  AIX、DB2、DB2 Connect、DB2 Universal Database、IBM 和 MVS 是国际商业机器公司在美国及其他国家的注册商标。


  Microsoft 和 Windows 是 Microsoft Corporation 在美国及其他国家的注册商标。


  UNIX 是 Open Group 在美国及其他国家的注册商标。


  Linux 是 Linus Torvalds 在美国及其他国家的商标。


  其他公司、产品和服务名称可能是其他公司的商标或服务标志。


  Copyright International Business Machines Corporation, 2004. 保留所有权利。